第二周读书笔记《构建之法》

构建之法读书笔记

#wmd-preview h1 { color: #0077bb }

构建之法读书笔记

沈三景 PB15061249 软件工程 读书笔记


前言

本周阅读了构建之法的四、五两个个章节。这三个章节主要讲述了代码规范、结对编程、团队模式、开发流程。


第四章 两人合作

首先提到的是代码规范,程序员写的代码不仅要给机器看,还要给人看。好的代码规范能事半功倍。代码规范有分为代码风格规范和代码设计规范。代码风格规范是指让代码保持简明,让代码更易读。书中给出的规范是Tab键为4个空格,行宽为100字符,在复杂的表达式中要用括号来表示逻辑优先级,断行和{}最好为:

if(condition)

{

Dosomething();

}

else

{

Dosomethingelse();

}

即{与}单独成一行,注释要表明程序做什么?为什么这样做?对于代码设计规范,一个函数只做一件事,且要做好,函数要有单一的出口,仅在必要时才用类。

其次讲到的是代码复审,代码复审的目的是为了发现各类错误,以及可以改进的地方。

最后提到的是结对编程。结对编程是指一对程序员平等的并发进行开发工作,即用同一个显示器,同一个键盘,同一个鼠标工作,一起分析,一起编码,一起测试。这样子带来的好处是能提供更好的代码质量,给编程人员带来更多的信心,已经增进交流,相互学习。


第五章 团队合作和流程

在本章中首先提出的一个问题是什么是团队?是七八个人聚在一起就是团队吗?不一定,也许他们只是一群乌合之众。一个团队,需要有一个明确的集体目标,并且团队成员要一起完成这个目标,这些团队成员有各自的分工,相互依赖合作,共同完成任务。这样的一群人才能称之为一个团队。

团队有很多模式,比如:主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队模式、特工团队等等这些模式有各自的优缺点,但可以肯定的是很多团队最终都会演变成功能团队,即具有不同能力的同事平等合作,共同完成一个功能,在这个功能完成之后,这些人又重新组织,和别的角色一起完成下一个功能。他们没有管理者和被管理者的身份关系。

作者在本章还介绍了团队开发的流程,让我感兴趣的是渐进交互流程。在这个流程中,软件团队进入了一个不断演进的evolution循环中:开发-->发布-->听取反馈-->根据反馈做改进。直到钱花完了,时间到了,用户满意了为止。这个模式有一个最大的问题,就是如果用户对第一个版本不满意,不想购买产品,那么整个团队为第一版所做的努力都白费了。这个问题的根源是团队得到客户的反馈太晚了,对此作出的改进是,把产品的最核心功能用最小的成本开发出来,然后快速听取客户的意见。

原文地址:https://www.cnblogs.com/sanjing/p/8620679.html

时间: 2024-10-15 04:56:20

第二周读书笔记《构建之法》的相关文章

第二周读书笔记

本周我读的书是Frederick P.Brooks所著的<人月神话>这一十分著名的书籍.这是一本非常典型的外国科技作品:富含了幽默感和形象生动的比喻:"焦油坑"."人月神话"."外科手术队伍",看到这些词,你会很快在脑海中建立起一个很清晰的画面,同时也会产生很多疑问:这个东西,这幅画面的特点是什么?为什么要提起它?作者又想让我关注什么?而当我们仔细阅读其中的内容,很快就会发现,怀揣着这些问题的我们,可以迅速的感知到作者想要表达的重点是

Android深度探索——第二章读书笔记及心得

Android开发环境搭建 ——第二章读书笔记及心得 通过本章的学习了解了如何对Ubuntu Linux下的Android进行搭建,包括搭建Android应用程序开发环境.Android NDK开发环境和交叉编译环境的搭建.了解了搭建Android环境所需要的各种东西,了解了配置ADT的必要性—以便ADT能够找到Android SDK.知道了底层开发所需要的各种工具.学会了如何在Ubuntu下安装JDK.以及编译交叉编译环境,当初在学习Linux交叉环境编译的时候就不是特别成功,中间出了很多的错

第一周读书笔记《构建之法》

