《代码大全》到底讲什么?

   

《代码大全 (中文版)第二版》到底讲什么?她讲的是哪种编程语言?C、C++、Java、C# 还是 Visual Basic?列出的代码全吗?我能从中直接copy&paste代码到自己的项目中吗?

这本书英文名叫“Code Complete”,其中 code 是代码,complete 是“完成”的意思。code complete 就是“写完了所有代码,可以开始系统测试”的这么一个时段,与之对应的还有“design complete”等。

例如项目进度表上可能写的是:

日期                 目标
4月3日          design complete
9月30日        code complete
12月10日      release

表示9月30日要完成所有的编码工作,进入系统测试阶段。所以你最好不要指望这是一本真正的“代码大全”:)

这是本什么书?为什么在Amazon上能获得5星级评价?

这本书不是软件开发的百科全书,也不是一本软件工程方面的书。软件工程方面的书已经很多了(很多都特价了:) )。她不讲如何管理项目,而告诉你,作为一名程序员,你该如何明智地与老板交流,选用合适的开发工具和开发方法(第4章:关键的构建决策)。她不讲怎么做需求分析,而告诉你,作为一名程序员,你如何判断需求分析工作是否已经到位,是不是可以开始下一个活动了(第3.4节:需求的先决条件)。她也不讲架构设计,而是告诉你,作为一名程序员,你如何判断架构设计得好不好,是否能支撑起随后的构建工作(construction)(第3.5节:架构的先决条件)。这本书也不讲系统测试,而告诉你,作为一名程序员,你如何测试自己的代码(第22章:开发者测试)。如果你的代码被别人测出来的错误很少,那么你的声誉就会很高,大家就会信任并尊重你的工作,所以你要自己测试代码。

那这本书到底讲什么?

这本书最主要讲构建(construction),是软件构建的百科全书。“构建”就是软件开发中把设计转变为代码的活动,俗称“编码”。包括如何做详细设计、如何编码和调试(这是重中之重),还讲如何进行单元测试、集成等。当然,少不了每个程序员都关心的“代码性能优化”技术 :) 她教你怎样写出高质量的class、怎样写出高质量的子程序(函数、方法等)。具体到怎样为变量取有意义的名字,怎样书写清晰的语句,怎样做代码和注释的格式与布局,怎样进行开发者测试,怎样调试,怎样使用断言等等。这些看起来很细节,不过魔鬼隐藏在细节之中,细节决定成败,对吧。从主题上看,与《程序设计实践》有些接近,不过本书讲得要详细得多,而且涉及的主题也更多。(必尽这本书有800多页,而那本书只有200多页。)

这本书适合初级程序员吗?那看你口中“初级程序员”有多初级了。如果刚开始学第一门编程语言,那恐怕不太适合。如果已经学过一名语言,比如C(最好是一门面向对象的语言,比如C++、Java或C#),想提高编程能力,那再适合不过了。

这本书适合高级程序员吗?作者认为这本书适合“经验丰富的程序员”,可用作一本开发手册。

这本书适合项目领导吗?作者认为这本书适合“技术领导”,他说“许多技术领导(或者说是技术带头人)都曾在他们的团队中使用《代码大全》来培训经验不足的程序员。”或许你也可以用她来培训新人。

这本书适合学生吗?作者认为“对于那些正在从学术环境转向专业开发环境的学生来说,这是一本必备的读物。”让你知道成为专业程序员需要具备哪些素质。

这本书适合我吗?如果你不能确定自己是否需要这本书,我建议您直接阅读第18章“表驱动技术”,我认为是否掌握表驱动技术(又称小语言,一种把代码变成数据的技术)是划分初级程序员和高级程序员的重要分水岭之一。




你可能感兴趣的:(《代码大全》到底讲什么?)