在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

提升团队编码效率的 10 个提示

  • 2014-02-09
  • 本文字数:2165 字

    阅读完需:约 7 分钟

Voja Janjic 是一位自由的 Web 开发者,拥有多年的从业经验;此外,他还是一位出色的网络管理员。近日,Voja 撰写了一篇文章,谈到了如何提升团队的编码效率,如何提升团队中每一个成员的工作效率。毕竟,团队是由一个个成员构成的,如何在保证提升每一个人的效率的基础上提升整个团队的效率就是一个非常重要的议题了。

与其他活动类似,Web 或软件开发也是个社会性活动,如果你是个开发者或设计师,那很有可能你会身处在一个团队之中。团队由不同的人构成,每个人都有不同的习惯、动机、工作与编码风格。本文旨在介绍一些让团队更具效率和生产力的提示。

1. 定义好团队结构

可以按照多种方式来定义团队结构,不过最常见的两种是主程序员团队与无我编程团队。

主程序员团队至少由 3 人组成:一个主程序员、一个高级程序员和一个程序管理员。这种结构非常适合于处理简单和直接的任务。另一方面,该结构并不适合于复杂的任务,因为在这种结构下,交流与任务协作都是非常有限的。

无我编程通常是个去中心化的团队,由 10 个左右的程序员构成。整个团队会共同参与设定目标,在项目的不同阶段,领导者也会发生相应的变化,这会提升工作满意度。除此之外,良好的协作与交流也使得这种结构非常适合于处理复杂任务。不过另一方面,缺乏控制可能会造成效率与生产力的下降。

2. 将项目分解为任务

在定义好团队角色后,接下来需要将项目分解为任务,并将这些任务分派给团队成员。好的做法是一个团队成员只负责一个任务。如果需要,可以将一个任务分解为几个更小的任务,这样可以很好地完成。

3. 制订项目计划

定义好团队结构并分派好任务后,接下来就需要制订项目计划了。在这个阶段,你需要确定好任务的优先级与顺序,同时还要指定好每个任务的截止日期,这样才能确定下来整个项目的持续时间。

这个过程可以通过传统手段完成:使用笔纸。不过,最好使用项目管理软件来做。这样不仅会加快计划的速度,而且现在有很多在线工具可以实现跨团队成员的沟通与协作。

在这个阶段中需要考虑到的一个重要的事情就是计划谬误——低估完成任务所需的时间。这种心理现象只会影响到我们对自己所要做的任务的预测。在 1994 年的一项研究中,研究人员让学生们估算一下他们完成论文所需的时间,平均的估算时间是 33.9 天,而实际完成的平均时间则是 55.5 天。因此,好的做法是将估算时间乘以 1.7,这样才会得到一个比较恰当的估算时间。

4. 定义编码标准

不同的程序员有着不同的编码风格,这会导致低效的编程和错误修复过程。幸好,我们可以通过定义团队中每个人都要使用和遵守的编码标准来轻松解决这个问题。最好的做法不是强制施加标准,而是团队一同来制订标准,根据业界的最佳实践与推荐来制订。

5. 不要编辑现有代码

这个提示是对上一提示的补充,并且在编码标准尚未形成的情况下尤为重要。当团队中存在着不同的编码风格,同时又没有定义好编码标准时,经常出现的一种情况就是一个人会重写其他人的代码,觉得自己的代码风格是最好的。这会扰乱团队成员之间的关系,降低大家对工作的满意度,并且将大量宝贵的时间浪费在没什么生产力的事情上面。因此,建议大家不要这么做,如果怀疑或是发现有人这么做时要及时提出来。

6. 考虑结对编程

结对编程是一种特别的开发技术,指的是两个程序员在一台电脑前工作的方式。其中一个程序员编写代码,另一个程序员会审查他所编写的每一行代码。两个程序员的角色会频繁切换。

相较于独立工作的方式,结对编程有很多优势。两个程序员共同编写出的代码 Bug 更少,完整性更好,能够更快地找出问题的解决方案并提供更多的设计选择。除此之外,结对编程还会提升生产力,因为处于结对中的程序员不太可能频繁检查社交网络、邮件或是在工作时间内上网。

另一方面,有一些情况会破坏结对编程的效率:

  • 脱离(其中一个成员没在工作,离开了计算机)。
  • 一个程序员的经验比另一个少很多,他总是看自己的同伴写代码。
  • 程序员彼此之间缺乏交流和沟通。应该极力监控和避免这些情况的发生。

7. 使用版本控制软件

老话说的好“只要做就有可能出错”,编程的时候当然也会出现错误。然而,如果没有使用版本控制软件,那么团队成员可能就要花很多时间将代码恢复到之前没有错误的状态。借助于版本控制软件,恢复的过程就好比是按下一个撤销按钮一样简单。

8. 不要在延迟的项目中再添加人手

