来源:http://suo.im/6hkamo


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

好文让朋友知道你“在看”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. vc数据类型转换大全
  2. ContactsContract.Contacts与ContactsContract.CommonDataKinds.Phone的区别
  3. 一分钟学会Git操作流程
  4. pae扩展内存 linux,Linux内核-内存管理-PAE(物理地址扩展)
  5. 2016HUAS暑假集训训练题 F - 简单计算器
  6. 谈谈物联网产业4G转型中的隐忧与应对
  7. 如何修正Linux下面MySQL中文乱码问题
  8. 微软发布TypeScript用以改进JavaScript开发
  9. 《大话数据结构》学习笔记
  10. DirectoryEntry 对象
  11. 二重积分的复化Simpson方法
  12. win10 使用IBM-kui链接kubectl
  13. 基于docker实现人人影视CVNT虚拟化多开,基于selinum实现自动化点击程序
  14. 1.1.6 LSDB同步
  15. 网络信息安全从业者,持NISP二级或CISP证书,最高可补贴30000元
  16. 线程的一生(通俗易懂)
  17. python,你也和小猪佩奇一样社会了!
  18. linux tux_与Tux,BSD等一起庆祝国家超级英雄日
  19. 文本数据扩增时,哪些单词(不)应该被选择?
  20. matlab bwmorph spur,matlab图像处理学习笔记-数学形态与二值图像操作

热门文章

  1. 上海疯狂神途 适用于android设备,上海疯狂神途
  2. Skin++皮肤控件的使用
  3. java实现SMTP邮件服务器
  4. jQuery检测判断复选框是否被选中了的几种方法
  5. 什么是Echarts?Echarts如何使用?
  6. 基于国产飞腾、Intel X86等CPU主板设计与调试入门指导
  7. 九齐单片机 , 使用了未定义的符号“STK03”(13010) ,取正 / 符号出错
  8. 在生鲜零售业,DolphinScheduler 还能这么玩!
  9. 小米、OPPO、vivo成立互传联盟,或是合作对抗华为
  10. 2020高考河北对口计算机查分,河北省教育考试院官网2020高考查分:成绩查询入口...