恒泰博远,专家级研发软件定制开发公司,为企业定制营销、办公、管理软件 在线咨询 :
咨询电话:010-82969001

10糟糕的编码实践,沉船软件开发项目

来源:http://www.hengtaiboyuan.com 作者:恒泰博远 时间:2014-06-28

[摘要]避免这些常见的编码习惯将使您的工作更轻松 - 和你的软件更安全和可扩展的引导

避免这些常见的编码习惯将使您的工作更轻松 - 和你的软件更安全和可扩展的引导

帕累托原则指出,80%的成果可以归因于20%的给定事件的可能原因。又称80-20法则,它的相关性,几乎每一个领域人类努力的。

在软件开发领域,该原则可以概括说,大多数问题都是由少数不良编码实践造成的。消除它们和你的工作将是非常容易和更富有成效。

这10个编码实践是最糟糕的罪魁祸首。

1,在你的代码错别字
这些都是非常常见的,他们狂揽因为他们什么都没有做与你的编程技能。即便如此,一个拼写错误的变量名或函数名可以肆虐你的代码。更重要的是,他们可能不容易被发现。

有什么解决办法?工作在一个良好的集成开发环境(IDE),甚至一个程序员特有的文本编辑器,可以显著减少拼写错误。你可以做的另一件事:刻意选择的变量和函数名,很容易拼写,因此容易被发现时,他们已经被拼错。避免词语,如接收,这就容易拼错接收而不明显。

2,未按规定缩进或格式化你的代码
缩进和格式化,否则你的代码更容易理解,一目了然,因此,辨别出错误。这也使得它更容易让其他人来维护你的代码,因为它以一致的方式呈现。

如果您使用不自动格式化你的代码的IDE,可以考虑通过代码美化如Uncrustify运行它,它会根据你设定的规则一致格式化。

3,未按规定模块化代码
这是很好的编码习惯来写函数做一件事,只有一件事情。这有助于保持简短,因此,很容易理解和维护。长功能必须通过他们许多可能的路径,使它们更难测试。

[分析:如何代码交易市场可以减少应用开发的成本]

一个好的经验法则:一个功能应该占有不超过一个屏幕更大的空间。另一个问题:如果有10个或更多的“if”语句或循环,那么它太复杂,应该被改写。

4,让你的IDE纳尔你进入一种虚假的安全意识

IDE和其他工具,提供代码完成是太棒了生产力。他们建议依据是什么在范围内,给予你已经输入变量和其他的东西。但有这种类型的工具的危险 - 你可以捡东西,因为它看起来像你所期望的不采取必要的努力,以确保它是你想要什么。从本质上讲,该工具的想着你,当你其实有责任确保该想法是正确的。

[操作方法:在代码评审使用结对编程实践]

有一个细线条来绘制,虽然。代码完成工具可以帮助消除错误,如拼写错误,提高工作效率,但他们也可以推出“代码完成”的错误,如果你不留在球上。

5,硬编码密码
这是很有诱惑力的硬编码一个秘密帐户和密码,以便您可以进入您的系统版本。你知道你不应该这样做 - 是的,这是非常方便的,但它也是任何人谁得到访问源代码,非常方便。

真正的问题是,一个硬编码的密码,最终将被更广泛地知道,你本来打算。这使得它成为一个巨大的安全隐患,更何况一个非常不方便的修复。

6,未按规定使用好的加密来保护数据
敏感数据需要,因为它在网络上传输,因为它是脆弱的,当它这样做拦截进行加密。这不只是一个好主意;这是一个监管要求,如果不规律。

这意味着以明文形式发送的数据是一个“没有没有。”它也排除了使用自己的加密或混淆方案为好。写你自己的安全加密系统是很难 - 只要看看发生了什么的WEP - 所以使用经过验证的行业标准的加密库,并正确地使用它。

7,优化代码过早
传奇程序员高德纳曾经说过,“程序员浪费大量的时间思考,也不必担心,他们的节目的非关键部分的速度,而这些尝试在效率实际上有一个强烈的负面影响时,调试和维护的考虑。”

作为聪明的你的代码可能会使其运行速度更快无穷,但它使我们更难调试和维护。一个更好的策略:写你的代码清楚,然后得到真正需要,以提高性能优化的任何部分工作。

8,否则超前思考
什么是你的项目,这多少会被预计规模,有多少用户将有怎样快必须运行它?在这些问题的答案可能并不适用 - 但如果你不能作出估计,那么你怎么能选择一个合适的框架,用于开发应用程序,将能够满足这些要求?

Twitter提供的遇到,如果你低估了未来的需求的问题,一个很好的例子。 Twitter的不得不放弃Ruby on Rails和使用Scala和其他技术重写了大部分的代码,因为Ruby代码,原先架构,根本无法扩展到跟上Twitter的快速增长的用户群。

9,添加人,以弥补失去的时间
几乎每一个软件项目落后于时间表。加人到项目得到它回到正轨听起来像是在理论上是个好主意,但它是一个常见的错误。事实上,增加新人们的一个项目几乎总是导致整体生产力下降。

10,利用已知的不良时间估计
与此同时,重要的是要避免的诱惑,想象一下,你将在后面赶上你的日程安排不增加人员到项目中。如果进度落后,这是因为你的时间估计是错误的。这意味着你需要做项目的长度的新的估计,不能一味地坚持这一点已经被证明是错误的估计。