“在延迟的软件项目中添加人手会让项目更加延迟”,这句话出自 Brooks 之口。更加通俗一点,“9 个女人不能在 1 个月内生出孩子”。那么,为什么说添加更多的人手反而会导致效率低下呢?主要的原因在于新人需要时间才能实现高效率。这个时间又叫做增强时间,涉及到对新人的培训,让其了解项目之前的工作、目标与细节信息。资深的团队成员要花很多时间在培训而不是工作上,这意味着放在项目任务上的资源就变得更少了。然而,这只适用于那些已经延迟了的项目。

9. 不要加班

当项目延期时,经理们通常会要求团队成员加班来完成工作。这么做会导致精力衰竭、动力降低、工作满意度下降的结果。此外在加班时,人的生产力实际上是很低的。因此,不要加班,而是在工作时间内保持高效率。

10. 工作时保持舒服的感觉

在编程时,重要的是要保证大脑运转正常,不要被其他事情分心。比如说保持足够的睡眠、在工作前做一些轻度的运动或是吃点东西都会提升工作效率。另外,一把舒适的椅子、明亮的灯光等都有助于大脑的全神贯注。

2014-02-09 11:344142
用户头像

发布了 88 篇内容, 共 274.1 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

免费训练营限时抢报|大咖带你玩转PolarDB for PostgreSQL开源训练营

阿里云数据库开源

数据库 postgresql 开源 阿里云; polarDB

健康码如何影响世界

王字 Wannz

小程序 微信 finclip 凡泰极客 健康码

想开一家24小时的自助洗车店要多少钱

共享电单车厂家

自助洗车机多少钱 24小时自助洗车店 开自助洗车店多少钱

6元自助洗车怎么样?想加盟自助洗车

共享电单车厂家

自助洗车加盟 6元自助洗车 自助洗车怎么样

2022春季校园招聘·复旦站,即将开启~

非凸科技

Apache ShenYu源码阅读系列-Divide插件

子夜2104

恒源云(Gpushare)_FAIR CVPR2022新作DVT是个啥?

恒源云

深度学习 CV transform

云原生虚拟化的最佳拍档:Kube-OVN + KubeVirt 【附有奖调研】

York

Kubernetes 云原生 网络性能 云原生网络 网络虚拟化

艾瑞咨询:2022年隐私计算卓越者——洞见科技

洞见科技

隐私计算 数据智能解决方案

24小时无人洗车加盟!就自助洗车加盟

共享电单车厂家

自助洗车机多少钱 自助洗车加盟 24小时无人洗车加盟

模块二作业

Dean.Zhang

架构实战营

远程代码执行漏洞复现分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

为什么要选择Web3?它有什么好处?

CECBC

首届物联网数据基础设施案例大赛结果出炉,与 EMQ 和英特尔共同见证物联网的无限可能

EMQ映云科技

物联网 IoT intel emq

等了15年,这本豆瓣评分高达9.3的编程巨著终于出版了!

图灵教育

数字人民币试点扩大,市场化问题如何解决?

CECBC

【分享汇总】25个主题分享,360°领略OpenHarmony最新技术版图

OpenHarmony开发者

OpenHarmony

小波从此逝,江海寄余生,不但是文坛巨擘还是不世出的编程奇才,王小波离世25周年

刘悦的技术博客

编码习惯 编码 代码 编程、 编码规范

InfoQ专访龙蜥社区陈绪:从CentOS 停服说起,龙蜥操作系统的开源观

OpenAnolis小助手

centos 开源 操作系统 开放原子开源基金会 龙蜥社区

机票报价高并发实施的关键路径

Qunar技术沙龙

高并发 后端技术

云效多云视角团队协作方式,让团队协作更高效

阿里云云效

阿里云 项目管理 运维 研发管理 团队协作

解读谷歌 Pathways 架构(二):向前一步是 OneFlow

OneFlow

人工智能 机器学习 深度学习 深度学习框架 谷歌

Reactor实现http服务器,附完整代码

Linux服务器开发

后台开发 reactor HTTP Linux服务器开发 服务端开发

FAQ是什么?如何高效地创建一个好的FAQ页面?

小炮

FAQ

无人自助洗车机多少钱一台?不是自动

共享电单车厂家

自助洗车机多少钱 自助洗车加盟 无人自助洗车机

我们两周岁啦!InfoQ写作平台正式升级为InfoQ写作社区

InfoQ写作社区官方

热门活动 InfoQ写作社区2周年

有小程序还没有App?试试用小程序转App功能

Speedoooo

APP开发 移动端开发 小程序转app

为什么领导不喜欢提拔老实人?

方云AI研发绩效

团队管理 研发管理 数字化转型 职场 PUA 职场发展

TDesign 更新周报(2022年4月第2周)

TDesign

2022年中国低延时技术市场洞察

易观分析

低延时

提升团队编码效率的10个提示_语言 & 开发_张龙_InfoQ精选文章