每个人对此都有偏见。初级和中级开发者会根据个人经验而不是与代码相关的论证来表现各自的极端偏见。个人偏好、风格、命名惯例和思维方式是可能遇到的任何建议或评价的核心。
这并没有错,因为这是成长过程的一部分。真正的客观性是在有一系列足够的相反经验给开发者提供一个中心效果时得到的。没有正确的编码方法,只有基于不同情况下的有效方式。高级开发者明白并承认其代码并非最佳,还有改进的空间。
高级开发者往往是有能力的代码看守者,标注同辈造成的麻烦和结构中的薄弱部分。能够退一步看到未来可能发生的更大情况,根据最意想不到的负面影响做出选择,并且不受任何一种代码风格或范式的约束,而是侧重于解决方案而不是工具。
好的软件和工作软件之间的区别
开发者编写运行代码。一部分人会终止于编写运行的代码这一步。另一些人则会更进一步,想办法收拾残局。最好的资深开发者是在编写代码时不断进行编辑和重写——因为他们知道好的软件和工作软件之间的区别,会接受出现的问题和失败,并且尽快改进。
大多数老板只关注软件是否正常工作,但是好的高级开发者知道得更多。他们了解技术债和代码异味的隐藏成本,懂得如何平衡工作软件和好的软件之间的需求——在项目按时交付和扩展协商中维持平衡点。
知识的广度和对结构和语言的理解使其成为区分好的软件和工作软件的专家——以及如何创建两者——并且有能力在情况需要时提出创造性的解决方案。
|
|