阅读笔记05

 (代码大全)那么为什么软件构建如此重要呢?

1.构建活动是软件开发的主要组成部分。(在一个项目中大约会占到30%-80%的时间)
2.构建活动是软件开发中的核心活动。(不正规的项目中基本达到100%)
3.把主要的精力集中于构建活动,可以大大的提高程序员的生成效率。
4.构建活动的产物:源代码,往往是对软件的唯一的精确描述。(很多项目中,程序员可以得到的唯一文档就是源代码本身。)
5.构建活动是唯一一项确保会完成的工作。(也就是说可以没有别的流程%>_<%。。)

2.1 隐喻的重要性

重要的研发成果常常产自类比。通过把你不太理解的东西和一些你较为理解、且十分类似的东西作比较,你可以对这些不太理解的东西产生更深刻的理解,这种使用隐喻的方法叫做建模。

 如何使用软件隐喻

隐喻的作用更像是启示,而不是算法。算法是一套定义明确的指令,是你完成某个特定的项目,而启示是一种帮你寻找答案的技术。

对于编程来说,最大的挑战还是将问题概念化,编程中的很多错误都是概念的错误。(说的太好了!)
原因在于每个问题在概念上都具有独特性。(所以没有通吃的方法啦~)

那么该如何使用软件中的隐喻呢?应该用他来提高你对编程问题和编程过程的洞察力,用它来帮助你思考编程过程中的活动,想象出更好的做事的方法。(就是建模建的好,编程飞上天呗!)

常见的软件隐喻

A.软件中的书法:写作代码(简单、呆板)

写信隐喻主要针对于个人开发,但不适合更大的软件项目常见,因为它没有完整、充分地刻画软件开发工作。

对于写作而言,最重要的事其原创性。但对于软件构架来说,努力创造真正的原创成功的开发效率,往往低于专注于重用以往项目的一些设计思想、代码以及测试用例的开发效率。(这种方法和《人月神话》好像还扯上了关系)

文字写作隐喻暗示着软件开发过程是一种代价昂贵的试错过程,而非仔细的规划和设计。


B.软件的耕作法:培育系统(一次做一点)

C.软件的牡蛎养殖观点:系统生长(先搭架在添加)

增量式的开发过程就是我们先搭建一个尽可能简单,但能运行的版本,然后在向这个版本一点一点的增加功能代码。这种隐喻的优势在于未做过过度承诺。

D.软件构建:构建软件(详细指引)

它与软件生长的概念相似,只是给出了更详细的指引,暗示出软件开发过程中有诸多阶段。

适当的多层次的规划对于建造建筑物和构建软件都有好处。如果你按错误的顺序构建软件,那么编码、测试和调试都会更难。需要花更长的时间才能完成,甚至整个项目分崩离析。你只需要保证已经做了足够的计划,不会到后来因为计划不足而引发重大问题。

E.应用软件技术:智慧工具箱(拿来就用)

不同的隐喻是不同的启发方法而不是算法,因为它们并不互斥,你可以组合使用对你来说最有用的隐喻。

 

posted @ 2024-05-09 23:49  艾鑫4646  阅读(1)  评论(0编辑  收藏  举报