团队项目如何注重实效 ——读《程序员修炼之道》有感

Posted WHYDD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了团队项目如何注重实效 ——读《程序员修炼之道》有感相关的知识,希望对你有一定的参考价值。

团队项目开启了,“注重实效”的问题也变得格外重要,每个人都有各自的工作,也就需要一个合理的管理方法与原则。身处于团队里的我对此深有感触,一个好的策略可以让我们能够在省时省力的同时也能注重项目的质量。又一周的读书,幸而能够遇到“注重实效的项目”一章,这一章不仅介绍了使项目成功或失败的关键区域,也同样会教会怎么在遵循注重实效哲学的同时做到建立基本原则与分派任务。

首先成为一名注重实效的程序员是我所希望的,而一个个体在注重实效的团队中工作时,自身的成长是成倍增长的,于是我怀着一种激动地心情阅读这一章,脑海中不断重复着:这就是我所需要的。

 “质量”是一个团队问题,书中举例说:最勤勉的开发者如果被派到不在乎质量的团队里,会发现自己很难保持修正琐碎问题所需的热情,以至于问题会进一步恶化,正如前面个人开发要点,一个团队更不应该容忍破窗户,有的团队会专门配有保证产品质量的质量官员,一开始我认为这是一个很不错的想法,但作者却说这是荒谬的,质量只可能源于全体团队成员都做出自己的贡献,我仔细想想,确实如此,如果配有一个质量检查的人,那么对于开发的人来说,就可以不用在意自己的细节,如此一来,问题就如破堤的洪水一般无法阻拦,对质量官员是天大的难题,更是对项目的毁灭性的打击,因此只要每个人都为自己负责,质量自然就起来了。同样出现在团队身上的问题是“煮青蛙”,意思是不注意周围环境的渐变,导致最后被“煮熟了”,作为整体的团队更容易被煮熟,因为大家都会产生别人在处理某个问题的想法,最后即使是目的最明确的团队对项目中的重大改动可能也会很健忘。“交流”在团队中尤为重要,试想一个没有交流的团队,他们甚至不能称的上团队,都变成了个人开发,到最后所有模块拼接的时候就会出现,要么是拼不上,要么就是拼出了一个四不像,而且没有交流就会造成成员开发时的重复,不仅是工作的浪费,而且会带来维护的噩梦,这也就是一个小组需要每周都至少开一次会,哪怕没有需要讨论的东西,在一起编程也是一种交流的手段,不仅提高能力,而且可以避免没有交流出现的种种问题,书的备注里有一句话:“团队用一个声音说话——对外部,在内部,我们强烈地鼓励进行活跃、热烈的辩论”。

紧接着便是如何划分一个小组,是按照工作职务划分还是选择围绕功能?一般传统的团队组织是基于工作职务指派的,认为项目的各种活动——分析、设计、编码、测试,会孤立地发生,这是一个错误,每一个都是有联系的,人为的分隔开会带来许多麻烦,如果围绕功能划分,那么就有助于使团队作为整体与变化的各种效应隔离开来,例如我们团队将小组分为了前段与后端,前段又分为了登录界面、用户界面和游戏界面,后端分为了各类功能,每一部分都有人进行负责,如果有东西需要修改,那么只需对相应的功能模块进行修改,对其他部分的影响就可以降到最小,有一句话很重要,只有在项目拥有负责的开发者以及强有力的项目管理时,这种途径才有效,这就类似我们的组长一般的存在。团队是由个体组成的,让每个成员都能以他们自己的方式闪亮,给他们足够的空间,以支持他们。

“文明通过增加我们不假思索就能完成的重要操作的数目而取得进步”,这句话的意思是进步就体现在无处不在的自动化,一般来说现代社会从手工流程逐步的走向了自动化的进程,正如软件开发,有时候我们需要确保项目的一致性和可重复性,人工流程不能这两个性质,所以我们推崇一切都要自动化。项目编译是一件应该可靠、可重复地进行的琐碎工作,使用makefile有若干好处,它是脚本化、自动化的流程,可以增加挂钩,让其为我们生成代码,并自动运行回归测试。一个程序员不可能把所有时间投入实际编程,因为有邮件需要回复,有文档要发布到Web上等,于是可以使用一个shell脚本完成它们,人的记忆是随着时间会丧失的,通过运行脚本可以自动为我们完成各种流程,实现维持自动、无人照管、内容驱动的工作流。在平时的时候,如果自己有一段时间没有对代码的编程,有些流程就会如作者所说遗忘掉,如果有一个shell脚本可以自动完成的话,那么就可以省下来去回想与重新熟悉的过程与时间,可以说是很人性化的。

测试可以说是无情的,作者也是这么认为的,想想自己曾经被代码测试折磨的死去活来,就感到一阵头皮发麻,但是要成为一个注重实效的程序员要有一种感觉,一种以后经由别人找到我们bug所带来的羞耻,自然而然的就有了测试代码的动力。一开始在编了寥寥几行的时候就应该进行测试,否则就如书中比喻所讲,那些小鱼苗有飞速地变成吃人的大鲨鱼的可恶习惯,而抓住鲨鱼会困难许多,简而言之,bug发现的越早,进行修补额成本就越低,所以就要“编一点,测一点”,每次对于这个真理自己都是信心满满的说,自己知道了,但是到了真实的上战场的时候就会发现自己又犯了把小鱼苗养大的错误,因此自己对于测试是无比无奈,我想自己可以在以后的编写的任务时,每次写注释的时候加上一句“未测试/已测试”,以督促自己。好的项目拥有的测试代码可能比产品代码还要多,这个给了我以后写测试代码的信心。

一本书已接近尾声,回顾自己以前的读书笔记,发现自己已经有了一丝小小的进步,说不喜悦,那肯定没有,但自己任要继续下去,戒骄戒躁,学习的道路没有止境。

以上是关于团队项目如何注重实效 ——读《程序员修炼之道》有感的主要内容,如果未能解决你的问题,请参考以下文章

程序员修炼之道 从小工到专家

《程序员修炼之道》笔记

程序员修炼之道

我与项目的化学反应 ——读《程序员修炼之道》有感

《程序员修炼之道》之注重实效

《程序员修炼之道》读书笔记①