养成良好的编码习惯

工程和IT洞察:良好的编码习惯可以减少错误,节省时间,并可以帮助您成为更好的控制系统程序员。这些简单的习惯似乎增加了额外的工作,但它们实际上减少了编码和调试控制程序的总时间。

文/丹尼斯·布兰德 2014年8月27日

上个月的专栏重点介绍了跟踪错误以提高个人编程效率的习惯。跟踪错误,无论大小,都允许您关注习惯和模式,以减少或消除所有类型的错误。避免错误的成本和时间是测试过程中发现错误的十分之一。减少错误是成为更好的控制程序员的重要一步。还有一些良好的编码习惯应该遵循,以减少错误,成为一个更好的控制系统程序员。虽然这些都是简单的习惯,看起来可能会给已经很复杂的任务增加额外的工作,但它们实际上减少了编码和调试控制程序的总时间。

5个简单的编程习惯

五个简单的编程习惯是:

  • 先把你的逻辑写在注释里
  • 注释代码更改的原因
  • 使用易于阅读的字体
  • 不信代码
  • 阅读自己的代码

评论的重要性

一个好的习惯是,在开始编码之前,在每个类、模块和函数的注释中编写逻辑。假设您有一个良好的设计和布局良好的体系结构,那么第一步就是开始定义标题部分、接口定义和空主体部分。在空的主体部分中以注释的形式编写逻辑。这些成为代码中的注释。许多新程序员不理解注释代码的重要性,声称代码应该是自文档的,对读者来说是显而易见的。

有经验的程序员知道,注释是用来描述代码要做什么,而不是用来包含如何完成某件事的细节,比如遍历数组的所有元素。提供了注释,以便读者不必猜测发生了什么。没有注释的代码是程序员最糟糕的坏习惯之一,而从注释开始是最好的习惯之一。

参考意见

当更改一个模块时,包括更改和更改的原因,而不仅仅是更改了哪个元素。最好的注释包含对相关错误报告或变更请求的引用。说明更改的原因非常重要,因为在更改代码时,会引入大量的统计错误。通常,这是因为代码更改的未知或未预料到的副作用而发生的。当有人不得不回去修复修复时,重要的是要让他们知道不要撤销最初的修复。

编程风格很重要,所以要使用“对读者友好的编码风格”。在编写代码时,记住读者是很重要的,因为代码被读取的次数比被编写的次数要多得多。在审查、测试和调试期间,相同的代码段被阅读五次或更多次是很常见的。缩进和换行应该保持一致,让读者能够快速理解程序流程和决策点。使用缩进来说明决策点、if-then-else、case语句和循环。

变量名、函数名、类名和对象实例名应该很明显,并且与它们的用途相关。使用易于理解的名称,如interfaceCodeForErrors,而不是难以理解的名称或缩写,如ICFE。遵循一致的命名变量、方法和类的风格。一种常见的风格是使用“Camel Case”,其中方法和类以大写字母开头,变量以小写字母开头,标识符由多个单词组成,每个中间单词以大写字母开头。例如,interfaceCodeForErrors用于变量,GenerateInterfaceCode用于方法,ErrorCode用于类。另一种常见的风格是在名称中包含变量的类型或方法的返回类型,例如interfaceCodeForErrorString或strInterfaceCodeForError。

不要相信任何代码,即使是你自己的

一个非常有用的习惯是在编程时有点偏执,并假设所使用的每个方法或函数都可能包含错误或返回错误。简单的方法是不相信任何代码,包括您自己的代码。如果可能,检查错误返回并检查预期结果是否“合理”。这可能并不比检查字符串长度是否大于零,或者元素计数是否小于最大预期大小更复杂。如果确实检测到错误,请尝试正常失败并记录调试信息,以便跟踪错误。优雅地失败意味着如果可能的话,您将呈现错误消息,并在禁用某些功能的降级模式下操作。

最难调试的错误之一发生在函数返回错误时,但是错误的结果直到处理过程中很晚才显示出来。人们经常花费数天时间来调试这些问题,因为它们很难重现,而且症状与原因无关。

写,转换,校对

阅读你自己的代码。在编写和编译一段代码后,把它放在一边,做其他事情,然后再回来从头到尾地阅读它。如果你不能阅读和理解它,那么没有人会。此外,通过在编写代码和阅读相同的代码之间设置心理距离,您就不太可能陷入“看到您期望看到的东西”的陷阱。阅读和审查是一项艰苦的工作,这就是作者有编辑的原因,而且很容易忽略小错误,因为您知道代码应该做什么。

在提交代码之前阅读自己的代码可能是编程中最重要的最后一步。您可以检查代码是否可读,注释是否实际反映了正在执行的操作,代码是否遵循良好的一致风格,变量和方法是否具有易于阅读的名称,并且您没有跳过方法调用的错误检查。

这些良好的编码习惯将通过防止错误、减少调试和维护代码的时间以及提高代码的可读性和可理解性来帮助您成为更好的程序员。您会对结果感到高兴,您的团队成员在必须检查和更改您的代码时也会感到高兴。

- Dennis Brandl,北卡罗莱纳州卡里BR&L咨询公司总裁,网址:www.brlconsulting.com。他的公司专注于制造IT。编辑:Mark T. Hoske,内容经理,控制工程mhoske@cfemedia.com

在线额外

这个发布的版本包含比印刷/数字版本的控制工程问题更多的信息。

www.globalelove.com,搜索Brandl了解更多相关主题。

参见2014年的其他文章www.globalelove.com/archives

看到其他制造IT文章

-请参阅下面有关如何改进控制编程的相关文章。