Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1552166
  • 博文数量: 1481
  • 博客积分: 26784
  • 博客等级: 上将
  • 技术积分: 17045
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-12 09:22
文章分类

全部博文(1481)

文章存档

2014年(10)

2013年(353)

2012年(700)

2011年(418)

分类: IT职场

2012-06-21 09:47:13

这周末老学员聚会,扔点干货给大家,我学习的笔记,预计这个系列会有10多个。


1.让每个程序就做好一件事。如果有新任务,就重新开始,不要往原程序中加入新功能而搞得复杂。

2.假定每个程序的输出都会成为另一个程序的输入,哪怕那个程序还是未知的。输出中不要有无关信息干扰。避免使用严格的分栏格式和二进制格式输入。不要坚持使用交互式输入。

3.尽可能早的将设计和编译的软件投入试用,哪怕是操作系统也不例外,理想情况下,应该是几星期内。对拙劣代码别犹豫,扔掉重写。

4.优先使用工具而不是拙劣的帮助来减轻编程任务的负担。工欲善其事,必先利其器。

5.一个程序只做一件事,并做好。程序要能协作。程序要能处理文本流,因为这是最通用的接口。

6.你无法断定程序会在什么地方耗费运行时间,瓶颈通常出现在想不到的地方,所以别急着胡乱找个地方改代码,除非你已经证实那儿就是瓶颈所在。

7.花哨算法比简单算法更容易出BUG、更难实现。尽量使用简单算法配合简单的数据结构。

8.数据压倒一切。如果已经选择了正确的数据结构并把一切组织得井井有条,正确的算法就不言自明。编程的核心是数据结构,而不是算法。

9.拿不准就穷举。

10.输入输出方面,提倡简单、文本化、面向流、设备无关的格式。

11.程序若不采用简单的文本输入输出流,它们会变得极难衔接。

12.要想让程序具有组合性,就要使程序彼此独立。

13.将代码的复杂度转移到数据中去。

14.先求运行,再求正确,最后求快。

15.永远不相信有不二法门。

16.keep it simple stupid ,让你的程序简单到2B。


17.只要可行,一切都应该做成来源和目标无关的过滤器。

18.数据流应尽可能文本化。

19.数据库部署和应用协议应尽可能文本化。

20.复杂的前端和后端应该泾渭分明。

21.宽收严发,对接收的东西要包容,对输出的东西要严格。

22.过滤时,不需要丢弃的信息绝不丢。

23.小就是美。在确保完成任务的基础上,程序功能尽可能的少。

24.开发是一种高水平的游戏。

原文地址:

阅读(245) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~