为什么要看《代码大全》?
零,序。
如果您不从事,或以后不从事“软件开发”行业,你可以不关注《代码大全》。
如果您正在从事,或想要从事“软件开发”行业,且你已经买了《代码大全》,请直接看作者的前言。
如果你正在从事,或想要从事“软件开发”行业,但还没有听说过《代码大全》;或有人给您推荐,您还没有买《代码大全》;或您已买了《代码大全》,但还再让她在书架的角落里,可以一看本文章----“为什么要看代码大全?”
根据研究,成年之后,学习新事物的效率远不如少年,原因很多,其中之一就是:成年人每天要固定参与的事情太多,如果没有弄清楚“为什么”,他不会有兴趣,不可能长期挤出时间,或集中精力去学习。《代码大全》是近1000页的大砖头,不搞清楚“为什么”,很难坚持看完一遍,更别说不断温习了。
一,也是最主要的原因:角色/职责转变。
想象一下,作为消费者,你要买一个智能手机,要考虑些什么?大概是品牌、性能、外观、价格(有钱人除外),有时还参考朋友或网上的口碑。这几个因素中,价格是我们自己控制的,其他售货员提供。我们关注好不好看、好不好用、有哪些赠品等等;至于哪个地方,怎么生产,如何运过来的,我们不关注。因为我们的角色是“终端消费者”,这不是我们要操心的。
如果我们运气不好,刚买几天就开不了机,或老死机,我们就最终会去到售后维修中心,找“维修人员”解决问题。这个时候,我们就会听他们说一些“刷机”、“解锁”等等名词。如果是小问题,“维修人员”能够当场解决,几个小时之后我们会拿到机器。
如果我们运行很不好,问题很严重,维修人员会把我们的机器会返回“生产厂家”,十几天或几十天后才能知道结果。
以手机为例,“终端消费者”相对于“生产厂家”,对手机本体的认识,真是“冰山一角”。与买手机的“终端消费者”角色不同,“软件开发”中,我们要承担“生产厂家”的角色。我们要“生产”出软件(软件中的专业术语叫“软件开发”),要比售货员、消费者,懂得更多;软件最好不出问题,或者尽量让维修人员搞定。
“软件生产厂家”究竟是什么样?“软件生产”都要做些什么?怎样才能多快好省地“生产”?作为软件生产厂家的软件开发人员,这些是不是必须知道、熟悉的?我们能够从《代码大全》中看到详细描述。
二,实际软件开发大图景、流程和细节。
只看第一个原因,可能在计算机专业可的“软件工程”里,能找一些理论和概念。但我们不是做科研项目,100次成功1次,就能写论文毕业;我们做的是成千上万发布到终端消费者手中的产品,稳定、实用、兼容、便宜是首要目标。
任何高质量的产品,都不是嘴巴吹出来的,是要实事求是做出来的。前几天看“舌尖上的中国”,展示了中国各地的诱人美食,同时还简略介绍了美食的生产过程。以广西柳州酸笋制作为例,要在6月到9月,砍倒最细腻最嫩的大头甜笋,一家人2小时内剥皮,切瓣,采用只传长子的祖传秘方腌制在坛子里,每天透过光观察酸笋的颜色,达到标准后才有最好的味道。加上长不大的小黄鱼,黄豆,才能制作出开胃下饭菜“黄豆酸笋小黄鱼”;加上木耳、腐竹、黄豆,螺丝汤,制作出美味的“螺蛳粉”。
酸笋能做出哪些美食产品?酸笋在每个美食中占什么地位?酸笋要哪些原材料?制作时有哪些的流程,祖传秘方细节?要遵循什么进度?如何检查酸笋的质量?等等。在酸笋生产人员阿亮心中,都一清二楚,制作的大致流程可以告诉编导;但材料选取、祖传秘方等细节,阿亮是绝对保密的。
软件开发中,软件产品的组成部分?我们的模块在其中如何工作?需要哪些编程语言和领域经验?整个开发流程是怎样的?祖传秘方的细节?怎样测试产品质量?等等。作为软件生产厂家的软件开发人员,我们是不是必须知道、熟悉?我们能够从《代码大全》得到答案。特别的,《代码大全》中,介绍了各种美食的“祖传秘方”细节,或其他老师傅的祖传秘方,让我们可以外人也可以通过实践,做出各种美食。
三,个人/组织能力提高
有的仁兄,只好美食,而不好做厨师。从实际出发,除了少数含着金钥匙的人,可以选择好吃懒做外,大多数人都必须成为某一美食的厨师。
舌尖上的一道道菜,成为美食,有消费者的赏识,更重要的是厨师的制作。这里的厨师,不一定全是制作奢侈食材的满汉全席的名厨;也有可能是制作干炒牛河的家庭主妇。但这些厨师的共有特点是都有责任的,他们能够恰到好处地创作出拿手的美食,他们都是无数次的学习、实践、总结,来获得食客信任的。你可以不喜欢他们的美食,但却不能不尊重他们的成果。
看着影片中哪些正在学习厨艺的年轻人,他们虽然现在表现得青涩笨拙,但经过持续学习,实践积累,经过时间洗礼,也会成为称职的厨师。
我们在学校中,知道了什么是五谷,什么是土豆,但却没有教我们如何看天时种植收割,掌握火候制作美食。我们吃着美食,有时也煮个夹生饭、炒个酸辣土豆丝给家人吃。但我们终将成为某一菜系的厨师,不管你是否愿意。我们要给做给陌生食客享用,要接受他们严厉的评价,只有不断学习把有限的食材做出不同美食,才能满足日益增长的人民物质文明需求。我们必须看《代码大全》,她是我们的美食/菜谱/制作大全,向我们展示出制作美食之门的钥匙。
如同作者在前言所说:“《代码大全》可以弥补程序员的知识缺陷,在你经验丰富以后,你可以同意我的结论,也可以反对我的结论,唯独不能忽略这些问题”。
参考资料:
1. 代码大全,第二版,Steve McConnell著,金戈,汤凌,陈硕,张菲译。
2. “舌尖上的中国”,央视视频。
3. ChinaPub书评:http://product.china-pub.com/28351
4. 当当书评:http://product.dangdang.com/product.aspx?product_id=9149517
5. 卓越书评:http://www.amazon.cn/%E4%BB%A3%E7%A0%81%E5%A4%A7%E5%85%A8-%E5%8F%B2%E8%92%82%E5%A4%AB%E2%80%A2%E8%BF%88%E5%85%8B%E5%BA%B7%E5%A5%88%E5%B0%94/dp/B0061XKRXA/ref=sr_1_1?s=books&ie=UTF8&qid=1349317404&sr=1-1
6. 京东书评:http://book.360buy.com/10142371.html