Chinaunix首页 | 论坛 | 博客
  • 博客访问: 272632
  • 博文数量: 42
  • 博客积分: 2718
  • 博客等级: 少校
  • 技术积分: 467
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-19 10:23
个人简介

青 田 酒 店 服 务 小 姐 价 格 186-6531-7773

文章分类

全部博文(42)

文章存档

2011年(36)

2010年(6)

分类: LINUX

2011-07-27 14:39:49

一个程序只做一件事,并做好。程序要能协作。程序要能处理文本流,因为这是最通用的接口。
1.)让每个程序就做好一件事。如果有新任务,就重新开始,不要往源程序中加新功能而搞的复杂
2.)假定每个程序的输出都会成为另一个程序的输入,哪怕那个程序还是未知的。输入中不要有无关的信息干扰。避免使用严格的分栏格式和二进制格式输入。不要坚持使用交互式输入
3.)尽可能早地将设计和编译的软件投入试用,哪怕是操作系统也不例外,理想情况下,应该是几个星期内。对拙劣的代码别犹豫,扔掉重写
4.)优先使用工具而不是拙劣的帮助来减轻编程任务的负担。工欲善其事,必先利其器
5.)编程的核心是数据结构,而不是算法
6.)拿不准就穷举

17条原则
一、模块原则:使用简单的接口拼合简单的部件
二、清晰原则:清晰胜于机巧
三、组合原则:设计时考虑拼接组合
四、分离原则:策略同机制分离,接口同引擎分离
五、简洁原则:设计要简洁,复杂度能低则低
六、吝啬原则:除非却无它法,不要编写庞大的程序
七、透明性原则:设计要可见,以便检查和调试
八、健壮原则:健壮源于简明与简洁
九、表示原则:把知识叠入数据以求逻辑质朴而健壮
十、通俗原则:接口设计避免标新立异
十一、缄默原则:如果一个程序没什么好说的,说沉默
十二、补救原则:出现异常时,马上推出并给出足够错误信息
十三、经济原则:宁花机器一分,不花程序员一秒
十四、生成原则:避免手工hack,尽量编写程序去生成程序
十五、优化原则:雕琢前先要有原型,跑之前先学会走
十六、多样原则:届不相信所谓"不二法门"的断言
十七、扩展原则:设计着眼未来,未来总比预想来得快

计算机编程的本质就是控制复杂度         -----Fred Brooks

阅读(2582) | 评论(0) | 转发(1) |
0

上一篇:基于状态的1对N无锁多线程程序的一般结构

下一篇:没有了

给主人留下些什么吧!~~