为什么要看《代码大全》?

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


        如同作者在前言所说:“《代码大全》可以弥补程序员的知识缺陷,在你经验丰富以后,你可以同意我的结论,也可以反对我的结论,唯独不能忽略这些问题”。
       
       
参考资料:
        1. 代码大全,第二版,Steve McConnell著,金戈,汤凌,陈硕,张菲译。
        2. “舌尖上的中国”,央视视频。
        3. ChinaPub书评
        4. 当当书评
        5. 卓越书评
        6. 京东书评

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值