代码大全2 chapter1 Welcome to Software Construction

书的英文名:《Code complete》

在一位朋友的推荐下,来到学校图书馆的外文书籍区, 真的是宝藏, 看到了计算机专业的各种著名经典书籍
看到这本书,想了想之前自己在编程的规范方面关注的确实太少,于是决定读一读

文章目录

  • 代码大全2 chapter1 Welcome to Software Construction
  • 1.1 What Is Software Construction
  • 1.2 Why Is Software Construction Important
  • 1.3 How to Read This Book

Mostly “construction” refers to the hands-on part of creating something

1.1 What Is Software Construction

  • Researchers have identified numerous distinct activities that go into software development. They include

    • Problem definition (定义问题)
    • Requirements development (需求分析)
    • Construction planning (规划构建)
    • Software architecture(软件架构), or high-level design (高层设计)
    • Detailed design 详细设计
    • Coding and debugging (编码与调试)
    • Unit testing (系统测试)
    • Integration testing (集成测试)
    • Integration (集成)
    • System testing (系统测试)
    • Corrective maintenance (保障维护)
  • 这本书是有侧重点的,作者下面这段话好有意思哈哈哈!

    If this book were a dog, it would nuzzle up(亲切地嗅着)to construction, wag its tail at design and testing, and bark at the other development activities.

  • Construction is also sometimes known as “coding” or “programming.” “Coding” isn’t really the best word because it implies the mechanical translation of a preexisting design into a computer language; construction is not at all mechanical and involves substantial creativity and judgment.

    • 作者 use “programming” interchangeably with “construction.”
  • 软件开发平面图(flat-earth)

    Figure 1-1 illustrates construction’s place related to other software-development activities.

  • 本书的立体视图(round-earth)

    In contrast to Figure 1-1’s flat-earth view of software development, Figure 1-2 shows the round-earth perspective of this book.

    本书大致以图1.2所示的比例来阐述

  • Figure 1-1 and Figure 1-2 are high-level views of construction activities, but what about the details? Here are some of the specific tasks involved in construction:

    更完整的内容,可以参照目录

    • Verifying that the groundwork has been laid so that construction can proceed successfully
    • Determining how your code will be tested
    • Designing and writing classes and routines
    • Creating and naming variables and named constants
    • Selecting control structures and organizing blocks of statements
    • Unit testing, integration testing, and debugging your own code
    • Reviewing other team members’ low-level designs and code and having them review yours
    • Polishing code by carefully formatting and commenting it
    • Integrating software components that were created separately
    • Tuning code to make it faster and use fewer resources
  • 那么哪些是非构建活动(nonconstruction activity)

    • Important nonconstruction activities include :
      • management
      • requirements development
      • software architecture
      • user-interface design
      • system testing
      • maintenance
    • Each of these activities affects the ultimate success of a project as much as construction—at least the success of any project that calls for more than one or two people and lasts longer than a few weeks.

1.2 Why Is Software Construction Important

  • Construction is a large part of software development

  • Construction is the central activity in software development

    • Done before construction: requirements and architecture

    • Done after construction: system testing (in the strict sense of independent testing)

  • With a focus on construction, the individual programmer’s productivity can improve enormously (把主要精力集中于构建活动,可以大大提高程序员的生产率)

  • Construction’s product, the source code, is often the only accurate description of the software (构建活动的产物–源代码,往往是对软件的唯一精确描述)

    • In many projects, the only documentation available to programmers is the code itself.
    • Requirements specifications and design documents can go out of date(过时), but the source code is always up to date(总是最新的).
  • Construction is the only activity that’s guaranteed to be done.

    The ideal software project goes through careful requirements development and architectural design before construction begins. The ideal project undergoes comprehensive, statistically controlled(全面的、统计意义上受控制) system testing after construction. Imperfect, real-world projects, however, often skip requirements and design to jump into construction(然而现实中不那么完美的软件项目往往跳过需求和设计的阶段而直接跃入构建环节). They drop testing (测试环节也被抛到一边)because they have too many errors to fix and they’ve run out of time. But no matter how rushed or poorly planned a project is, you can’t drop construction; it’s where the rubber meets the road. Improving construction is thus a way of improving any software-development effort, no matter how abbreviated.

1.3 How to Read This Book

  • 可以从头到尾阅读,也可以按主题阅读

  • key points

    • Software construction is the central activity in software development; construction is the only activity that’s guaranteed to happen on every project.

    • The main activities in construction are detailed design, coding, debugging, integration, and developer testing (unit testing and integration testing).

    • Other common terms for construction are “coding” and “programming.” (构建也常被称作“编码”和”编程“)

    • The quality of the construction substantially affects the quality of the software.

      (构建活动的质量对软件的质量有着实质性的影响)

    • In the final analysis, your understanding of how to do construction determines how good a programmer you are, and that’s the subject of the rest of the book.

更多推荐

代码大全2 chapter1 Welcome to Software Construction