虽然我没有装修过住宅, 但我觉得把项目与家庭装修进行类比是十分贴切的。
设计代码的架构,就像房子的硬装, 应该最先考虑。如果没有一个长远的设计, 那么入住以后主人是不能获得一个良好的功能分区,房间住起来也会非常的不自然。
如果类比到编程中,硬装以及结构设计就是一个架构师应该考虑的。诸如,项目的技术选型、应用哪些设计模式等问题。
我认为一个好的项目框架除了具有公认的良好的性能和扩展性,更重要的应该是可阅读性和可维护性。这具体体现在:同类事物对外的表征是否统一。例如,接口是否严格遵守 restful 风格,或者自己定义的一套规范。
至于普通开发者, 他们写的业务逻辑只是对应房子装修层面的“软装”。当然,这些是代码最直观的体现,就像“软装”也是房子给人的第一印象。如何衡量一个开发者的好坏,或者说工程的代码的“优不优雅”,就取决于此。
也有人会认为代码的**性能**,才是优雅性的关键。但是对于大部分现代业务逻辑来说,性能往往不是瓶颈。(搞嵌入式除外)
有时候,你会惊叹一坨屎的工程代码依然可以运行!就像是随便买一些床板桌椅,不讲究配色方案房子,依然可以生活一样!有时候,即使是再框架优秀,也不妨碍工程师写出一坨屎一样的代码,破坏它的“软装”。
所以,啰嗦了这么多,这篇文章我想说的几个观点是:生活与代码相通;如何衡量一段代码是否优雅;架构的优雅与工程的代码的优雅并没有必然联系。
网友评论