发布网友 发布时间:2022-04-22 15:22
共1个回答
热心网友 时间:2022-04-19 02:45
Martin Thompson是Java Champion称号获得者,同时也是一名高性能计算科学家。他说,为了写出更好的代码,程序员需要运用基本设计原则,阅读已有代码。在QCon London 2016大会上,他做了题为“挖掘你的工程师属性(Engineering You)”的演讲。InfoQ在会后采访了他,内容涉及软件行业面临的挑战及程序员如何应对那些挑战成为更好的软件工程师。
软件开发面临的其中一个最大的挑战就是处理应用程序规模增长带来的复杂性。对象、组件、模块或系统之间的耦合程度越高,我们需要承担的后果就越多。这些后果包括但不限于修改困难、故障蔓延、由于争用而无法扩展、由于关联操作而导致的性能问题。时间、空间和实现上的松耦合对于扩展性和弹性而言至关重要。“共生性(Connascence)”可以很好地描述耦合,一个模块/组件的变化会导致另一个模块/组件的变化。
我发现,内聚比耦合更微妙。我喜欢将内聚理解为统一性。当我们考虑在不同的方面使用同一个组件时,就失去了统一性,这会导致不必要的行为和特征。软件设计中的低内聚常常是一个很好的需求或团队状况指标。通常,内聚设计很容易跟踪,由于相关的函数和特性都进行了分组,相互关联,所以可发现性很高。
如果我们希望成为更好的软件工程师,那么提高我们运用基本设计原则的技能应该成为我们日常活动的核心。在训练和实践中不断重复是让技能成为第二天性的最好方法。