转自点击打开链接
编程的原则,广为人认知的:
1. KISS – Keep It Simple, Stupid! 小即是美
2. DRY – Don’t Repeat Yourself 不要总重复自己作无意义的事情
先说KISS, 这是Unix哲学的至高教义,引申起来就是:一个程序只做一件事,并做好;程序要能协作,程序要能处理文本流(因为这是最通用的接口)。再深入下来就可以概括如下:
(1) 模块原则: 使用简洁的接口拼合简单的部件。
(2) 清晰原则: 清晰胜于机巧。
(3) 组合原则: 设计时考虑拼接组合。
(4) 分离原则: 策略与机制分离,接口与引擎分离。
(5) 简洁原则: 设计要简洁,降低复杂性。
(6) 吝啬原则: 除非确无他法,不要编写庞大的程序。
(7) 透明性原则: 设计要可见,便于审查和调试。
(8) 健壮原则: 健壮源于透明和简洁。
(9) 表示原则: 把知识融入数据以求逻辑质朴而健壮。
(10) 通俗原则: 接口设计避免标新立异。
(11) 缄默原则: 不要过多注释。
(12) 补救原则: 出现异常时,马上退出并给出足够的错误信息。
(13) 经济原则: 宁花机器一分,不花程序员一秒。
(14) 生成原则: 避免手工hack,尽量编写程序去生成程序。
(15) 优化原则: 优化前要先有原型,跑之前要先会走。
(16) 多样原则: 绝不相信所谓“不二法门”。
(17) 扩展原则: 设计着眼于未来,需求总是变化的。
DRY就我理解则是说对于你已经掌握的知识、方法,不要陷于重复的枯燥的细节中,而没有时间或者动力去接触新东西。
其实所谓编程原则还有一个非常重要的问题必须摆在前面,那就是: “你想干什么”或者说”你想解决一个什么问题” — 也就是说在编程之前你要先把你的问题分析清楚了 — 很多时候我们条件反射也好,急功近利也罢,很容易地就略过了最最重要也是最最基础的分析问题的过程,结果事倍功半、得不偿失。所以说不要轻易地就开始写代码,把问题搞搞清楚先!
把上面的分析问题引申一点就是不要重复发明轮子,这一点也很重要,面对某个问题,问题分析清楚后要进行调研一番(google之, wikipedia之):要善于利用已经可以直接使用的工具进行组合,而不是一切都从头开始。