程序员

代码大全读书分享(一)

2018-09-13  本文已影响42人  落叶飞逝的恋

一、软件构建的概念

1.1 软件构建的活动相关定义

构建(Construction),通常在我们生活理解中,第一印象可能就是房屋的构建。或者又例如小朋友搭积木的那种过程也可称为构建。故构建的通常指的是建设的过程。而软件构建的也就是软件开发的过程。而软件开发,在《代码大全》这种书,作者总结了11个构建过程中涉及到活动。

而作者通过下面一张图,阐述了本书的侧重的范围:详细设计、编码与调试、单元测试这几块。

图片 1.png

1.2 软件构建为什么重要

构建活动在整个软件开发活动总时间中所占比例一般在30%至80%之间,所以必然会影响项目的成败

在很多项目中,程序员可以得到的唯一文档就是源代码本身。需求规格书和设计文档可能会过时,但是源代码是最新的。因此,源代码就必须具有尽可能的高的质量。

二、使用隐喻的方式理解软件构建

软件开发相对于其他学科而言,还是一门很年轻的学科,它还没有完全成熟到拥有一套标准隐喻的程序,因此必然存在许多或者相互补充,或者相互抵制的隐喻,某些隐喻相对好些,而另一些比较糟糕,你对隐喻有多理解,也就决定了你对软件开发有多理解

2.1 常见的隐喻

在很多项目中,程序员可以得到的唯一文档就是源代码本身。需求规格书和设计文档可能会过时,但是源代码是最新的。因此,源代码就必须具有尽可能的高的质量。

将创造软件想象成类似播种和耕种的情形。你一次设计的系统的一小部分、写出一段代码、做一点测试,并将成果一点点添加到整个系统

先做出软件系统的一个尽可能简单,但能运行的版本。后期你再一次一次增加你得功能。目前互联网的公司的产品大都使用此方式进行开发,因为前期投入成本比较低,如果失败了,可以迅速改变策略方向。如果成功了,可以进行围绕核心依次展开拓展开发。

与系统生长概念相通,但是它提供了更详细的指导。比如前期详尽的调研,准备,软件规划等等。比如要构建大型信息化系统。应该使用此模式

三、软件构建的前期准备

3.1 前期准备的重要性

使用高质量的实践方法是那些能够创造高质量软件的程序员的共性。这些高质量的实践方法在项目的初期、中期、末期都强调质量。

构建活动是软件项目的中间阶段,在你开始构建的时候,项目前期工作已经或多或少为这个项目的成功或失败打下了基础。然而,在构建的过程中,你至少应该能够辨明当时的形式如何,如果你看到失败的乌云已经出现在地平线上时。就退回到项目的前期工作。

3.2 前期准备适用于现代软件项目吗?

在20世纪70年代开始至今的业界数据显示,如果在开始构建活动之前认真地进行适当的准备活动,那项目将会运行的很好。(作者的调研总结结论)

3.3 问题定义的先决条件

在构建软件之前,首先要满足的是一项先决条件,对这个系统要解决的问题做出清楚地陈诉。这时候称为:产品设想、设想陈述、任务陈述或者说产品定义。但是本书,将它称为“问题定义”

如下图,问题定义为后面的软件开发奠定了坚实的基础

2.png

而且问题定义应该用客户的语言来写,而且应该从客户的角度来描述问题。通常不应该用计算机的专业术语叙述。最好的解决方案未必是一个计算机程序。

3.4 需求的先决条件

3.5 如何处理构建期间的需求变更

3.6 架构的先决条件

软件架构是软件设计的高层部分,用于支撑更细节的设计的框架。通常会有一份独立的文档描述架构。

好的架构使得构建活动变得更加容易。糟糕的架构则使得构建活动几乎寸步。

3.png

3.7 软件架构的典型

四、总结

这篇主要是前三章关于概念理论的总结与分享。代码相关的在后面的篇幅进行介绍。谢谢,大家可以关注我的个人微信公众:Java从零入门系列,更多干货等你来哦!!!

上一篇下一篇

猜你喜欢

热点阅读