编写“人类代码”
凯尔·辛普森 (Kyle Simpson ) 解释了编写“人类代码”的想法,这意味着编写代码时明确地表明它是为我们而不是为计算机编写的。是的,计算机会编译、链接、执行并与代码交互,但是现在有很多抽象层,我们的代码几乎无法翻译其确切意图。所以在这里“保存”一些字符或使用字体连字是没有意义的,因为它们会更快地解析。
这个“人类代码”的想法非常棒。它允许您编写尽可能清晰易懂的程序,并始终考虑我们未来的自己或将处理它的同事。
当然,您应该确保不会降低性能(Big O)和其他因素,例如编码标准,但始终牢记这是给人类的信息,而不仅仅是使某些事情起作用的代码片段。这是一个巨大的心态转变,将帮助您编写更好的代码。
使用常识
换工作的一大麻烦是了解新的代码库。有人不同意吗?我以为不是。在一大堆未注释的新旧意大利面条中游泳可能会令人伤脑筋。但几周后,这一切都开始变得有意义了。
帮自己一个忙,使用常识来了解如何将新代码安装到旧代码库中。您的新代码可以流畅、快速、优雅且易于沟通,但如果它位于错误的文件、错误的作用域或错误的块上,它仍然看起来不合适。上下文很重要;适合新代码的位置很重要。请记住,您正在为您和您的同事编写代码——将代码停在何处可能会产生很大的混乱或有见地的澄清。
代码库中的设计模式意义重大,所以不要破坏它们。顺其自然。如果您的项目在函数式编程上投入了大量资金,请不要像疯子一样四处创建类和方法;它会让你看起来很糟糕,它会让每个人都感到困惑。编写好的代码是本能与知识相遇的地方。两者都需要时间,但奖励是一种真正的艺术形式。
要问的五个问题
在您发布任何代码之前,您应该问五个问题,它们会成倍地提高您对上传的内容是好的还是只是另一个临时解决方案的认识。
在每次提交之前,尝试回答以下问题:
- 如果您对代码的一部分进行了错误的更改,您的系统会崩溃吗?
- 您的代码可以在系统的其他部分重用吗?
- 随着时间的推移,您的代码是否可以轻松更新或升级而不会添加错误?
- 您的代码是否易于理解,是否符合逻辑?
- 您的代码高效且体积小吗?
如果您不能对这些问题中的任何一个给出明确和满意的答复,则意味着您应该回去重新考虑您的代码。假装问题不存在不会让它消失。
再见宝贝
有时重写整个事情会更好。旧技术、有很多错误的糟糕代码库、需要全新架构的新需求以及升级问题是为什么这可以成为一个可行选择的几个原因。无论出于何种原因您正在考虑它,请确保它是正确的决定,并且下次您做出正确的决定并制作经久耐用的代码。

编写高质量、持久的代码不仅是可能的,而且是必要的。2019 年 6 月,Tidelift 和 The New Stack 联合对专业软件开发人员进行了一项调查,显示开发人员 70% 的时间花在阅读代码上,平均每天输出约 10 行代码。这意味着我们花费了大量时间来弄清楚我们的系统是如何工作的,而不是实际编写一些代码。
就像生活中的一切一样,伟大的代码是关于平衡的;没有一刀切的答案。这取决于您的系统、您的输入以及您想要达到的结果。但是您需要知道如何调整规模和比较,如何返回和调整,以及如何编写永不消亡的代码。
本指南将帮助您编写更好的代码。不要只是阅读它。研究它,分享它,提供一些反馈,最重要的是应用它。
伟大的程序员不是天生的;随着时间的推移,他们努力变得更好。
记住,保持冷静,远离代码!