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

news/2024/11/16 11:36:02/

点击上方“方志朋”,选择“设为星标”

回复”666“获取新整理的面试文章

来源:https://urlify.cn/ZFfYva

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. 下载一个护眼宝,保护视力。

2020年02月05日

热门内容:

  • 一位后端妹纸的面试总结(美团+阿里+携程+58+贝贝+招银+华为+....)

  • 它是谁?一个比 c3p0 快200倍的数据库连接池!

  • 终于放弃了单调的swagger-ui了,选择了这款神器—knife4j

  • Java8中一个极其强悍的新特性,很多人没用过(非常实用)

  • 消灭 Java 代码的“坏味道”

  • 代码生成器:IDEA 强大的 Live Templates

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ


http://www.ppmy.cn/news/734942.html

相关文章

dos2unix install on mac_收藏!这份必备免费软件清单,让你的 Mac 更值钱 | 有用功

软件安装与集合 本文主要是配置自己安装mac黑苹果后配置的软件与踩坑&#xff0c;装备自己好的系统.主要分为两种。开发软件和办公软件 开发软件 IDE IDEA:Java强大的IDEPyCharm&#xff1a;Python IDEDataGrip: 数据库连接工具Navicat:强大的数据库管理软件&#xff0c;你懂的…

mac终端 install_收藏!这份必备免费软件清单,让你的 Mac 更值钱 | 有用功

软件安装与集合 本文主要是配置自己安装mac黑苹果后配置的软件与踩坑&#xff0c;装备自己好的系统.主要分为两种。开发软件和办公软件 开发软件 IDE IDEA:Java强大的IDEPyCharm&#xff1a;Python IDEDataGrip: 数据库连接工具Navicat:强大的数据库管理软件&#xff0c;你懂的…

各类有用的软件集合

屏蔽百度广告 护眼宝 包对比工具 everything本地搜索 安全软件火绒 设计软件sketch 同步软件 坚果云 fxtp xshell 流程图 画图工具 xmind思维导向图 灵活的画图工具 翻译各种英文to中文 markman快速标记设计图 脑图工具 实例 产品原型制作 转载于:https://www.cnblogs.com/dhs…

如何入门网络爬虫,摸索一年的心里路程

接触python一年有余&#xff0c;大部分时间都是自己在摸索&#xff0c;走了很多弯路&#xff0c;写下这篇博客以供各位参考&#xff0c;希望大家少走弯路。毕竟人生苦短&#xff0c;少犯低级错误。 首先&#xff0c;我们要了解python能帮助我们的生活吗&#xff0c;否则学它有什…

nodpad 设置护眼_最详细的保护眼睛的方法,总有一个适合你。

先丢个目录&#xff0c;不想看全文的可以挑自己适合的看。一&#xff0c;劳逸结合&#xff0c;睡眠充足 二&#xff0c;注意用眼习惯和用眼环境 三&#xff0c;保持敷眼习惯 四&#xff0e;少宅家&#xff0c;多户外 五&#xff0c;护眼操或眼部按摩 六&#xff0c;饮食调整&am…

【新版系统架构】第八章-系统质量属性与架构评估

软考-系统架构设计师知识点提炼-系统架构设计师教程&#xff08;第2版&#xff09; 第一章-绪论第二章-计算机系统基础知识&#xff08;一&#xff09;第二章-计算机系统基础知识&#xff08;二&#xff09;第三章-信息系统基础知识第四章-信息安全技术基础知识第五章-软件工程…

R:使用STARFM算法对 MODIS 和 Landsat 遥感影像进行融合,并进行高斯平滑处理

作者:CSDN @ _养乐多_ 本文将介绍使用 STARFM(Spatial and Temporal Adaptive Reflectance Fusion Model)方法对 MODIS(Moderate Resolution Imaging Spectroradiometer)和 Landsat 遥感影像进行融合,并进行高斯平滑处理的 R 语言代码,该代码和 Google Earth Engne(GE…

如何用代码强制关别人电脑

标题&#xff1a;如何用代码强制关别人电脑 链接&#xff1a;https://jingyan.baidu.com/article/e2284b2b5e17e8e2e6118d84.html