我们的团队最近开始对每个签入进行代码评审。
作为团队的领导者,我试图在提供太多建议、烦人的开发人员和减少团队输出与放弃代码之间找到一种平衡,我本来会以不同的方式编写代码。
是否有任何证据,研究或指导,从众所周知的来源,提出了一个有益的方法?
发布于 2017-06-24 10:30:38
同行评审和签入代码评审是提高质量的目标。但就质量而言,没有什么比缺乏动力的开发人员更糟糕了。作为团队的领导者,您的角色不是认可代码,而是促进团队合作并确保整体结果。
记住:这不是你的代码,而是团队的代码。所以,关注那些可能导致错误结果的事情。
顺便说一句,如果你觉得编码标准不值得讨论,从你的标准中删除它,不要在它上浪费时间和精力。
作为一个团队领导者,你可能会在这里发现一个发展自己和团队的机会,超越了质量控制的形式:
在代码评审中,您可以避免以下几点:
发布于 2017-06-24 11:34:49
作为开发人员,我们的心态应该始终保持开放和怀疑。
开放,因为我们不知道开发人员什么时候会给我们带来惊喜,我们对自己的想法持怀疑态度,因为我们经常忘记,在软件工程中,没有一种实现解决方案的正确方法。我们的解决办法背后的理由对我们来说是有意义的,而对其他人则没有道理。在代码气味后面可能有个好主意。也许,开发人员没有找到正确表达它的方法。
由于我们(人类)沟通能力很差,不要做错误的假设,愿意向代码所有者询问您正在查看的代码。如果他/她没有按照公司的标准对这个想法进行编码,作为首席开发人员,他/她也愿意指导他/她。
这里是主观的方法。客观的方法,国际海事组织,很好地解释了在这个问题上。
除了上述环节外,还需要达到一组目标(可维护性、可读性、可移植性、高凝聚力、松散耦合等)。不一定是十诫。您(团队)应该能够将这些目标调整到这样一个程度,即质量和生产力之间的平衡使工作能够适应并“适合开发人员居住”。
根据这些目标,我建议使用静态代码分析工具来衡量质量的进展。像SonarQube这样的工具可以根据我们的优先级定制质量门和质量概要文件。它还为我们提供了一个问题跟踪器,开发人员可以针对与代码嗅觉、bug、可疑实践等相关的问题。
这类工具可能是一个很好的起点,但正如我所说,要保持怀疑态度。你可以在Sonar中找到一些对你来说毫无意义的规则,所以你可以忽略它们或者从你的质量简介中删除它们。
发布于 2017-06-24 07:33:03
干预开发人员的代码以进行外观更改将使开发人员失去工作积极性,但在绝对情况下必须这样做。领导必须在提供有用的代码审查和学会放弃小缺点之间找到平衡。https://blog.smartbear.com/sqc/for-the-new-team-lead-the-first-six-things-you-should-know/
https://softwareengineering.stackexchange.com/questions/351512
复制相似问题