听到身边程序员这样抱怨:“这个代码之前写好了,现在把界面改成这样很麻烦“。这不是第一次了,包括以前的我也是如此。这引起了我的思考,程序员到底应该怎么写程序。
最开始写代码的时候,我只关注如何实现一个功能,自己对于开发的理解也很简单,就是一个无论多么复杂的程序,只要老老实实的把if/else 的逻辑判断全部捋清楚了,就能写好。后来事实证明,这样的思想是极其幼稚的。
我们在开发之初,很难预料到,后期维护的时候,会带来什么样的更改。也许在程序的最初版本中,实现了最基本的几个功能,这时如果需要追加新功能,或使用新的界面,替换掉旧的界面时,将难以预料会对程序整体造成什么影响。
上面描述的仅仅是一个典型例子,由程序设计引发的问题有很多,耦合性问题、性能优化问题、可靠性问题、功能拓展问题等等。如何应对这些常见问题,绝对是我们程序员在真正编写代码之前要好好考虑的。
回到标题,在“界面与代码分离"已经不是什么新鲜事的今天,说出这样的话确实有些不妥了。如果在程序设计之初,将设计决策定好,那么很多包括界面变更问题在内的其他功能变更,都会变得轻而易举。