摘录自The Art of Unix Programming
Modularity: Write simple parts connected by clean interfaces.
Clarity: Clarity is better than cleverness.
Composition: Design programs to be connected with other programs.
Separation: Separate policy from mechanism; separate interfaces from engines.
Simplicity: Design for simplicity; add complexity only where you must.
Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
Transparency: Design for visibility to make inspection and debugging easier.
Robustness: Robustness is the child of transparency and simplicity.
Representation: Fold knowledge into data, so program logic can be stupid and robust.
Least Surprise: In interface design, always do the least surprising thing.
Silence: When a program has nothing surprising to say, it should say nothing.
Repair: Repair what you can — but when you must fail, fail noisily and as soon as possible.
Economy: Programmer time is expensive; conserve it in preference to machine time.
Generation: Avoid hand-hacking; write programs to write programs when you can.
Optimization: Prototype before polishing. Get it working before you optimize it.
Diversity: Distrust all claims for "one true way".
Extensibility: Design for the future, because it will be here sooner than you think.
上述原则归结为一个词,就是KISS:keep it simple, stupid
相关文章
- 《UNIX网络编程(第3版)》unp.h等源码文件的编译安装
- 经典:编程面试的 10 大算法概念汇总
- UNIX网络编程——UDP 中的外出接口的确定
- UNIX环境高级编程Apue.h文件的配置
- UNIX环境高级编程 apue.h头文件的配置
- Unix环境高级编程第三版中实例代码如何在自己的linux上运行的问题
- UNIX网络编程卷1(第三版)关于源程序编译出错问题的详细解决方法
- 《unix环境高级编程》源代码编译找不到apue.h等错误的解决办法
- Scala深入浅出进阶经典第67讲:Scala并发编程匿名Actor、消息传递、偏函数实战解析及其在Spark源码中的应用解析
- Unix网络编程学习日记(三):多进程全双工socket客户端的实现