软件开发者的最佳实践
近期在一个站点上看到一篇写关于软件开发者应该有的几项实践,感觉写的很的好。以下将列举下文章中提到的几个方面。
首先文章中提出,软件开发者须要不断的练习,什么是练习,为什么要练习,练习意味着什么?文章中给出了非常好的解读。练习是一种习惯,练习是一个过程,练习并不意味着记住,练习须要不断的实践,练习须要专心致志的付出。射击运动员须要不断的练习才干射中很多其它的分数,开车也须要不断的练习才干成为driver,写字须要不断的练习才干写出好的字,然后才有可能成为书法家。
Shooting, Driving, Writing
Best Practice 1- Keep Reading Existing Software SourceCode
大家会常常读好的开源软件的代码吗?或许会被觉得是一件非常枯燥的事情。小说家之所以成为小说家,是经过阅读成千上百优秀的小说才成为小说家,所以要写出优秀的代码也须要阅读成千上万行的代码。
Best Practice 2 - Complete your documents before next step
在开发大型的软件中,分析文档很重要,仅仅有把要分析的东西都弄清楚了,才干进行下一步的开发。在开发之前,我们须要问自己以下这几个问题:
- 1.软件的需求描写叙述在哪里?
- 2.软件设计文档在哪里?
- 3.是否对全部的如果和限制条件描写叙述清楚了?
- 4.你是否评审全然部的文档?
…
假设你对上面的问题回答都是肯定的,你能够进行下一步的操作,Coding,很多公司都有一套完整的开发流程来保证各个环节的正确实施。
Best Practice 3 - Follow the defined standards, don'tcreate it
在软件开发过程中,须要遵循已有的标准,不要随便地创造自己的风格。在这点上,很多公司有自己的编程标准,这些标准可能是业界公认的,也有可能是前面开发者经过好多年总结的比較好的实践。有一句话说的非常好,追随前人的脚印,往往能够少走一些弯路。这些标准可能包含以下的几种:
文件命名规范,函数和模块命名规范,变量命名规范,可读性及其安全性规范等。
干净、整齐一致、美丽是源码可读性和可理解很重要的特征,我们要记住一句话:Source code is your baby.
Best Practice 4 - Code should be written to be reviewed.
可读性往往是源程序好坏最直观的体现。在我们写代码的时候,我们要时刻记住自己写的代码总会有人来评审,将面临的各种缺陷,比方:不好的编码风格,没有遵循标准,函数定义和凝视不规范,可读性差,打开的文件没有关闭,分配的内存没有释放,太多的全局变量,太多的硬编码,太多反复代码等。在编码的时候要时刻记住上面的问题,当自己完毕编码时,至少自己须要检查一遍,这往往能降低90%的错误。
我很喜欢一句话:Accept criticism but don't criticize!当自己写的代码比較烂的时候,我们要接受同行评审中指出的问题,别人给自己指出来并不意味着批评,而是更好的改进自己,再后面少犯错误。事实上Review也是开发过程中一个至关重要的环节。作为一个开发人员,也须要站在測试者的角度去看待问题,这样就能够降低错误的发生。
Best Practice 5 - Testing to be followed like a religion.
每次写完代码都须要測试,无论是有经验的开发人员还是新手,每改动一处代码须要经过測试验证。我们必须做到:
- 时间再紧急对于測试也不要妥协
- 改动一行凝视得測试
- 改动一个变量名得測试。
- 假设你认为没有必要,那是很危急的。
Best Practice 6 - Keep your Code and Documents Safely.
这点主要是防止代码和文档丢失,须要我们养成每天备份文档的习惯。或许大家都认为比較繁琐,建议能够使用日期、时间、版本来备份。
Best Practice 7 - Keep your Tools & Techniques Handy
俗话说的好,工欲善其事,必先利其器。相同对于开发者来说,好的工具和技巧能提高我们的效率还能降低出错的几率。比方:
- 1.用一个好的编辑工具来编写和改动代码
- 2.用一个好的调试器来调试代码
- 3.用一个内存监视器来动态分配的内存
- 4.用WinSCP or FileZilla 来传输文件。
Best Practice 8 -Leave the ego behind, Be eager to learn.
这一点我认为也比較重要,我们常常从书本和网上获取知识,可是对于IT,没有不论什么一个人能掌握不论什么一个领域的全部的知识,每天我们将面临着各种各样的问题。为了让自己不落后须要常常去学习。
New technologies are coming everyday
或许成功的道路上没有捷径,须要百倍的努力才有可能成功。今天你付出了一点,也就离成功的道路近一点。