14

开发者必看!KISS、DRY和需要遵守的编码原则

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzI2NjkyNDQ3Mw%3D%3D&%3Bmid=2247492457&%3Bidx=2&%3Bsn=ae93cff294835b2eb2ec1700d94bd6b8
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

EjyQZvZ.jpg!web

全文共 1500 字,预计学习时长 5 分钟

nAjeiqZ.jpg!web

来源:Pexels

开始编程时遇到的第一个挑战是编写功能代码。 但成为开发者后,编程技能也会随之增长。 你的代码应该从普通的功能代码发展为简洁、高效、可理解且可维护的代码。

这才是开发人员面临的真正挑战。

本文将会介绍助你实现超级代码状态的5个原则。

1.代码一目了然

程序的大小增加时,代码的复杂性也会随之增加。 代码也会变得很难调试,因为调试复杂的代码是一项可怕的任务。 没有人喜欢维护复杂的代码。 这个原则指出应该始终保持代码的简单性。 如果代码复杂,请努力将其分解成更小、更易维护的代码。

编写简洁的代码比编写复杂的BS代码更困难。 作为开发人员,随着技能不断成熟,你的代码就应该越干净、越有意义。

2.你并不需要它

feUbmqE.jpg!web

来源:Pexels

有时应当未雨绸缪,但不是在编程方面。 人们倾向于编写将来可能需要但现在还不需要的代码。 这些代码不必要地增加了程序的大小,因为编写的代码从来没有实现过。 更重要的是,大多数程序员将来都不会使用这些代码。 程序员的这种习惯会使代码不必要地膨胀。

这一原则规定在必要时才实施。 这是每个开发人员都应该遵循的一条建议。

3.不要重复

这一原则对于编写简单且易于修改的代码至关重要。 重复的代码是程序员常犯的错误。 这个原则指出,一段代码应该在源代码中的一个地方实现。 如果注意到同样的代码块重复出现,说明违背了这个原则。

这一概念的反义词为WET代码: 所有内容都重复一遍

可以创建一个公共函数或将代码抽象化,以避免代码中的任何重复。

4.关注点分离(SoC)

关注点分离原则: 管好自己的事——就是字面意思。 这个原则建议将复杂的代码划分为不同的部分或域。 每个部分相互独立,因此每个部分可以独立处理。 而且,维护、更新和重用代码也更加容易。

SoC一个很好的例子就是MVC架构。 该架构将程序分成三个区域: 数据(模型)、逻辑(控制器)和最终用户看到的内容(视图)。 MVC在现代框架中大量运用。

NNrEjim.png!web

图片来源: Wikimedia

5.避免过早优化

我们都希望优化自己的代码。 但是该原则指出不应该在开发的早期阶段优化算法。

此原理与YAGNI原理非常相似。 不同之处在于,YAGNI原则谈到了实现不必要函数的趋势,而该原则谈到了在必要之前加快算法速度的趋势。

过早优化的问题在于,直至出现问题之前,你永远无法真正知道程序的瓶颈在哪里。 当然可以猜测,有时猜测甚至可能是对的。 但是更常见的情况是,你会浪费宝贵的时间来尝试加速一个并不比预期慢的或者不像期望的那样经常被调用的函数。

结语

AV7bY3I.jpg!web

来源:Pexels

“编写代码的时候,永远要把维护代码的人当成一个知道你住在哪里的暴力精神病患者。 ”——马丁·戈尔丁

成为开发人员后,你会意识到项目的成功在很大程度上取决于你的团队。 上面的原则可以帮助你编写可维护的代码——不仅是你自己,将来任何人都可以维护这些代码。 毕竟,团结就是力量。

希望本文能让你有所收获。 你有没有见过糟糕的代码? 请在评论中告诉我们。

编程快乐!

UZbAzej.jpg!web

推荐阅读专题

mMby2iU.jpg!web

iYjIniQ.jpg!web

IjUZ322.jpg!web

jmyiMne.jpg!web

Nbqmy26.jpg!web

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组: 蒋馨怡、胡昕彤

相关链接:

https://medium.com/better-programming/kiss-dry-and-code-principles-every-developer-should-follow-b77d89f51d74

如转载,请后台留言,遵守转载规范

推荐文章阅读


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK