来自 Web前端 2020-03-02 18:04 的文章
当前位置: 网上澳门金莎娱乐 > Web前端 > 正文

优秀程序员的代码经验总结

从表面上看,可读性似乎是主观的。在语言,代码库,团队之间可能有所不同。但是当你仔细观察时,所有代码中都有核心元素使它具有可读性。许多程序员离计算机太近了,如果只看代码运行,则没有其他问题。但是离人类就太远了。

三的原则

出现三次重复,就要重构了。

时间: 2019-08-13阅读: 322标签: 经验

6.命名

这个简单的过程可以让你确定代码块的上下文和抽象级别,以便正确地找出代码的任务,并将代码重构到更加易于阅读、更简单的代码块中。

几乎所有代码的基础都是逻辑。通过逻辑可以进行决策,迭代和计算。常常会有逻辑分支或循环代码,从而导致深层嵌套的代码块。虽然这对于计算机执行没有什么问题,但会阻碍阅读代码者的阅读效率:代码看起来很复杂且难以理解。

同样,尽管猜对的可能性增加了,但还是不能确定。然后我提供了数列中的第三个数字,2, 4, 16,然后问“下一个是什么?”有了三个数字之后,程序员的大脑很容易看出这是个平方序列,于是确定下一个数字是256。这就是三的原则。

3.嵌套代码

就算是用一整句话命名一个变量都没问题,继续写代码就好。我可以保证,当你完成整个功能之后,更好的名字就会浮出水面。

  1. 三规则

逻辑几乎是一切代码的基础。我们写代码是为了做决策、迭代和计算。一般情况下都会导致分支或嵌套,从而造成嵌套得很深的代码块。

7.忽视评论

最后一条实践经验能给所有代码的可读性带来诗一般的润色,那就是对称性。这条来自Kent Beck的《实现模式》一书,书中说到:

尽管目前面向对象编程时代,我们仍然沉浸在原始的痴迷中。我们使用长参数列表、数据块和自定义数组/字典结构,这些可以重构为对象,这不仅形式化了数据结构,而且提供了原始数据所伴随的所有重复逻辑的基础。这是OO的好处。

可读性

这是让我走上专注于可读性的道路,尽管我努力分享,但至少有一个人会讨厌我。你的代码别人有评论是绝对必要的,相反,如果你的代码别人没有评论可能就要重写。

必须要找出并干掉死代码。虽然不需要把精力主要放在这里,但一定要时时留意。

根据这些经验,结合我读过的书籍,我已经确定了代码中最重要的东西:可读性。

使用对象

2.死代码

命名规则

格式化可能会浪费太多精力,比如有很多标签与空格,格式虽然不是编程中的很重要部分,但是采用标准格式并让格式化能够自动化,你就可以重新专注编写代码。

我们总是选择返回最奇怪的值,特别是对于边界条件的情况。像-1、687或null。然后就得写很多代码来处理这些值。实际上,null的创造者称它为“10亿美元的错误”。

4.使用对象

不过说起来容易做起来难。对称性体现了编程的创造性。它是许多其他实践的基础:命名、结构、对象、模式等。不同语言之间、不同代码之间和不同团队之间对于对称性的定义都可能不一样。

当然,命名事情很难。有一个小技巧适用于编程:延迟命名,不要卡在命名上,只需保持不断编码。如果必须,将变量命名为句子;只需保持不断编码,我保证,当你完成功能或工作时,一个好名字将出现。

根据这些经验,再结合我读过的书,我认为编程中最重要的是:# 可读性。#

  1. 格式化

所有注释掉的代码块、未使用的变量和无法到达的的代码都是垃圾。他们就像在对读者说,“我不关心这段代码”。

代码中的对称性是指在任何地方出现相同的想法。

应该努力返回更有意义的值。理想情况下,最好是即使在反面情况下也能让调用者继续执行的值。如果真的是异常情况,那么最好用其他方式来通信,而不是使用null。

这说起来容易做起来难。对称性体现了写作的创造性。它可能因语言、代码库到代码库以及团队而异。因此,你可以花费你的自然生命来追求它。然而,一旦开始在代码中应用对称性,就会出现一个更纯粹的形式,并且代码会很快形成。

考虑一下数学上的序列。给出数字2并问你,“下一个数字是什么?”可能是3可能是4,但也可能是1或2.1。实际上你没办法知道。然后我提供了序列中的下一个数字2, 4然后问,“下一个是什么?”可能是6,8,也可能是16。

时间: 2019-11-30阅读: 148标签: 代码

死代码

  1. 对称

因此,你需要花上许多年去追求对称性。但是,一旦开始在代码中使用对称性,就会迅速呈现纯粹的形式,代码的形状也会迅速变好。

这是直接来自肯特贝克的实施模式,它简单地指出:

删除注释

网上澳门金莎娱乐,当你确定自己拥有大量代码时,就要随时识别,重新组合和重构这些代码。这个简单的过程能让你发现代码块的上下文和抽象级别,又能将代码正确地重构为更易读和更简单的块。

这是一篇值得收藏起来,隔三差五就拿来重读的文章!因为作者向你保证,他“遇到的所有糟糕的代码,都是因为没采纳这些实践经验。而任何一段优秀的代码,都采纳了至少部分实践经验。”

  1. 大块代码

许多人会认为这些太基础、无关紧要,可以忽视。但我可以向你保证,我遇到的所有糟糕的代码都是因为没采纳这些实践经验。而任何一段优秀的代码都采纳了至少部分实践经验。

所有那些没有注释的代码块,未使用的变量和无法访问的代码都是腐烂的。实际在表明:“没有人在关心这段代码”。因此,随着时间的推移,这些死代码将腐蚀你的代码库。这是经典的破窗理论。你必须寻找和销毁死代码。

这些项目从最简单的博客网站,到支持每秒3000多次请求的API,还有曾经热卖过的应用。

在过去的几个月里,我努力将这些元素提炼成10种编写代码的实践,重点是提高可读性和降低复杂性。不幸的是,许多人将这些视为过于琐碎。太基础了。但我向你保证,我遇到的每一段不好的代码都无法应用这些做法。每一点好的代码都可以找到这些实践中的一个(如果不是很多)。

我已经写了20年代码了,在此期间曾与17个团队共事过,使用不同的语言做过数百个项目。

本文由网上澳门金莎娱乐发布于Web前端,转载请注明出处:优秀程序员的代码经验总结

关键词: