来源 | zhihu.com/question/32255673/answer/532272606

1. 规范化自己的代码,少点个人风格,多点通用规矩,并学会使用CheckStyle工具。

其实任何东西我们都希望它能够“自动化”,随着编程经验的提升,大部分编程规范你已经了然于心,但是实际操作的时候,又总是忘这忘那,我们希望一个工具来帮我们自动检测我们的程序是否是符合规范,结构良好的。

事实上,任何语言都是有自己的编程规范的,编程规范的制定,十分有利于代码的阅读和潜在Bug风险的降低,比如在Java中,有严格的命名规范:

对于类(Class)的命名,有这样的规范:

Class names should be nouns, in mixed case with the first letter of each internal word capitalized. Try to keep your class names simple and descriptive. Use whole words-avoid acronyms and abbreviations (unless the abbreviation is much more widely used than the long form, such as URL or HTML).

类的名字必须是名词,每个单词的第一个字母需大写。尽可能让你的类名称简洁又能传递清楚含义。尽量使用单词全拼,避免同义词或缩写(除非缩写使用更广泛,比如URL, HTML等)。

比如在Java中,有严格的文档规范:

/**
* Returns an Image object that can then be painted on the screen.
* The url argument must specify an absolute {@link URL}. The name
* argument is a specifier that is relative to the url argument.
* <p>
* This method always returns immediately, whether or not the
* image exists. When this applet attempts to draw the image on
* the screen, the data will be loaded. The graphics primitives
* that draw the image will incrementally paint on the screen.
*
* @param  url  an absolute URL giving the base location of the image
* @param  name the location of the image, relative to the url argument
* @return      the image at the specified URL
* @see         Image
*/
public Image getImage(URL url, String name) {try {return getImage(new URL(url, name));} catch (MalformedURLException e) {return null;}
}

文档是用HTML语言写成的,前半部分是关于当前方法或类的描述,后面需要有参数标签@param和返回标签@return,还可以加一些别的标签,比如@see,只有这样,当别人试图引用你的程序时,才能马上明白你的某段程序是用来干嘛的,参数传递,返回等一目了然,要知道,实际工作中,大量的协作就意味着代码需要高度的重用性,你必须把你的程序封装完美,并且让别人仅仅看你的文档,就知道你的这个API怎么用。

上面说的仅仅是编程规范的冰山一角了,问题是,你有时会忘掉或用错一些规范,即便你知道它。

所以我们需要使用checkstyle插件去自动检测我们的程序是否符合规范。

对于Java而言,详情请见:http://checkstyle.sourceforge.net/

Github地址:https://github.com/checkstyle/checkstyle

在各大JavaIDE中,可以直接在Eclipse Marketplace中下载:

其他的语言应该也有自己的插件,可以自行谷歌了解。

2. 宁可变量名长,也不要让变量名短得让人无法推测其含义。

3. 在电脑里安装两套输入法,编程的时候,将中文输入法彻底关掉,确保任何快捷键都不会将其转换成中文输入法,防止中文类似符号引起混淆,比如:

中文 :();English: () ;

一点点小错误,就有可能让你多花一两个小时在没有意义的事上,人生苦短,尽量避免低级错误。

4. 尽可能杜绝重复代码,凡是需要用至少两次的代码,给它单独做一个类或函数。

5. 避免类与类之间的内部调用(Cycle Reference),其实也就是降低函数模块的耦合程度。类与类之间的调用只允许通过接口,保证更改某个类的时候,其他的仍然能工作。

6. 多读别人的优秀代码,拿别人的优秀代码和自己的代码进行对比,学习别人的长处,吸收经验。

7. 尝试着做内容的生产者,尝试着写一些教程或笔记,分享给社区,不要只做社区内容的吸收者,还要不断地生产内容,回馈社区给你的帮助,比如在StackOverFlow上回答别人的问题等。

8. 既要脚踏实地,也要多看看社区发生了什么新闻,有什么新的技术和软件的发布,这些技术和软件将怎样影响你的开发工作,现在使用的IDE或Editor是否有更好的替代产品等等。

9. 没有任务的时候,也不要闲下来,去开发点你喜欢的东西,从中挑战自己,增长经验。

10. 不要过分依赖教程,要学会看官方文档。凡是能被做成教程的东西,往往已经过时了,最新的技术,最新发布的标准,往往没有现成的教程,你需要去认真阅读官方文档,那里的东西才是最权威的。

11. 不要参与语言好坏的争论,人们往往偏向于喜欢自己用得熟练,用得多的那个语言,语言好坏之争,就和争谁的女朋友漂亮一样,我当然觉得自己的女朋友(虽然是null)最漂亮,但是别人并不这么觉得。

12. 当你有什么需求的时候,往往别人也有这个需求,而且往往也有了相应的工具去解决你这个需求,比如,你想将函数的调用关系可视化,弄成树状图那样,这样的工具已经有了,比如SourceInsight(付费),Source Navigator(免费)等。

13. 少在国内的XX软件园里下载各种破解软件,盗版软件等,这些软件园为了盈利,会在你安装的过程中,悄无声息地给你安装上一堆其他的流氓软件,360首当其冲,这些垃圾软件,删的越干净越好。

14. 你的开发电脑,CPU可以差些,但内存最好大些,推荐至少要8G,甚至推荐10G往上走,你常常需要同时打开一堆浏览器页面和一个IDE甚至还有别的一堆工具,如果你做过安卓开发,AndroidStudio动辄就调用你电脑2-3G的内存,一般的4G电脑肯定是吃不消的,严重降低开发体验,但也并不是让你换电脑,内存条了解一下。

