回馈系列1-程序员守则

这周末老学员聚会,扔点干货给大家,我学习的笔记,预计这个系列会有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.开发是一种高水平的游戏。

原文地址:http://bbs.lampbrother.net/read-htm-tid-119793.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(56) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值