编码的6项准则

回贴
回帖数 0
阅读数 342
发表时间 2024-05-17 13:10:13
📘
路婕 楼主

程序员进行编码,应当遵循以下6项准则:

KISS原则

原文,Keep It Simple, Stupid或Keep It Short and Simple,意为“保持代码简洁”。

编写代码时,要优先保证代码的简洁性。简洁的代码结构清晰,易于验证,易于维护。而要实现简洁的代码,需要程序员将简洁视为编程的指南针,尽可能将多余的、过剩的要素从代码中剔除。这些内容可能包括:
  • 为了使用新学会的技术而写出一些无谓的代码。
  • 程序员觉得将来会用到的某些功能。
  • 程序员擅自增加需求。
实际上,KISS原则不仅适用于编码,还适用于设计,适用于一切工程。

DRY原则

原文Don't Repeat Yourself,意为“不要重复”。造成代码重复有以下原因:
  • 将整个逻辑随便复制粘贴。
  • 直接将常量写入代码。
而要避免重复,程序员需要将代码抽象化。对代码的逻辑执行抽象化操作,其实就是给整个处理命名,将其函数化、模块化。

YAGNI原则

原文You Aren't Going to Need It,意为“你不会需要它”。

程序员应当只写所需最低限度的代码,不能以“可能会用到”为动机编写代码。程序员在编码时应当将“能用”这一点放到第一位,重点放在设计方案的单纯性,而不是通用性。很多时候,反而是简单方案的通用性更强。

PIE原则

原文Program Intently and Expressively,意为“编程要表达出意图”。

程序员在编码时,一定要明确表达出代码的意图。因为代码是写给人看的,而不是写给编译器看的。所以,程序员要重视代码的可读性,而不是代码的易写性。

实际上读代码的次数远比写代码的次数多。代码可能只写一次,但此后会被人多次阅读。所以,写代码的时间远没有读代码的时间长。

因此,“读代码的效率”应优先于“写代码的效率”。只要代码的可读性能够提高,就算牺牲写代码的效率也是值得的。


而且“读代码的效率”同样优先于“执行代码的效率”,因为如果代码的可读性较高,提高代码的执行效率也会变得更容易一些。


SLAP

原文Single Level of Abstraction Principle,意为“单一抽象层次原则”。

程序员在编码时,应当根据抽象级别对函数进行分割,并且将同一函数中的代码统一为同一个抽象级别。这样操作之后,代码就像优秀的图书那样:结构紧凑,各章节的分割与排版都很严谨,通读下来能获得最流畅的阅读体验。

为此,程序员需要将函数结构化。

OCP  

原文Open-Closed Principle,意为“开闭原则”。

程序员在编码时,应当确保代码的修改不相互影响,要让代码同时满足对扩展开放、对修改关闭这两个属性。前者表示代码的行为可以扩展,后者表示当对代码的行为进行扩展时,其他代码完全不会受到影响。

为此,程序员需要给代码添加接口。比如,在设计具有某项功能的模块时,如果让模块的使用者客户端直接调用模块的提供者服务器,就不满足OCP,因为在这种情况下如果想使用其他服务器,还需修改客户端。

而如果在客户端与服务器之间为模块的使用者设置“客户端接口”。这个客户端接口由服务器实现。这样一来,在添加拥有新功能的服务器时,只要该服务器上有客户端接口,客户端就可以直接调用新服务器,就不用再修改代码了。这样才满足OCP。

这正是:

编码也有六原则,优秀实践需记得。
编码之时去实践,优秀代码看得见!



——————————————

参考书目:编程的原则:改善代码质量的101个方法,作者:上田勋,译者: 支鹏浩,出版社: 人民邮电出版社
原文作者:王小双

原文链接:https://mp.weixin.qq.com/s/7OK3hMAx4fQ816OG7j2U9w



声明:本文系转载,版权属于原作者,如有疑问,请联系删除。

2024-05-20 10:14:54 路婕 最后编辑
返回顶部
丁芝
高级客户经理
17663906485
1481227768
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。