软件开发人员的最佳实践
最近在一个网站上看到一篇写关于软件开发人员应该有的几项实践,感觉写的非常的好。下面将列举下文章中提到的几个方面。
首先文章中提出,软件开发人员需要不断的练习,什么是练习,为什么要练习,练习意味着什么?文章中给出了很好的解读。练习是一种习惯,练习是一个过程,练习并不意味着记住,练习需要不断的实践,练习需要专心致志的付出。射击运动员需要不断的练习才能射中更多的分数,开车也需要不断的练习才能成为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
也许成功的道路上没有捷径,需要百倍的努力才有可能成功。今天你付出了一点,也就离成功的道路近一点。