Perl之父Larry Wall曾在 Programming Perl 一书中提到:程序员的三个美德是懒惰、不耐烦和傲慢。
懒惰,是程序员美德的第一要素。Larry Wall所说的“懒惰”,并不是安于现状和不思进取,而是付出最少的时间或者精力来达到同样甚至更好的目标。“懒惰”的程序员会尽量使自己的代码既实用又有很好的可读性,这样可以节省后面的很多维护成本;还会尽力完善代码中的注释及文档,以免别人问自己太多问题,更擅长使用各种工具,从方方面面提升自己的效率。
本文选自《程序员的三门课:技术精进、架构修炼、管理探秘》一书,本文会向你介绍一些非常实用的工具,这些工具可以大大提升你的工作效率,全方位把你武装成一名“懒惰”的程序员。
对于开发者,尤其是Java开发者来说,使用开发工具编写代码真的可以大大提升工作效率,因为现在很多IDE都有很强大的工具,不仅提供了代码补全、错误提示、自动编译等功能,还提供了各种插件,方便和其他工具融合,能大大提升写代码的效率及代码质量。
目前市面上主要有两款Java代码开发工具:Eclipse和IntelliJIDEA,这两款开发工具之争由来已久,不过最近几年,IntelliJIDEA逐渐撼动了Eclipse的霸主地位,成为开发者的首选开发工具。在2013年的Google I/O大会上,Google推出了新的Android集成IDE“AndroidStudio”,其最大的转变就是从Eclipse切换到了IntelliJ IDEA。
笔者也经历过从Eclipes转向IntelliJ IDEA的过程,相比之下,Intellij IDEA在某些方面确实比Eclipse更加出色一些,配合Mac OS操作系统上的快捷键,真的可以在开发效率上提升一大截。
关于开发者使用的IDE,Jet Brains做过一项调查,结果显示:有59%的开发者使用IntelliJ,有30%的开发者使用Eclipse,只有不到5%的开发者使用Sublime和Vim等普通文本编辑器。
程序员在协作开发时不可避免地要使用版本控制工具对代码进行管理,版本控制工具主要用于存储和追踪被管理的文件的修改历史,是软件开发者的必备工具。
目前市面上比较成熟的版本控制工具有CVS、Visual SourceSafe、PVCS、Subversion(SVN)和Git等,SVN和Git的使用较为广泛。
无论是SVN还是Git,都提供了很好的版本控制功能,例如对代码的统一管理、冲突解决、代码权限控制、分支开发和合并等。开发者应该熟练掌握SVN和Git,比如代码拉取、代码提交、代码合并和冲突解决等,尤其要掌握一些Shell命令,这可以节省大量的时间。
虽然目前有很多开源代码及很多公司的内部代码都倾向于使用Git进行代码托管,但我们不能保证所遇到的所有代码都使用了Git。公司规模越大,使用SVN进行代码托管的可能性便越大,毕竟迁移也是需要一定成本的。