《代码大全》之问
大概在两年以前,我无意间在网络上发现了《代码大全》这本书。出于对代码的兴趣,我下载了该书的扫描版,遗憾的是,在我用阅读器打开这本书后,我仅仅是扫描了一下,便关闭了它。我没有继续读下去,因为它没有提供我当时所需要的东西。两年之后,我有幸参与了微软亚研院的现代软件工程这门课程,而《代码大全》恰好成为了课程的教材之一。当两年后的我再次翻开这本书时,我才知道,这本书是多么珍贵,对于生活在代码中的我有多么大的价值。
好的问题对于我们去理解一本书有很大的帮助,在阅读《代码大全》的过程中,我也遇到了不少的问题,有的问题我已经找到很好的答案,有的问题还需要我们共同探讨,在这里,我就为大家分享一些我在读书过程中发现的问题。
1、 什么样的类才是好类?
用C++, C#, Java编程的人肯定都写过类,但是如何才能写出一个所有人公认的好类是需要我们去探索的。每个人都有自己的习惯,针对不同的程序,应该有不同的解决方案,清晰,正确,敏捷都是我们要考虑的。
2、 什么是高质量的子程序?
我们很难定义一个高质量的子程序是什么,但我们可以轻易的判别出一个低质量的程序。但是,将所有低质量的部分改了以后,程序的质量是否就很高了呢?
3、 怎么看待防御式编程?
为了安全性与稳定性,我们在开发产品时要争取做到防御式编程。我们如果面面俱到,防止任何错误的发生,那会造成非常大的任务量,过于复杂的代码会为开发造成很大阻碍。可是如果不防止所有的异常,哪怕是很细微的错误,也可能造成很恶劣的影响,这对产品开发也会带来损失。我们该如何取舍?
4、 表驱动法真的有效吗?
代码简单,容易修改,效率更高,这是表驱动法的目的。是不是所有的情况下都适合使用表驱动法,在效率提高的同时它牺牲了什么,这都是我们应该思考的。
5、 如何做一名好的程序员?
决定一个程序员好坏的因素很多,比如聪明和谦虚,求知欲,诚实,交流与合作,创造力与纪律,习惯等等。同样懒惰的人,对于一件事情可能会有不同的解决方案,有人喜欢拖延,有人喜欢迅速做完以摆脱之,有人喜欢编写自动工具来实现,一劳永逸之。我们不能因为某个人懒惰就判断他不优秀,也许正是他的懒惰,为世界创造了更大的价值。
一千个读者就有一千个哈姆雷特,以上的问题也仅仅是我在读书时随想的,希望能给大家带来一点思考。
---唐傲

浙公网安备 33010602011771号