“熵”是“信息论之父”香农用来表达系统混乱程度的一个术语。熵值越大,系统越混乱,反之越清晰。而“简”意味着简单、简洁、简化。如果把这两个字应用在我们的项目开展中,那就是:「架构求熵,实现求简」

架构和实现是两个不同的岗位,架构是负责整个项目设计的架构师,而实现是只负责程序功能实现的程序员。一般来说,项目开展的流程涉及六个小模块,分别是「选型评估、程序设计、性能优化、稳定健壮、日常运维、集成部署」。而实现就是负责程序设计那个小模块的岗位。

架构求熵

由于架构师掌控着整个项目开展流程的决策权,所以架构师在这个流程中,必须关注“熵”,即关注系统的混乱程度。在我们日常的项目中,总会根据业务需求不断添加功能,这就使得原本清晰整洁的架构与实现逐渐变得混乱。

为了让系统能够正常运行下去,我们就要根据具体情况进行减“熵”,即减少系统混乱程度,促使每一个步骤清晰明了,每一个程序功能安全可靠,高效运行。必要时,我们可能面临项目重构升级。总之,「一切以项目业务开展为导向」

实现求简

简,意味着做减法,但不是简陋。简,首先要代码量减少,能抽象化尽量抽象化,其次是程序结构清晰,这样可以减少不少开发时间和测试时间。

另外,反观我们过往接触到的设计模式,不也是把“简”做到极致吗?设计模式是前人在实践中总结出来的一套程序设计方法论,为的就是让我们的程序更加规范化,高效化和简洁化。所以,我们要向前人学习,把“简”用到极致。

最后,不管是架构还是实现,不管是求熵还是求简,目的还是配合业务来实现系统功能,使系统能够正常运行。所以架构和实现要做好沟通,「减少系统的“熵”,提高系统的“简”」