Code Complete

Steve McConnell

出版时间

2004-06-19

ISBN

9780735619678

评分

★★★★★
书籍介绍
在线阅读本书 Widely considered one of the best practical guides to programming, Steve McConnells original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practicesand hundreds of new code samplesillustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinkingand help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactoror evolvecode, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project 点击链接进入中文版: 代码大全(第2版)
AI导读
核心看点
  • 软件构建的核心在于管理复杂度
  • 涵盖从需求分析到代码优化的全过程
  • 强调先完成功能再追求完美优化
适合谁读
  • 希望提升代码质量的软件开发者
  • 需要建立工程化思维的新手程序员
  • 关注软件设计与维护的技术人员
读前提醒
  • 篇幅较长,建议结合目录选择性阅读
  • 部分编码规范可能因语言而异
  • 重点阅读中间关于细节实践的章节
读者共识
  • 内容详实被誉为编程领域的百科全书
  • 虽略显啰嗦但干货满满值得反复读
  • 帮助开发者养成正确的工程化习惯

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "设计是一个启发式过程 隐喻是启示而不是算法 典型情况下需求会有多少改动?IBM和其他公司的研究发现,平均水平的项目在开发过程中,需求会有25%的变化(Boehm 1981,Jones 1994,Jones 2000)。在典型的项目中,需求变更导致的返工占到返工总量的75%到85%(Leffingwell 1997,Wiegers 2003)。 注意项目的商业案例:有些需求作为功能特色来看是不错的想法,但是当你评估“增加的商业价值”时就会觉得它是个糟透了的主意。 一个好的项目规划者,应能尽早清楚项目中的主要风险,以使大部分工作能平稳进行。"
  • "发现错误要尽可能接近引入错误的时间,缺陷在软件食物链里面呆的时间越长,它对食物链的后级造成的损害就越严重 “问题定义”只定义了“问题是什么”,而不涉及任何可能的解决方案,应在需求分析之前,而需求分析是对所定义问题的深入调查,应该用客户语言来写,从客户角度来描述问题"
  • "Sapir-Whorf假说是,你思考的能力取决于你是否知道能够表达该思想的词汇。如果你不知道这些词汇,就无法表达出这种思想,甚至可能不能形成这种思想(Whorf 1956)。"
  • "“险恶的(wicked)”问题就是那种只有通过解决或部分解决才能被明确的问题(1973)。这个看似矛盾的定义其实是在暗示说,你必须首先把这个问题“解决”一遍以便能够明确地定义它,然后再次解决该问题,从而形成一个可执行的方案。这一过程已经如影随形地在软件开发中存在数十年了(Peters and Tripp 1976)"
  • "稳定的需求是软件开发的圣杯。"
  • "Design Is a Wicked Problem Horst Rittel and Melvin Webber defined a "wicked" problem as one that could be clearly defined only by solving it, or by solving part of it(1973)."
  • "Design Is a Sloppy Process (Even If it Produces a Tidy Result)"
  • "Software developers tend to like our answers cut and dried: “Do A, B, and C, and X, Y, Z will follow every time.” We take pride in learning arcane sets of steps that produce desired effects, and we become annoyed when instructions don’t work as advertised. This desire for deterministic behavior is h"
下载
收藏