如何更好地完成代码?

原创 2006年03月27日 23:17:00

10年前,每当我成功解决一个数学难题,我就有一种莫名的成就感。解题的思路越巧妙,成就感越强,直到我看到著名的数学教育家波利亚(Polya G.)的《怎样解题》。这是一本小册子,但却是对我影响最深的数学书之一。

看了《怎样解题》才知道,数学题的解题思路,原来可以这么系统地进行归纳,只要你按照正确的方法去尝试,解决一道难题并不是那么高深莫测。当我再遇到另外一道难题的时候,我已不再是苦苦思索而不得要领。

博文视点编辑佘广让我看《代码大全2》的电子稿时,我不禁想起了波利亚的这本名著。现在对《代码大全2》的褒奖太多了,我想说明的是,如果你曾经写过很多代码,常常为自己的代码组织和设计困惑,那就看看这本书吧。他对我的冲击就如《怎样解题》一样,让我在Steve McConnell循序渐进的讲述方式中对那些未成熟的编码思路变得豁然开朗。

从图书的目录涉及到了代码构建的各个方面。不仅让你正确地理解开发行为,还给出了很多设计和开发涉及到的细节。如果说类似《人月神话》这样的软件工程的图书离开发者还有点遥远的话,《代码大全2》就是真正体贴开发者的经典巨著。

这本书不是必须从头读起的,比如:理解软件开发过程,可以直接看第二章--用隐喻来更充分地理解软件开发,为了更好地构建子程序直接看第7章--高质量的子程序。

当然,吴文俊的《几何定理机器证明的基本原理》给我的震撼更大,这让我知道,机器可以完成原本那么需要智能的东西。我不知道软件开发到那天机器也能代替,也不知道MDA能否带来这样的革命。我想如果真有那么一天,我们也就不用看《代码大全2》了。:)

本文写在《代码大全2》首发之际,Dearbook提供该书PDF版本连载,大家可以先睹为快,感谢博文视点的努力为大家奉献久违的经典。

5个步骤帮你更好地管理文件

是否在老板催你催得火急火燎的时候,怎么都找不着文件?或是在一大堆文件里,你急着用的那份突然就不知道躲到哪里去了?用Zoho Docs,上传、存储与管理文档变得前所未有的简单。 5个步骤帮你管理文件: ...
  • amidemao
  • amidemao
  • 2015年01月05日 13:24
  • 598

ISTQB AL-TM连载系列12:如何有效的开展评审活动

在实际的评审过程中,经常由于各种原因,评审最终无法达到预期目的,从而导致评审在软件开发生命周期中的作用大大减弱,甚至在有的组织和项目中,评审活动只是流于形式。下面是导致评审失败的几个常见的原因。 ...
  • Wenqiang_Zheng
  • Wenqiang_Zheng
  • 2012年06月14日 18:41
  • 1358

作为一个程序员,怎么高效的写代码

作为一个程序员,怎么高效的写代码 先想清楚产品到底要一个什么样的功能,这个功能对产品来说是否真的那么重要,有没有什么更能放大这个效应的做法。 与产品讨论,理解他们通过APP想表达的诉求,将它们转化成真...
  • stepalone
  • stepalone
  • 2016年07月13日 21:44
  • 476

如何更好地生活

清明放假回家的路上,我想了很多。 现在是大三下学期,要考研的早就开始准备了,那天朋友问我,你为啥不考,我说都不小了,不想考了,去工作。他说,才这么大,不考研干啥。难道这个年龄就非得考研吗?是不是不考...
  • u012995856
  • u012995856
  • 2016年04月02日 12:00
  • 329

如何更好地给同事讲代码

我们技术团队有两个习惯:一是程序员写好一个新的比较重要的系统,或是引入了一个第三方框架或库后,主程会要求程序员做一个ppt,在会议室里给所有程序与QC做一次团队分享;二是程序员写好一个新系统,或做了比...
  • u011355822
  • u011355822
  • 2015年06月19日 19:01
  • 402

如何更好地给同事讲代码?

我们技术团队有两个习惯:一是程序员写好一个新的比较重要的系统,或是引入了一个第三方框架或库后,主程会要求程序员做一个ppt,在会议室里给所有程序与QC做一次团队分享;二是程序员写好一个新系统,或做了比...
  • zzxiang1985
  • zzxiang1985
  • 2015年04月11日 14:58
  • 1725

蓝桥杯-- 历届试题 大臣的旅费(树的直径)

历届试题 大臣的旅费   时间限制:1.0s   内存限制:256.0MB        问题描述 很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快...
  • qq_29963431
  • qq_29963431
  • 2016年03月16日 12:49
  • 587

书写是为了更好的思考/为什么你应该(从现在开始就)写博客

我经常在走路和睡前总结所学过的内容,思考遗留的问题,一段时间的阅读和思考之后,一个总体的知识框架就会逐渐浮现在脑海中。然后我会将它书写下来,然而,我往往非常惊讶地发现,当我书写的时候,新的内容仍然源源...
  • rongtian_ye
  • rongtian_ye
  • 2010年12月26日 09:48
  • 1536

SimpleDateFormat是线程不安全的,怎样使用使其安全?

SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 Simpl...
  • kangbin825
  • kangbin825
  • 2017年05月19日 21:06
  • 152

如何更好地阅读英文论文

恰逢前些天研一的师妹让说说做研究的经验,故把文献阅读这段搬过来,纯属个人体会。 好文章之所以优秀,是因为它有充分的立论依据,慎密的研究设计,详尽的数据分析,丰富的探讨推论,随之而来的就是长篇幅,...
  • u012494310
  • u012494310
  • 2014年04月16日 13:40
  • 593
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何更好地完成代码?
举报原因:
原因补充:

(最多只允许输入30个字)