软件开发——软技能(一、IDE)

一、IDE

    现在的Java开发基本上都离不开IDE。Java的IDE主要是Eclipse,NetBeans,IntelliJ IDEA这三类。当然,使用人数最多的是Eclipse,评价最高的是IntelliJ IDEA。关于这三类IDE的评价及用法,网上比比皆是,在此不再赘述。

     然而在LZ的观察中,成如28法则那样,绝大部分Java开发者只是用了IDE提供的极少部分功能,似乎只是一个方便”写代码“的工具,对于代码之外,项目中会用上的功能并没有深入的挖掘,几乎是视而不见。

    在使用IDE(IntelliJ IDEA)的过程中,总结了一些IDE提供的觉得非常实用的功能:

    1.代码优化提示:除了对基本代码的用法进行最佳提示外,还可以根据设置的Java语言版本,提示相应语句的最佳用法。认真处理IDE的优化意见,对代码功底是有相当大的提高的;

    2.代码提示:优秀的变量、用法提示对编码工作有相当大的帮助(IntelliJ IDEA的提示不同于Eclipse的模糊匹配,智能的提示能用上的类、方法或变量,不相关的不会提示);

    3.重构程度:重构的支持,不限于方法、变量名称的修改,还有雷同代码的可重构性提示,和方法、变量访问修饰符的改善提示,以及全项目(工作空间)的变量或方法重构等;

    4.版本集成:IDE中除了代码编辑,一个重要的作用就是对代码进行版本管理,在IDE中直接更新或提交代码,远比在资源管理器中进行代码管理来的方便。关于版本管理,会在下一节详细说明。

    5.拼写提示:目前所有的IDE(包括但不限于Java IDE)是都有对英文的拼写校验的,如果有拼写错误,一般是有下划波浪线进行提示的。然而国内开发者的英语水平参差不齐,好的固然有,水平差的肯定占大多数(LZ也是其中之一)。最常见的错误就是拼写错误,还有就是复数错误。这些错误说起来可大可小,拼写错误有可能是输入有误,但是输入错误谁都会发生,为什么在开源软件中找不到?虽然如第一节所述,不影响业务的实现,但是表现出的是代码作者的认证程度和对英语的熟练程度。还有一个就是命名,往往词不达意,(PS:这点在少量的注释中也会有,无关中英文,后面会提到这个问题。)这除了加强英语能力之外,似乎别无他法。也许有人说,一些新兴的词汇或拼音也会提示为拼写错误怎么办?这点所有关于拼写提示的功能在设计的时候就已经做好了,只要找到相应的设置界面,将不需要拼写校验的单词或词汇设置为不校验就行了。

    6.任务列表(TODO List):相信所有开发人员,在使用IDE的过程中,多多少少见到过“TODO”这个词,然而却并没有怎么关注它代表的意义和用法。据LZ的了解,TODO是一种注释标记,一般用于在项目架构,或复杂业务的实现,有很多子业务或方法调用时使用,空一格后接上该处接下来需要完成的操作或任务的描述。IDE中的TODO List提供了项目中所有的“TODO”标记,并提供后面的描述,这个功能可以让你在一开始规划好架构或实现后,在后续的开发工作中,可以非常清楚的知道完成了多少工作,还有多少工作未完成,并可以通过此列表,可以直接跳到该TODO所对应的代码处。在完成相应的任务后,将TODO关键字删除,剩下的任务说明则可以当做注释。IntelliJ IDEA中在提交代码时,还会提供一个TODO检查功能,检查要提交的代码中是否有未完成的TODO,如果有则不能提交代码。个人认为使用好IDE提供的“TODO List,对开发效率有非常大的提高,同时还会产生比较详尽的代码注释。

    7.编译/构建工具:现在的Java项目开发中,几乎很少有项目不是通过构建工具去编译的了,一方面是为了持续集成,另一方面是编译成目标程序的可配置性。能极大的提高软件开发效率。这在后面有一节专门讨论编译/构建工具的问题。

    在LZ使用IntelliJ IDEA的过程中,发现,随便打开一个开源项目的源码(JDK、Spring、MyBatis、Log4J、Jedis等等),其编辑窗口的右侧优化提示几乎没有,相反的LZ所经历的项目中的代码则几乎是从第一行到最后一行都有优化提示。这两者之间的代码质量等级高下立判。LZ因为关注到了这一点,并且事事关注细节,能做到只有少量优化提示,但离那些开源项目的代码质量等级还有很长的路要走。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值