来源(Linux伊甸园)

From: http://www.linuxeden.com/html/news/20141028/156571.html

揭秘:破坏开发项目的10大糟糕编程习惯

来源:ZOL 作者:王迪

就软件开发而言,编程人员大部分从事正确的编程应用,但不可否认会出现编程错误的情况。避免常见的编程习惯,会让我们的工作更轻松、软件更安全且更易于扩展。根据帕雷托法则指出,20%的因导致80%的果。又称为80-20法则适用于每一个从事不同领域工作的人。

对于在软件开发领域的人,这个80-20法则可以概括为,大多数的问题都是由少数不良编程习惯造成的。改变这些不良编程习惯,有助于你的工作更有效率。

揭秘:破坏开发项目的10大糟糕编程习惯

从cio.com网站了解到,针对软件开发项目中总结出最要不得10大糟糕编程习惯:

1.代码中拼写错误

这个是很令人讶异的正常错误,即使并不体现在个人技术水平,但在代码中经常出现拼写错误的变量名和函数名。值得注意的是这些错误的拼写通常很难被发现。

对于这种情况,通过在一个良好的集成开发环境(IDE)上写代码,或者采用程序员专用的文本编辑器都可以显着减少拼写错误。另外,还可以选择特定的变量名和函数名,一方面容易拼写,另一方面即便写错了也能轻易发现。尽量避免使用易拼错的单词,如“receive”容易拼写成“recieve”。

2.写代码未按规定格式

缩进和格式化,可以让开发人员对代码一目了然,特别是有什么错误也能十分清晰看见,并且也方便别人理解和维护。如果你使用的是不会自动格式化代码的IDE,那么可以考虑使用代码美化软件,如Uncrustify,允许用户自定义格式要求并自动执行。

3.编写代码未模块化

在编程中养成一个函数对应一个指令的开发习惯,这样保证简短并易于理解和维护。长函数实现的可能路径太多,同时不容易测试。一个好的规范原则:一个函数最多只能占一显示屏的空间。其次,如果有10个以上的if语句或者循环语句,那么就要考虑重写代码。

4.IDE工具会造成过度依赖

对于IDE和其他一些工具可以让编程代码顺利进行,特别在一定范围内它们能提供变量和其他很多功能,输入内容的多种选择提示。但这类工具存在着一定风险,很容易误选相似的变量名。从本质上说,这类工具替代了人的一部分思维,但实际上要确定执行时这项工具是正确的。

由此,软件工具可以消除拼写错误,以及提高工作效率等,但如果不仔细的审查,同样会有写错代码的问题出现。

5.使用硬编码的密码

通常情况下,开发人员倾向于硬编码一个秘密帐户和密码,可以自由进入系统。但是并不应该这样来做,硬编码确实方便进入系统操作,但同时也方便了其他别人去访问你的源代码。主要原因在于,硬编码的代码存在巨大的安全隐患,而且还是一个很不好修复的安全隐患。

揭秘:破坏开发项目的10大糟糕编程习惯

未采取加密手段保护数据(图片来源m-style.mydns.jp)

6.未采取加密手段保护数据

对于在互联网上传输的敏感数据是需要加密的,因为在传输过程中有可能被拦截,尽管会带来一些繁琐的工作,但这是最基本的安全要求。意味着以明文形式发送数据是不被认可的,同时也排除了我们使用自己的加密方式和混淆目标的措施。写安全加密系统是很难的,通常使用经过验证的标准加密库。

7.过早优化代码

一位传奇的程序员,Donald Knuth曾经说过,“程序员将太多的时间花在了思考和担忧程序非紧要部分的进度上,这种行为反而对效率产生了负面影响,如果还同时要考虑到调试和维护的话,那么影响将更为严重。”

对于优秀的代码程序员可以让程序更快更顺畅运行,但后期调试和维护相反则会变难。提供一个好策略:清清楚楚地写好代码之后,再去找真正需要优化的地方以提高性能。

8.不能未雨绸缪

对于项目开发而言,要明确目标是什么?预计规模有多大?有多少用户,运行速度得有多快?这些问题看似和程序员没啥关系,但如果不思考这些问题,很难正确选择开发应用程序的框架以满足这些要求。

9.以为增加人来加快进度

通常所有的软件项目都会落后于预先计划。一般很多人会想到添加人手来跟上开发进度,但事实却是项目在增加“新鲜血液”之后都发生整体效率不升反降的情况。

10.错误的预估时间判断

对于项目人员来说,既然不能添加人手,那时间进度总可以提前赶出来。如果你远远落后于计划时间,那说明本身对项目的预估时间就是错的。不要盲目地坚持在既定时间内完成,还是尽早对项目时间做新的估计。

转自 http://server.zol.com.cn/486/4867302.html

时间:2014-10-28 08:52来源:ZOL 作者:王迪责任编辑:zhangkai

Link: http://www.asm32.net/article_details.aspx?id=6928