赞
踩
如果你曾经想要学习软件开发,却因为零基础而感到困惑,那么《代码大全2纪念版》是你的完美选择!这本书已经成为业界的经典之作,并且具有很高的口碑和评价。它将引导你从代码的基本原理开始学习,一步步帮助你成为一名优秀的程序员,如果你想实现你的软件开发梦想,那么这将是你必读的好书!
京东直达:https://item.jd.com/13228095.html
在写作本书的过程中,我主要考虑的是缩短同一个行业中两端的差距,一端是权威、专业人士,另一端是普通的商用实践人员。在如涓涓细流一般“浸润”并被普及成为业内知晓的通用实践之前,许多强大的编程技术其实早已经隐身于期刊杂志和学术论文中很多年。
在二十一世纪的前十年,处于前沿的软件开发实践已经得到了突飞猛进的发展。然而,通用实践却一直裹足不前。bug 随处可见,交付时间一拖再拖,超出预算,等等,这样的情形在很多软件项目中仍然屡见不鲜,甚至还有很多软件根本无法满足其用户的要求。来自软件行业和学术机构的研究人员发现,早在二十世纪七十年代,就有许多足以消除大多数编程难题的高效实践。然而,这些高效实践的报道并没有走出专业技术期刊的影响圈,以至于还有相当一部分软件组织在二十一世纪的前十几年,仍然没有采用这些高效的编程实践。研究还发现,一项研究进展走向商用实践,一般需要五到十年甚至更多的时间(Raghavan and Chand 1989, Rogers 1995, Parnas 1999)。这本书最初的写作动机就是以高效的方式缩短这个过程,使这些关键的发现可以马上供大多数程序员采用。
本书中包含的研究和编程逸事将帮助大家创建高质量的软件,更轻松、更快速地做好自己的工作。本书将帮助你看清楚过去存在的难题,从而知道未来如何避免。书中描述的编程实践将帮助你从容掌控大型项目,帮助你成功维护和修改软件,直到满足项目变更的需求。
本书综合介绍大量软件构建技术,这些技术的来源很广泛。多年以来,除了广泛散落在很多地方以外,关于软件构建的大部分智慧结晶并没有作为书面参考被记录下来(Hildebrand 1989, McConnell 1997a)。
这里想谈一下Github 的情况。Github 在2021 年11 月公布的Octoverse报告中指出,Github 开发者数量目前已达到7300 万,其中美国开发者人数约1355 万,中国有755 万。总体而言,2021 年比前一年新增了21.3 万名首次开源项目贡献者。到2025 年,用户数量预计会达到1亿。
其实呢,专业程序员用的那些高效、高能的编程技术并不神秘。只不过,在日复一日埋头于眼前项目的奔波和劳累中,真的几乎没有几个专家还能够有时间公开分享自己的经验和教训,导致广大程序员很难找到一个好的资源集中介绍编程相关信息。
本书描述的编程技术正好可以填补入门级教科书和高级编程教科书之间的空白。在读过Java 编程入门、中高级Java 编程和高级Java 编程之后,你会读哪一本关于编程的书呢?你会读详细介绍英特尔或摩托罗拉硬件的书,介绍Windows 或Linux 操作系统功能以及其他编程语言的书,那些没有详细参考书的编程语言或程序,是没有人会用的。但是,本书是少数几本只专注于讨论编程的书。有些总能让人受益匪浅的编程技术就是适用于任何环境或者语言的通用实践。对于这样的实践,其他的书一般都略过不提,本书则不同,偏偏就要集中介绍这些通用实践。
本书可谓博采众长,选材来源广泛,如下图所示。要想获得本书包含的所有信息,另一个唯一可取的方式是遍历浩如烟海的文字,在汗牛充栋的书山和几百册技术类期刊中寻宝,同时你本人还需要加持丰富的开发实践经验。如果这些都没问题,你仍然可以从本书中受益,因为它“海纳百川”,把所有精华汇聚于一处,非常方便你随时参考。
不管背景如何,本书都可以帮助你以更少的时间和更少的痛苦写出更好的程序。
软件工程领域已经充分意识到,迫切需要一本全面包含高效开发实践的软件开发参考手册。
计算机科学与技术委员会有一份报告指出,软件开发质量和生产力要想取得最大的效益,只能来自于对现有高效软件工程实践相关知识进行编纂、分类并广泛传播(CSTB 1990, McConnell 1997a)。该委员会最后得出一个结论:与这些软件工程实践相关的知识的传播策略要根植于“软件工程参考手册”这个基本概念。
软件构建是一个长期不受重视的主题 有那么一段时间,软件开发和写代码被混为一谈。但在软件开发周期中一些独特的活动被识别出来之后,圈子中有些思想领袖就开始花时间分析项目管理、需求、设计和测试,并掀起一场轰轰烈烈的方法论之争。对这些新领域进行研究的热潮,把原本一脉相承的代码构建冷落在一旁,就像它和软件开发没有什么关系一样。
对代码构建的讨论之所以冷门,还有一个原因。有人建议,如果把代码构建当作独立的软件开发活动,就意味着必须把它当作一个独立的阶段。实际上,软件活动和阶段真的没有必要有任何一一对应的特定关系,不管其他软件活动是以阶段、迭代还是其他方式来执行,都不影响我们对代码构建进行讨论,这样做才是“正确”的。
软件构建的重要性不可小觑 软件构建长期被研究人员和技术作家忽略的另一个原因是,他们错误地认为,相较于其他软件开发活动,代码构建是一个相对机械的过程,几乎没有任何改进的机会。然而,事实并非如此。
在小型项目中,代码构建的投入占比一般为65% 左右,中型项目为50%。对于错误,小型项目中代码构建所产生的占比为75%,中型和大型项目则为50% ~ 75%。显然,错误占比为50% ~ 75% 的任何活动都有机会得以显著改进( 第27 章包含更详细的统计数据和分析)。
有评论人士指出,尽管代码构建错误在总的错误中占比很高,但其修复成本低于需求和架构错误。言下之意,代码构建的重要性也就不该那么高。没错,构建错误的修复成本实际上并不高。但研究人员发现,一直以来,一些不起眼儿的代码错误却是最终造成修复成本高达几亿美元的一些软件错误(Weinberg 1983, SEN 1990)。显然,修复成本不高,并不意味着它们就应该优先级低。
具有讽刺意味的是,软件构建之所以不受重视,另一个原因居然是它是软件生命周期中唯一一个必须要认真完成的活动。需求可以靠假设,用不着认真开发;架构可以打折扣,用不着认真设计;测试可以缩水或者略过不做,用不着做全盘计划和执行。但是,如果要开发一个程序,那么一定得好好构建代码,这样一来,构建便在改进开发实践中成为一个独特而富有成效的领域。
关于高效构建实践,还没有一本理想的同类书。
软件构建的重要性既然那么明显,我便理所当然地认为我在构思这本书的时候,肯定已经有其他人写过高效构建实践的书。
显然,业界需要一本介绍如何进行高效编程的书。但我发现,软件构建方面的书乏善可陈,而且都不全面。有些书写于二十世纪九十年代之前甚至更早,讲的是只有真正内行才看得懂的小众语言,比如ALGOL、PL/I、Ratfor 和Smalltalk。有些是压根儿没有写过生产代码*
(译注:所谓生产代码,是指包含系统逻辑并在生产环境中运行的那部分代码。)的教授写的。教授们写的技术书适用于学生的项目,但对于这些技术在整个大规模软件开发环境中是否适用,他们并没有多少概念。还有一些书呢,则鼓吹作者最新最爱的方法体系,完全忽略那些庞大的、经年累月沉淀下来的实践知识宝库。
简而言之,从来没有一本书能够像本书一样,从专业经验、行业研究和学术成果中萃取出这样一套实用的编程技术体系,包含当前的编程语言、面向对象的编程语言以及前沿的开发实践。显然,以编程为主题的书需要由知晓最新理论发展水平的人来写,而不是真正动手写代码构建软件产品并以实践为乐的人来写。对于本书,我的设想是全面而完整地讨论如何构建代码,是一本由程序员写给程序员看的书。
《代码大全2:纪念版》是Steve McConnell所著的一本经典的软件工程书籍,对于那些希望提高自己的编程技能和开发软件的人来说是一本必读书籍。以下是本书的推荐理由:
首先,本书涵盖了广泛的主题,包括代码质量、软件开发流程、软件设计、代码优化、代码调试等方面,加深了读者对软件开发整个过程的理解和掌握。每个主题都形成了一个章节,针对每个章节,作者提供了详细、易于理解的解释,让读者能够深入了解软件开发的各个方面。
其次,本书的讲解方式很系统化,每个章节都有明确的目标和对目标的详细解释,让读者能够清楚地了解每个章节和每个主题的背景和目的。作者还会提供一些实用的技巧和建议,来帮助读者更好地实践和应用这些概念。因此,本书的讲解方式非常清晰、易于理解。
第三,本书给出的具体例子和案例都很有启发性。作者通过结合实际的案例,来说明软件开发过程中可能出现的问题,并提供一些解决方案。本书所提供的这些示例能够帮助读者对软件开发过程中的各个方面进行深入的了解,提高软件开发的效率和质量。
最后,本书内容丰富、系统化,结合了多年的软件工程实践和经验,对于那些希望进一步提高自己编码和软件开发能力的人来说是一本非常有价值的书籍。无论是正在考虑开发自己的软件,还是正在寻找提高自己编程技能的方法,或者是正在处理日常工作中的编码难题,读者都能够从本书中找到一些有用的信息和技巧。
总而言之,《代码大全2:纪念版》是一本非常好的软件开发指导书籍,能够帮助读者提高自己编程技能和提高软件开发的质量,是一本值得推荐的书籍。
我是一只有趣的兔子,感谢你的喜欢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。