构建之法读书笔记 #wmd-preview h1 { color: #0077bb } 构建之法读书笔记 沈三景 PB15061249 软件工程 读书笔记 前言 开学前两周,杂事颇多,没有充足的时间阅读<构建之法>,只能每天在睡前阅读约半小时,故只看了前三章.虽如此,但仍收获很多,下面就是我对前四章内容的一些看法和理解,如有理解偏颇之处,望见谅. 第一章 概论 本章主要介绍了软件工程是什么?软件工程的目标是什么?为了解决前一个问题,作者首先提出了两个等式: 程序 = 数据结构 + 算法 软件

linux第二次读书笔记

<Linux内核设计与实现>读书笔记 第五章 系统调用 第五章系统调用 系统调用是用户进程与内核进行交互的接口.为了保护系统稳定可靠,避免应用程序恣意忘形. 5.1与内核通信 系统调用在用户空间进程和硬件设备间添加了一个中间层, 作用:为用户空间提供了一种硬件的抽象接口:保证了系统的稳定和安全,避免应用程序不正确使用硬件,窃取其他进程的资源,或做出危害系统的行为:为了实现多任务和虚拟内存. Linux提供的系统调用比大部分操作系统少得多. 5.2 API.POSIX.和C库 一个API定义了一

第三周读书笔记

<程序员的职业修养>读书笔记 本书一直围绕着"专业"二字展开,以作者的观点阐述了何为"专业的程序员":专业的程序员是如何思考,如何解决问题,如何承担责任. 所有软件项目的知道原则是,软件要易于修改.如果你希望自己的软件灵活可变,那就应该市场修改它!要证明软件易于修改,唯一的办法就是做些实际的修改.如果你发现这些改动并不像你预想的那样简单,你就应该改进设计,使后续修改改变简单.有时开发期已过进入测试阶段,可能还会加一点需求,如果是影响到逻辑上的改动会比较麻

第六周读书笔记《极客与团队》

<极客与团队>读书笔记 做程序员这个职业,就意味着与别人在工作上会有不少沟通与交流,处于一个团队中,如何能更好地编写代码,在团队中如鱼得水,过得更加开心,<极客与团队>这本书就给了我一些启迪. 这本书其实针对的是极客们,希望他们能够认识到团队的重要性.书中提到程序员要建立可以理解的代码,要注意与人的沟通,而不是只顾着自己.这一点我深表赞同.邓老师也在一直强调,写的代码要注意注释,要跟别人进行交流,注意书写格式以使得代码阅读性更强.这是因为个人的工作只是团队工作的一部分,要想整个团队

第五周读书笔记

<c++应用程序性能优化>读书笔记(part3) 应用程序的启动性能是应用程序给最终用户的第一印象,是衡量一个程序易用性的重要指标.书的第三部分介绍了启动性能优化的一些方法,第七章介绍了应用程序的物理布局,第八章介绍了应用程序在windows和linux平台上的编译到启动的过程,第九章介绍了优化启动项的一些方法. 本章从动态链接库开始讲起,简单的介绍了一下DLL.这里其实我看的有点晕的,大概就是说DLL可以看成一个一个函数的集合,我们可以编写代码来调用.然后讲了一些类似微机原理课本上的知识,我

第九周读书笔记

软件工程师的成长-构建之法 这两周算是比较忙了,抽空读了一下<构建之法>中的软件工程师的成长这章,颇有感悟. 团队项目也是以个人为单位的,所以软件工程师的能力直接影响到团队项目的质量.这是我以前没有意识到的,以前我只是想团队项目嘛,不就人多力量大,但是作者说团队项目也是由个人流程拼接起来的,这给我提了个醒,团队项目不是大锅饭,而是一条条流水线,每位工程师就像是一条流水线,只有每条流水线正常工作,衔接得很好,最后的项目才能做得好. 既然软件工程师的能力很重要,接下来作者自然讲述了软件工程师如何成

第五六周读书笔记

一.几种低压接地系统: 1.TN系统: TN系统即电源中性点直接接地.设备外露可导电部分与电源中性点直接电气连接的系统. TN系统主要是靠单相碰壳故障变成单相短路故障(短路电流是 TT 系统的 5.3 倍),并通过短路保护切断电源来实施电击防护的.从电击防护的角度来说,单相短路电流大或过电流保护器动作电流值小,对电击防护都是有利的. TN 系统节省材料.工时,在我国和其他许多国家广泛得到应用. TN 方式供电系统中,根据其保护零线是否与工作零线分开而划分为TN-S系统.TN-C系统.TN-C-S