zoukankan      html  css  js  c++  java
  • 《Code Complete》第一部分纪要

      第一部分,前四章内容,给我的感觉不深入,还没有什么让我觉得特别提神醒脑的内容。但是也还是有一些观点能够让我感到略有体会,可能是自己还是太菜了。这里只做一个简单的纪要。

      首先,如果是自己成为一个项目的需求分析者,和整个代码架构和结构的主要设计者,其中提到的几个checkList(需求核对表、架构核对表)是可以参考的,倒不至于说其中的每一点都必须满足了才能去推动需求,那样也不现实,而是把它作为一个参考,看看还有哪些可以满足,但是当前没有做好的,这在经验不足的时候可以作为一个重要的参考。

      其次,有一些内容,也是让我有感同身受。自己经历的过程中虽有体会,但没有这么总结出来:

      1.对于软件构建来说,“努力创造真正的原创成果”的开发效率,往往低于专注于重用以往项目的一些设计思想、代码以及测试用例的开发效率。--这里主要是为了说明,代码的重用性很重要,所谓的努力创造真正的原创成果应该是往反方向努力。这一点是显而易见的。

      2.能有效地开发高质量软件的人们,在长年累月中积累了大量的技术、技巧和诀窍。技术并不是规矩( rule ),它只是分析工具( analytical tools )。好的工匠知道完成某项工作要用哪样工具,也知道该怎样正确地使用。程序员也该这样。编科方面的知识学得越多,你脑中的工具箱中就会有更多的分析工具,也会知道该在何时用这些工具,以及怎样正确地使用它们。--这里的启发主要还是,我们要尽量接触多的工具,知道不同的工具优劣,适用范围。从这一点上,也说明了广度比较重要,对比不同的技术,在各自领域的优势和劣势,能够帮助我们更合理地去使用不同的技术解决各自擅长的领域问题。

      3.一个“险恶”的问题:你必须解决了这个问题,才能知道如何解决是优雅的,有效的。--这里确实有体会,但是一方面来说,从设计的角度,确实经验很重要,也就是说确实是解决了才会更好地去解决这个问题。但是这种能力我认为是可以迁移的,如果底子够好,经验也比较多,涉及的领域广泛,维度也比较高的话,那么解决了一个问题,就能解决一大批同类型的问题,这是可以积累的。

      

  • 相关阅读:
    ()Python在数学建模中的简单应用
    ()Python3 列表,数组,矩阵的相互转换
    差商代微商的方法求解一阶常微分方程
    ()LaTex 论文排版(1): Win10 下 LaTex所需软件安装 (Tex live 2018 + Tex studio)
    渐进记法(O,Ω,Θ)
    定义类型别名(typedef,using)
    安装Java和Tomcat
    用PHP语言刷OJ题
    函数模板
    数组操作符
  • 原文地址:https://www.cnblogs.com/bruceChan0018/p/15027653.html
Copyright © 2011-2022 走看看