《编程珠玑》选译1:编程小格言

简介:《编程珠玑》是琼·本特利(Jon Bentley)在《ACM通讯》的博文的总结。琼是世界著名计算机科学家,被誉为影响算法发展的十位大师之一。人民邮电出版社出版了英文版,笔者读来字字珠玑,就想分享一下,摘一些翻译出来,一同鉴赏。

翻译不作商业用途。

1. 关于编程

--越早开始编程,越晚完成。

--要是写不出伪代码,就写不出代码。

--细节很重要。

--要是代码和注释不一致,两者可能都不对。

--特例太多,就是错。

--弄对数据结构,一切迎刃而解。

2. 关于用户界面

--【最小震惊原则】尽可能让用户界面保持上一代的样子。

--20%的用户输入是坏数据。

--80%的输入都在问不必要问的问题。

--别问用户系统已经知道的信息。

--80%数据中95%的信息能图示。

3. 关于debug

--80%的编程错误都是语法错误。剩下那20%中,80%是小小的逻辑错误。剩下那4%中,80%是指针错误。剩下的0.4%很难。

--不要站着debug。站着会分散你的注意力,在调试时需要全神贯注。

--别被注释误导,只调试代码。

--测试可以证明有错误,但不能证明没有错误。

--一个新用户会揭示系统的一类新问题。

--没出问题就别修补。

--解决问题的第一步是复现问题。

4. 关于性能

--【程序优化第一原则】不要优化

--【程序优化第二原则-只针对专家】还是不要优化。

--一个快速算法通常可以被更容易理解的同样快的算法替代。

--【代码规模保守定律】代码缩短后,注释要加长,保持总行数稳定。

--【关于集总参数电路】电子在1纳秒跑一英尺。

5. 关于文档

--【否定命题测试】如果一句话的否定明显是胡说,就别写在文档里。

--在解释一个指令、语言的特性、硬件时,先描述设计它们想解决的问题。

--【单页原则】一页纸讲不完的设计、过程、测试方案无法被理解。

--只有文档写好了,活才算干完了。

6. 关于软件管理

--系统结构反映了创建系统的组织的结构。

--要是不奏效,就别继续试。

--完成系统目的的代码只占不到10%。其他都是家务活,处理处理输入输出啊,数据校验啊,数据结构维护啊,等等。

--好的判断源于经验,经验源于坏的判断。

--只要能偷代码,就偷代码。

--与客户保持好关系能让我们更高产。

--把现有的工程翻译为目标语言或系统只耗费原创的10%的开发时间与人力。

--别用电脑干手工就能有效解决的问题。

--别手工计算电脑能有效解决的问题。

--比起写代码,我更想写能写代码的代码。

--有志者,事竟成(原文:如果你计划只朝一个方向扔东西,最终你不管怎样都会扔出去。)

--有志者,事半功倍。(原文:要是你计划只朝一个方向扔读写,你最终会扔出去两个。)

--【面向望远镜制造商的汤普森原则】比起直接造一个6英寸的镜子,先造一个4英寸的再造一个6英寸的更容易。

--【以彼之矛攻彼之盾】先完成困难的部分。要是困难的部分实现不了,为什么还要浪费时间弄简单的部分?而要是弄完了难的部分,你就万事大吉。---先完成简单的部分。你一眼觉得简单的部分,一般都很难。等这个简单部分完成了,你就可以全心全意做难的部分了。

7. 混杂规则

--【Sturgeon规则-适用于计算机科学与科幻作品】当然,90%的软件是垃圾。因为90%的存在都是垃圾。

--要是你对计算机说谎,计算机会识破。

--要是不追求系统可靠性,系统啥都能干。

--此之常量,彼之变量。

--此之数据,彼之程序。

--保持代码粗浅而愚蠢。

8. 原

--摒弃小聪明原则。

9. 其他

--先做起来,再快起来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值