人们对精美代码的兴趣与日俱增。 每个人似乎都在倡导它。 有许多工具,框架和库希望为您提供帮助。 但是对于我们中的某些人来说,漂亮代码的想法仍然是一个奇怪的想法。
代码不只是代码吗?
事实是事实并非如此。 代码实际上是一系列翻译后的想法,用于为用户计算必要的体验。 丑陋的代码可能会给用户和维护它的人带来丑陋的体验 。
但是漂亮的代码到底是什么? 为什么真的很重要? 以及它如何影响您作为开发人员的代码质量和健全性?
这些是我们将要探讨的一些问题。 在代码方面,真正的美不仅仅在于外观。
什么是精美代码?
美的传统观念是基于事物的物理外观。 丑陋是视觉上的吸引力。 但是,当涉及到代码时,它不仅仅是我们所看到的。
漂亮的代码也是一种体验。
从开发人员的角度来看,代码的工作方式是供工作于此的人员使用和使用。 这意味着它必须在语法上尽可能多地易于理解。
容易理解代码的能力取决于长度和复杂性。 特定类或函数的时间越长且越复杂,您就必须花更多的心思来消化和处理其要执行的操作 。
当成功简化复杂度时,精美的代码是很好的 。
编写代码很容易。 但是,良好而健壮的代码需要规划,并通过体系结构规划和潜在影响分析进行周密考虑。 没有这个,就类似于没有某种蓝图的房屋。
作为代码开发人员,您同时扮演了架构师和构建者的角色。 如果您不同时扮演这两个角色,就无法成功构造出清晰,干净,漂亮的东西 。
建筑师的目的是规划事物如何组合在一起 。 架构师能够退后一步,查看结构中的低效率之处,并在构建之前解决它。
构建者的作用是根据可用资源来构建代码 。 最终结构的美观程度取决于开发人员的知识和技术 。
为什么漂亮的代码很重要?
漂亮的代码很重要,因为它可以表明最终应用程序的稳定性。
软件的稳定性往往取决于事物能够很好地融合在一起的能力,以及其抵御现有环境和目的变化的能力。
漂亮的代码还表明了从简短的想法到代码的高度结构和顺序 。 当我们的翻译混乱时,我们的代码结构及其编写方式也将如此。 围绕SOLID的想法是为了在创建之前为许多开发人员所使用的非结构化代码编写方式提供结构。
代码清洁度取决于如何简化思想的显示和演示方式,以供他人阅读。 许多新开发人员经常陷入用代码编写神秘小说的陷阱,而又不了解其副作用。
漂亮的代码不仅简单,而且对于现有代码也有明确的目的。 当一个以上的原因存在于一个函数或类中时,更改就变得很脆弱。 这是因为类或函数内部的部分更改可能会导致对应用程序其他部分的级联效果,而这些效果可能取决于它以特定方式工作。
最糟糕的是,当您在团队中工作时,有人继承了难以更改的代码。 它限制了重用能力并减少了所需的代码量,从而导致更长的项目和更高的代码膨胀机会。
漂亮的代码如何影响您作为开发人员的质量?
您创建漂亮代码的能力取决于您提取必要部分,将代码简化为基本内容并仅编写所需内容的能力。
编写漂亮的代码需要具备标准和技术知识。 它还需要对某些功能,对问题的思考方式以及如何有效地将其转换为编程语言的深刻理解 。
您作为开发人员的素质取决于您将需求转换为整个团队中简明易懂的内容的能力是否强大,有效。
为人类编写的代码与为编译器和引擎编写的代码一样多。 如果继承您代码的人无法理解,那么将来您的应用程序很有可能被破坏。
漂亮的代码本质上也降低了技术债务。
技术债务是所有代码附带的。 较高的技术债务水平可能会大大降低保质期代码。 完成工作可能需要更长的时间。 它通过使其难以实现,升级和枢转功能来实现。 开发人员还需要更多时间来确定工作部分,并了解他们如何实施更改。
您可以采取什么措施来增加代码的美观程度?
您可以遵循多种策略和原则来增加代码的美观因素。 但是,在不同的项目类型和语言中存在一些基本的东西。
1. 不带缩写的名称
首字母缩略词有时可能很酷而且合乎逻辑,但是除非您已经以某种方式开始进入项目,否则阅读起来并不那么有趣。
首字母缩略词的问题在于,它会将您的代码变成一本秘密小说 ,您需要对其进行解密才能弄清楚。 解密需要时间。 如果没有文档,解密将花费更多时间。
2.单一任务规则
SOLID是我最喜欢的一项任务。 为什么? 因为很容易理解,也很容易向他人解释。 规则很明确-您的函数应该只做一件事和一件事。
如果它做的不止一件事情,那么它本身就有副作用。
副作用不好玩,因为如果情况确实发生变化,则必须处理波纹效应。 然后,它变成了一个追踪游戏,说明了它的用途和用途。 清洁度受到破坏,因为现在您有一个潜在的依赖网络需要处理。
3. 编码您所看到的
有时,我们会被带走,并根据未来的预测过分抽象我们的代码。 尽管创建代码以容纳即将推出的功能并没有错,但是您一定不要太过分。
过度抽象会使代码模糊且难以定义。 计划在接下来的几次迭代中确定要使用的功能与计划进行一到两年的规划之间存在差异 。
届时,如果您使用的是MVP冲刺,则您的代码及其功能集可能看起来与当前的方式大不相同。 最好是随着时间的推移有机地,干净地增长代码,而不是一开始就尝试创建完美的应用程序。
最后的话
漂亮代码的问题在于,创建的代码越多,您就越会开始识别模式。 发生这种情况时,您还将开始自动整理和清理代码。
当您了解特定语言的细微差别时,优化是一项随着时间而学习的技能。 这就是为什么您精心编写和重构的代码在编写简洁美观的代码方面会越好。
From: https://blog.codota.com/what-makes-code-beautiful-and-why-it-matters/