构建之法阅读笔记01

其实上学期阅读过类似的《构建之法》,这个学期再来读一本《构建之法》,我的内心还是有千万头草泥马奔腾而过的,因为说实话这样的文章我在看的时候就有点一头雾水的感觉。好在作者的解释比较通俗易懂,我还能记着一些零碎的知识点。

  文章的一开始,作者就抛出一个对于每一个接触编写程序的人来说都熟的不能再熟的公式:程序=数据结构+算法,其实说实话,我在看这本书之前对这个公式里面所包含的意思并不是很懂。作者列举个三个例子:“JAVA中遍历二叉树时没有指针是否就说数据结构中的二叉树没有用”,“新入职的程序员很少用到数据结构的知识和算法对学习的内容产生了怀疑”,“信程序员改老程序员的代码”。然后突然问了一个让我茫然的问题:真正的程序到底是什么?

  在下面的文章里,作者举了一个编写出题程序的例子来说明代码和程序的不同。我了解到,真正的程序不仅仅是一串代码,真正的程序是要注意质量和用户体验的,对于程序员来说,做一个程序需要的还有对那个程序的理解还要进行软件测试。然后得到了一个扩展的推论:软件企业=软件+商业模式。相对于第一个公式,我反而觉得这一个公式更加容易理解。软件中的数据结构以及算法即程序是基本功,但是在其之上,软件工程决定了软件的质量。所以,我得出的结论是:软件工程的存在才区分开了软件和代码。所以,我们的练习代码还离程序很远,仅仅只能称作代码!

  作者还把程序分为:玩具阶段,业余爱好阶段,探索阶段以及成熟的产业阶段。作者还用例一个飞机的例子来向我们说明了,程序的隐患是不能存在的,我们在写程序的过程中也要考虑飞行事故中遇到的问题。而不是仅仅追求软件的进度。

 作者还总结了以下几个要点,我觉得对很有用,就摘抄在这里了:

  软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。

  软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试盒软件维护。

  软件工程和下列的学科相关:计算机科学、计算机工程、管理学、数学、项目管理学、质量管理、软件人体工学、系统工程、工业设计和用户界面设计。

  作者还说,程序员的目标就是做足够好的软件,我觉得要做足够好的软件就要做到专注,要注意那只叫BUG的飞蛾,也要注意用户的体验,对我来说,目前只是要保证降低我如今程序的错误率吧。
  

  

原文地址:https://www.cnblogs.com/3066405538a/p/5354571.html