关于前端:高质量代码的原则

39次阅读

共计 2660 个字符,预计需要花费 7 分钟才能阅读完成。

原文连贯:编程的准则:改善代码品质的 101 个办法

简略性准则

What:谋求简略

从头至尾都以最简略的逻辑编写代码,让编程初学者一眼就能看懂。在编程时咱们要器重的是部分的完整性,而不是简单的整体关联性。

Why:Bug 喜爱呈现在简单的中央

软件故障常集中在某一个区域,而这些区域都有一个独特的特点,那就是简单。编写代码时如果谋求简略易懂,代码就很难呈现问题。不过,简略易懂的代码往往给人一种不够业余的感觉。这也是经验老到的程序员喜爱写幼稚浅近的代码的起因。所以咱们要有足够的定力来抵御这种引诱。

Do:编写天然的代码

放下高超的技巧,保持用简略的逻辑编写代码。既然故障集中在代码简单的区域,那咱们只有让代码简略到让故障无处可藏即可。不要自觉地让代码复杂化、臃肿化,要保障代码简洁。

同构准则

What:力求标准

同等对待雷同的货色,保持不搞非凡。同等对待,举例来说就是同一个模块治理的数值全副采纳同一单位、私有函数的参数个数对立等。

Why:不同的货色会更显眼

雷同的货色用雷同的模式体现可能使不同的货色更加突出。不同的货色往往容易产生 bug。遵循同构准则能让咱们更容易嗅出代码的同样,从而找出问题所在。
对立的代码颇具美感,而美的货色个别更容易让人承受,因而对立的代码有较高的可读性。

Do:编写符合规范的代码

牢靠与简略是代码不可或缺的性质,在编写代码时,务必克服住本人的表现欲,以标准为先。

对称准则

What:考究模式上的对称

在思考一个解决时,也要想到与之成对的解决。比方有给标记地位 1 的解决,就要有给标记地位 0 的解决。

Why:帮忙读代码的人揣测前面的代码

具备对称性的代码可能帮忙读代码的人揣测前面的代码,进步其了解代码的速度。同时,对称性会给代码带来美感,这同样有助于别人了解代码。
此外,设计代码时将对称性纳入思考的范畴能避免咱们在思考问题时呈现脱漏。如果说代码的条件分支是故障的温床,那么对称性就是思考的框架,能无效阻止条件脱漏。

Do:编写有对称性的代码

在呈现“条件”的时候,咱们要留神它的“反条件”。每个管制条件都存在与之成对的反条件 (与批示条件相同的条件)。要留神条件与反条件的对立,保障管制条件具备统一性。
咱们还要思考到例外情况并竭力防止其产生。例外情况的特殊性会毁坏对称性,成为故障的温床。非凡状况过多意味着需要没有失去整顿。此时应从新扫视需要,尽量从代码中剔除例外情况。
命名也要考究对称性。命名时倡议应用 set/getstart/stopbegin/ endpush/pop 等成对的词语。

档次准则

What:考究档次

留神事物的主从关系、前后关系和本末关系等档次关系,整顿事物的关联性。
不同档次各司其职,同种解决不逾越多个档次,这一点十分重要。比方执行了获取资源的解决,那么开释资源的解决就要在雷同的档次进行。又比方互斥管制的标记地位 1 和置 0 的解决要在同一档次进行。

Why:层次结构有助于进步代码的可读性

有明确层次结构的代码能帮忙读代码的人形象了解代码的整体构造。读代码的人能够依据本身须要浏览下一档次的代码,把握更加具体的信息。
这样能够进步代码的可读性,帮忙程序员表白编码用意,升高 bug 产生的概率。

Do:编写有抽象层次构造的代码

在编写代码时设计各局部的形象水平,构建层次结构。保障同一个档次中的所有代码形象水平雷同。另外,高层次的代码要通过内部视角形容低层次的代码。这样做能让调用低层次代码的高层次代码更加简略易懂。

线性准则

What:解决流程尽量走直线

一个性能如果能够通过多个性能的线性联合来实现,那它的构造就会非常简单。
反过来,用条件分支控制代码、毫无章法地减少状态数等行为会让代码变得难以了解。咱们要防止做出这些行为,进步代码的可读性。

Why:直线解决可进步代码的可读性

简单的解决流程是故障的温床。故障多呈现在简单的条件语句和循环语句中。另外,goto 等让流程呈现跳跃的语句也是故障的多发地。
如果能让解决由高层次流向低层次,零打碎敲,代码的可读性就会大幅提高。与此同时,可维护性也将进步,增加性能等改进工作将变得更加容易。
一般来说,自上而下的解决流程简略明快,易于了解。咱们应避开简单重复的解决流程。

Do:尽量不在代码中应用条件分支

尽量减少条件分支的数量,编写能让代码阅读者线性地看残缺个解决流程的代码。
为此,咱们须要把一些非凡的解决拿到主解决之外。保障解决的统一性,留神解决的流程。记得时不时鸟瞰代码整体,查看代码是否存在过于简单的局部。
另外,对于通过长期保护而变得过于简单的局部,咱们能够思考对其进行重构。明确且牢靠的设计不仅对咱们本身无益,还能够给负责保护的人带来不便。

清晰准则

What:留神逻辑的清晰性

逻辑具备清晰性就代表逻辑能分明证实本身的正确性。也就是说,咱们编写的代码要让人一眼就能判断出没有问题。任何不明确的局部都要附有阐明。

Why:打消不确定性

代码免不了被人一遍又一遍地浏览,所以代码必须放弃较高的可读性。编写代码时如果谋求高可读性,咱们就不会采纳取巧的形式编写代码,编写出的代码会十分天然。代码是给人看的,也是由人来批改的,所以咱们必须以人为对象来编写代码。打消代码的不确定性是对本人的作品负责,这么做也能够为后续负责保护的人提供方便。

Do:编写逻辑清晰的代码

咱们应选用直观易懂的逻辑。会给读代码的人带来疑难的局部要么打消,要么加以正文。另外,咱们应应用任何人都能立即了解且不存在歧义的术语。要特地留神变量名等肯定不能没有意义。

平安准则

What:留神安全性

就是在编写代码时刻意将不可能的条件思考进去。比方即使某个 if 语句肯定成立,咱们也要思考 else 语句的状况;即使某个 case 语句肯定成立,咱们也要思考 default 语句的状况;即使某个变量不可能为空,咱们也要查看该变量是否为 null

Why:避免故障倒退成重大事故

硬件提供的服务必须保障平安,软件也一样。硬件方面,比方取暖器,为避免倾倒起火,取暖器个别会配有倾倒主动断电安装。同样,设计软件时也须要思考各种状况,保障软件在各种状况下都能平安地运行。这一做法在继续经营服务和避免数据损坏等方面有着踊跃的意义。

Do:编写平安的代码

抉择绝对平安的办法对具备不确定性的局部进行设计。列出所有可能的运行状况,确保软件在每种状况下都能平安运行。了解需要和性能,将各种状况正确合成到代码中,这样能无效进步软件平安运行的概率。
为此,咱们也要将不可能的条件视为考查对象,对其进行设计和编程。不过,为了统一标准,咱们在编写代码前最好规定哪些条件须要写,哪些条件不须要写。

正文完
 0