KISS  是大家耳熟能详的词。我相信不管读没读过《 UNIX 编程艺术》一书的人都听过。这里借这个词,表达下我对程序编写最基础的一些规则的见解。 程序员都是自信的,所以设计过度是一种常见现象。“不要增加无谓的复杂性”,是希望正确理解需求。应对变化是应该的,但是不能过于扩散。 优化不应该破坏易实施性。坚信最优化的代码总是看起来很简单简洁的。
“ 模块比框架更重要”,这个观点可能和很多人的看法背道而驰。 但是我想强调的是,没有一个框架是稳定不变的。 所以,在承认这个事实的基础上,你应该懂得去尽可能地减少系统为此(指框架调整)而付出的代价。 所以,我的结论是:模块很重要。模块接口比一切都重要。
为什么需要模块是可测试的?
Office UI Logic 的复杂性: Undo/redo 宏录制 版式 Selection  状态 …
See http://blog.csdn.net/xushiweizh/archive/2008/02/19/2104631.aspx ( 自动化单元测试的意义 ).
Static check :代码规范、代码检查。 Runtime check :代码覆盖率检查。

软件工程&架构