传感器|什么是体面的代码

传感器|什么是体面的代码


现在这是一个有趣的简单问题 , 不是吗 , 尽管回答起来可能不那么直截了当 。 体面的质量代码 , 或就此而言的优质代码 , 是一个相当主观的问题 。 它可能因编程语言、审查代码的人或使用它的项目而异 。 当然 , 编码标准也会随着时间的推移而发展 。 简而言之 , 没有一种单一的措施可以在所有情况下为您提供帮助 。 或者也许只是有 。
如果你看一下所有的tH è伟大编码范例你编程的生活中遇到; DRY、SOLID、KISS、YAGNI 等等 , 可能有一个共同的特征可以帮助最好 。 可替换性 。
关于可替换性我很确定这不是一个原创的想法 , 许多知识远超我自己的优秀程序员已经写过这方面的文章 。 但它总是让我惊讶 , 这种可替换性的概念可以多么优雅地结合上述编码范式 。
如果您保持代码DRY , 您将确保同一块逻辑不会在整个代码库中多次展开 。 它位于一个位置 , 便于更换 。 如果您坚持著名的SOLID原则(首字母缩略词的首字母缩写词 , 大奖!) , 您基本上是在努力使您的代码专注于单一目的 , 因此更易于实现和替换 。 KISS声明要保持代码足够简单易懂 。 你猜对了 , 哪个更容易更换 。 而YAGNI推出不添加这是不是在所有使用的代码 。 如果您愿意 , 那是您甚至无法替换的代码 , 太棒了 。
但是 , 谁在编码时每天认真思考这些强大的首字母缩略词呢?我不知道 , 涉及的大写字母太多了 。 然而 , 可替换性可能会提供一个不错且实用的替代品 。 例如 , 每当我进行代码审查时 , 我经常问自己一个问题:我是否足够了解这段代码 , 以便我可以自己更改它 , 甚至在需要时替换它?由此产生了其他问题和建议 , 包括您在尝试了解正在发生的事情时遇到的最佳实践和错误 。
【传感器|什么是体面的代码】这并不是说我的代码始终是可理解逻辑的闪亮灯塔 , 并非如此 。 我个人的一个陷阱是将我的牙齿沉入一些编码问题很长时间并生成对我来说很容易理解的代码......退后一步并质疑这个功能是否真的可以被其他人理解并轻松替换是通常是改善事物的良好开端 。
在更大的范围内 , 您甚至可以争辩说 , 可替换性对于您正在处理的任何应用程序或服务来说都是一个很好的特性 。 至少这意味着它小到可以理解 , 所以你可以真正开始考虑替换它(你好微服务/微前端) 。 在当今这个快速发展的技术领域 , 这无疑是一个加分项 。 那么作为程序员的你自己呢 , 你是否可以在短时间内被替换?如果是这样 , 你的代码是可以理解的 , 并且可以被你的同行修改 , 太棒了 。 如果没有 , 那就更好了!(只是在开玩笑)
但这可能有点过分了 , 到底谁真的替换了他们的代码?我不知道 , 无论如何 , 这是一个很好的观察结果 , 到目前为止 , 在我 25 年的编程生涯中经常出现 , 所以这可能值得思考 。 七爪网