附加作业二——读书笔记

第一章 谈构建

 

这本《代码大全》是室友杨超同学通过自己黄金点游戏的胜利挣来了

看了目录以后我还是有点吃惊的

本来以为这本书是把有用的代码罗列出来供我们程序员来参考借鉴的

其实不然

在书的一开始是介绍一个软件的构建还有“隐喻”的重要性

由此可见,在一个软件编写的过程中,最先开始的不是软件代码的编写

而是对软件在计划、设计、检查等方面的准备工作

代码编写只是软件的一部分,不是全部

这正如我们这学期所学的软件工程课程一样

软件开发包含着各种各样不同的过程

其中有定义问题,需求分析,规划构建,软件架构,详细设计,编码和调试,单元测试,集成测试,集成,系统测试,保障维护的工作

其开发的主要流程如下:

问题定义——需求分析——规划构建——架构(概要设计)——详细设计——编码与调试——单元测试——集成测试——系统测试——交付或发布——软件维护

可能在不太正规的编程工作里面,就比如我们这种学生的编程项目

我们无法分辨出一个软件的开发过程竟然包含着如此多的过程

但是实际上,当我们进行一个十分正式的项目的时候,就需要这些过程

而我们程序员所要在项目中做的事情

不只是编码那么简单

还有一系列的测试工作

这些统称为“构建”

构建活动是软件开发的主要组成部分

根据项目规模的不同,构建活动在整个软件开发活动总时间中所占比例一般在30%-80%之间

因此,构建活动会影响到一个项目的成败

软件开发中,构建活动是一个核心的内容,其他的活动或是说构建的铺垫,或是说构建的收尾

需求分析和架构设计是在构建前完成的基础工作

他为一个构建活动打下了坚实的基础

而系统测试是为了验证构建项目的正确性

他为一个构建活动画龙点睛

这是第一章告诉我们的内容

 

第二章 谈隐喻

 

在软件领域,我们常常能听到各种各样生动形象的比喻

蠕虫病毒,特洛伊木马什么的

这描述了软件领域中各种特定的现象和事物

而在软件开发的过程中

类比,比喻这样的构建方法是十分常见的

这种方法给他一个学名——建模

提到建模我就能够明白隐喻在软件开发中的地位了

“编程这门学科还没有那么先进,或许永远不可能那么先进”

对于编程来说,最大的挑战是将问题概念化

因此,能够大致的知道如何解决一类问题其实和知道如何解决一个问题的价值相同了

本章节中介绍了软件中的一些隐喻

比如软件中的书法——写作代码

软件中的耕作法——培植系统

软件的牡蛎养殖——系统成长

软件的构建——建造软件

这些隐喻都是一种启发式的方法二不是算法,因此它们彼此并不排斥

在软件领域中

合理的利用隐喻能够帮助我们把所有的方法、技术和技巧留在我们的脑海中

以至于我们在合适的时间拿来就用

这不由得让我想起来了我们在高中时代老师所教的记忆方法

就像联想记忆法

在你想记忆一个东西的时候

你记忆这个陌生的你要记忆的内容相关的你所熟悉的内容

在你想起熟悉的内容时自然就能记得陌生的内容了

真是有异曲同工之妙啊

总结一下:隐喻是一种启示而非我们设计的算法方面的内容,他能够带给我们写一个软件的灵感

第二章结束

 

第三章 前期准备

 

看到这个题目,我便能感觉到这章的重要性

俗话说完事开头难

如果一个软件的准备工作没有做好

后面的构建工作无从谈起

就像工人们盖房子

如果他们没有拿到一个建筑的蓝图,没有打下坚实的地基

那么如何盖出漂亮的房子?

一个项目的成败很大程度上在构建活动开始前就已经注定了

对于准备工作

他的核心思想是降低一个项目风险性

一个好的项目规划者需要尽可能早的把主要风险清除掉

以便项目能够平稳的进行

否则在项目实施的过程中这些风险就可能像定时炸弹一样爆发

在这章中还提到了“关于开始构建之前要做前期准备的绝对有利且简明的论据”

其中包含

诉诸逻辑(Appeal to logic)

开始动手制作软件之前,先好好思考打算如何做,这样可以花费更少的时间和金钱,以免自己走入死胡同

诉诸类比(Appeal to Analogy)

这和第二章所诉的类似,利用形象生动的事物来找到一个程序的结构

诉诸数据(Appeal to Data)

利用从前成功的案例来修正自己案例的错误和缺陷

在实际问题中,项目往往是高度迭代开发的产物,这种方法的“计划、需求、架构”活动与“构建、系统测试、质量保证”活动交织在一起。

总结项目的过程

架构师吃掉用户的需求,而设计师吃掉架构师设计的架构,而程序员则消化设计师创造的设计。

 

我自己水平比较次,读书笔记也就只能把书上重要的内容总结一下,没有代码量的我谈不出其他实际的东西

读书笔记部分到此结束吧,复习考试去了

转载于:https://www.cnblogs.com/mxc1868/p/3496521.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值