15. 保持一个健康,干净的电脑状态,硬盘里的文件存储要有调理,容易寻找指定文件,降低文件丢失概率,加快文件寻找速度。

16. C盘快满了的话,可以通过Disk Manager将别的磁盘的空间送给C盘。

17. 用NetWork NotePad画网络图表示函数调用关系(当然你可以用别的来画),像这样:

这是前两天编一个FlappyBird时草草画的图,虽然简陋,但有用。

18. 可以考虑用一个电脑架子,防止乌龟颈,保护颈椎。

19. 下载一个护眼宝,保护视力。


-END-

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「web_resource」,欢迎添加小编微信「focusoncode」,每日朋友圈更新一篇高质量技术博文(无广告)。

扫描二维码添加小编↓

1. Dubbo 爆出严重漏洞!

2. Spring Boot+Redis 分布式锁:模拟抢单

3. 安利一款 IDEA 中强大的代码生成利器

4. 如何获取靠谱的新型冠状病毒疫情

Java 编程中,有哪些好的习惯从一开始就值得坚持?相关推荐

  1. Java编程中“为了性能”需做的26件事

    下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方. 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说, ...

  2. Java编程中“为了性能”尽量要做到的一些地方 [转]

    最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了. 下面是参考网络资源总结的一些在Ja ...

  3. Java编程中“为了性能”尽量要做的26点

    最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了. 下面是参考网络资源总结的一些在Ja ...

  4. java编程里的values怎么使用,详解Java编程中super关键字的用法

    这篇文章主要介绍了Java编程中this与super关键字的用法,包括从内存结构方面分析super的作用域,需要的朋友可以参考下 通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程 ...

  5. JAVA 代码交互率低的原因分析,深入剖析Java编程中的中文问题及建议最优解决方法...

    说明:本文为作者原创,作者联系地址为: josserchai@yahoo.com .由于 Java 编程中的中文 问题是一个老生常谈的问题,在阅读了许多关于 Java 中文问题解决方法之后,结合作者的 ...

  6. Java编程中忽略这些细节,Bug肯定找上你

    摘要:在Java语言的日常编程中,也存在着容易被忽略的细节,这些细节可能会导致程序出现各种Bug. 本文分享自华为云社区<Java编程中容易忽略的细节总结丨[奔跑吧!JAVA]>,作者:j ...

  7. java程序设计专业介绍_简介Java编程中的Object类

    这篇文章主要介绍了简介Java编程中的Object类,是Java入门学习中的基础知识,需要的朋友可以参考下 Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每 ...

  8. 正确的初始化,在 Java 编程中至关重要!

    有人说,你应该关注时事.财经,甚至流行的电影.电视剧,才有可能趁着热点写出爆文:有人说,你别再写"无聊"的技术文了,因为程序员的圈子真的很小,即便是像圈中鸿祥那样的招牌大牛,文章是 ...

  9. 总结在java编程中的经验教训

    J2EE综合--总结在java编程中的经验教训 我实际工作中的经验教训,在这里与大家共享,空的字符串是"",不带空格outputStream在打印时,打印的内容后面不要加/n,否则 ...

  10. 怎样减少Java编程中bug数量?

    Java编程语言在IT行业毋庸置疑是企业中不可缺少的,现今企业招收大量Java人才,从Web应用到Android应用,这款语言已经被广泛用于开发各类应用及代码中的复杂功能. 不过在编写代码时,bug永 ...

最新文章

  1. python中根据URL获得数据库的名称及IP
  2. 数组去重是面试中经常问到的问题
  3. 数据结构与算法专题——第四题 字符串相似度
  4. php内容管理器是什么原因,有什么好的php内容管理后台吗?打算试水接单的大三狗提问...
  5. jenkins配置ssh免密码登陆
  6. 苹果获得可折叠屏专利:可用在iPhone或其他设备上
  7. java的继承关系linkedlist_LinkedList——JAVA成长之路
  8. delete kubectl pod_使用kubectl管理k8s集群(三十)
  9. 在矩池云中如何使用TensorBoard?
  10. Vue-注册全局组件的两种方法
  11. 读书笔记_Index
  12. redis整理の配置
  13. 后缀数组算法概述及习题
  14. ES3数组和字符串的方法
  15. 使用three.js创建粒子火焰效果
  16. [转]我的世界观(一)
  17. 白话空间统计二十五:空间权重矩阵外篇:功能地理学
  18. android L和android M的区别
  19. python:比较运算符(等于,小于,大于,不等于,大于等于,小于等于)的简单用法
  20. 提升项目经理的有效路径之一:学习PMP项目管理

热门文章

  1. 我的世界服务器自动跳跃,我的世界自动跳跃怎么开 | 手游网游页游攻略大全
  2. Energia烧写msp430板子报错
  3. iperf测试软件windows,windows版iperf网络性能测试工具
  4. Numpy中sum函数的使用方法(Python自带sum函数)
  5. 红黑树算法原理及实现
  6. 如何分解视频二维码?二维码如何在线转网址?
  7. 手机连接电脑win10热点,手机显示无IP分配
  8. 【ROG】关闭睡眠时键盘背光
  9. 元宇宙优化算法(Matlab代码实现)
  10. oracle 物化视图的自动刷新方法