unix哲学:
1只要可行,一切都应该做成与来源和目标无关过滤器。
2数据流应尽可能文本化(这样可以使用标准工具来看和过滤)。
3数据库部署和应用协议应尽可能文本化(让人可以阅读和编辑)。
4复杂的前端(用户界面)和后端应该泾渭分明。
5如果可能,用c编写前,先用解释行语言搭建原型。
6当且仅当只用一门语言编程会提高程序复杂度时,混用语言编程才比单一语言编程来的好。
7宽收严发(对接收的东西要包容,对输出的东西要严格)。
8过滤时,不需要丢弃的信息决不丢。
9小就是美。在确保完成任务的基础上,程序功能尽可能小。
====================
最强大的优化工具是delete键。
先把原型做出来,即先保证能用,再去优化。或者先求运行,再求正确,最后求快。
也可以先用脚本语言实现一个试用版,看用户是否喜欢,再去做。
用一个数组初始化器来表示转换表,还是用switch语句更清楚明了呢?应该主动将代码的复杂度转移到数据中去。
软件的透明性即一眼就能够看出来怎么回事。
越透明越简洁越健壮。
机制和策略相分离,即经常变化和相对不变的内容相分离。
如算法相对不变用c写成一个库,而界面或控制流程则用脚本语言来写。
要想让程序具有组合性,就要使程序彼此独立。
本文阐述了Unix哲学的九项基本原则,包括数据流的文本化处理、前后端分离、原型先行等理念,并强调了软件透明性、机制与策略分离的重要性。
2552

被折叠的 条评论
为什么被折叠?



