22-03-24 06:20 微博认证:前微软Asp.Net最有价值专家 2025微博年度新知博主 科技博主

@LiYYYYYYYYYYYY-Bin: 关于leader不参与实际开发 如何保证版本的质量,我的看法:需求确定情况下,1.保证测试时间;2.评审测试用例 。请教下宝玉老师有什么”道”“术”吗,指点一二🙈
#软工好问题#

这是个好问题,也是个常见问题,很多优秀的工程师转去做leader或者manager之后,就没有时间再和团队一起编码,很难控制代码的质量。

那么怎么办呢?

怎么算是好代码?

1. 要满足需求(而不是为了炫技)
2. 结构清晰
3. 易读易懂
4. 易于维护
5. 有良好的测试覆盖

怎么样可以保证好代码?

** 培养人
核心当然是人,团队里面要有靠谱的资深工程师,认真负责,以身作则,在代码质量上把关,就不会差到哪去!

转当Leader或者Manager之后,最要紧的是培养人招聘人,让别人可以替代你做系统设计、做代码审查。

** 做好系统设计审查
然后是做好系统设计。一个工程项目,决定代码质量的最重要的因素不是你算法多牛逼,代码多炫酷,而是你的系统设计,越是复杂的项目对系统设计要求越高。因为借助系统设计,通过抽象和分层将复杂的系统分解成了简单的功能模块。当一个模块足够小和足够简单,那么一个新手程序员也可以完成,代码也不会太烂。

当Leader或manager之后,不需要自己去做系统设计,但是要参与到系统设计的审查中,一方面可以分享经验,一方面可以控制质量。如果设计就有问题,那么写出来的代码一定是有问题的,如果设计没大问题,代码不会差哪去。

如果你的团队不做系统设计,那么现在就做起来。

** 做好代码审查
在代码合并之前,如果没有审查,那恐怕要混进去好多垃圾代码,一旦有了审查流程,每一个人提交代码时都会认真很多,毕竟谁都不想自己的烂代码被人看见。

当Leader或manager之后,不需要每个PR(Pull Request)都去审查一遍,但至少关键的PR要把好关或者有人帮你把关,有空的时候翻一下历史PR,有问题可以及时纠正。

** 要有自动化测试覆盖
烂代码的直接危害就是代码一部署就出问题,自动化测试可以有效的避免这类问题,关键的单元,关键的功能,每次代码改动了让CI(持续集成)都跑一遍自动化测试,一有问题马上就能发现,可以很好的预防问题发生。

#软件工程之美#