
UNIX编程艺术
codetracer
学习造轮子
展开
-
应用哲学
<br />1.只要可行,一切都应该做成与来源和目标无关的过滤器。<br /> <br />2.数据流应尽可能文本化(这样可以使用标准工具来查看和过滤)。<br /> <br />3.数据库部署和应用协议应尽可能文本化(让人可以阅读和编辑)。<br /> <br />4.复杂的前端(用户界面)和后端应该泾渭分明。<br /> <br />5.如果可能,用C编写前,先用解释语言搭建原型。<br /> <br />6.当且仅当只用一门语言编程会提高程序复杂度时,混用语言编程才比单一语言编程来得号。<br />原创 2011-04-08 13:03:00 · 608 阅读 · 0 评论 -
有趣的哲学
<br />原则1:你无法断定程序会在什么地方耗费运行时间。瓶颈经常出现在想不到的地方,所以别急于胡乱找个地方改代码,除非你已经证实那儿就是瓶颈所在。<br /> <br />原则2:估量。在你没对代码进行估量,特别是没找到最耗时的那部分之前,别去优化速度。<br /> <br />原则3:花哨的算法在n很小时通常很慢,而n通常很小。花哨算法的常数复杂度很大。除非你确定n总是很大,否则不要用花哨算法(即使n很大,也优先考虑原则2)。<br /> <br />原则4:花哨的算法比简单算法更容易出bug、更难实原创 2011-04-07 09:14:00 · 624 阅读 · 0 评论 -
SPOT原则
<br />Don't Repeat Yourself !!!,意思是说:任何一个知识点在系统内都应当有一个唯一、明确、权威的表述。这个原则也叫“真理的单点性(Single Point of Truth)”或者SPOT原则。<br /> <br />重复会导致前后矛盾、产生隐患问题的代码,原因是当你修改重复点时,往往只改变了一部分而并非全部。通常,这也意味着你对代码的组织没有想清楚。<br /> <br />常量、表和元数据之应该声明和初始化一次,并导入其他地方。无论何时,重复代码都是危险信号。复杂度是要花原创 2011-04-19 14:09:00 · 3014 阅读 · 1 评论