当您的软件团队快速增长时,确保代码质量是一个巨大的挑战。但是,即使有固定数量的软件开发人员,维护代码质量也会引起麻烦。
如果没有工具和一致的系统,整个项目可能积累巨大的技术债务,长期造成的问题比短期解决的问题要多。
最好的事情是,你不必成为一个火箭科学家来避免这一点(当然,如果你是火箭科学家的话,这不是问题)。
我们提供了一个很重的指南,帮助您从根本上提高团队生成的代码的质量,无论您是与内部团队还是软件外包公司合作。
这篇文章的某些部分可能看起来很明显,但其价值在于这些部分是如何连接起来并建立起一个有效的代码质量保证系统的。
代码质量是一组不同的属性和需求,由您的业务决定和确定优先级。以下是可用于确定它的主要属性:
质量代码不一定满足上述所有属性,但满足的越多,质量就越高。这些需求更像是取决于项目特性的优先级列表。
伟大的作家写的书有引人入胜的故事,很容易阅读和理解。从某些方面来说,作者的工作类似于开发人员的工作。主要区别在于开发人员使用不同的行话。
由于作者的写作必须易于阅读和全面,所以软件开发人员的代码也应该如此。
我知道,当你在压力下不得不在下一个截止日期前完成工作时,很难关注代码质量,但是如果你想长远考虑,你肯定需要生成可读和可维护的代码。以下是代码质量重要的三个主要原因:
在这一部分中,我将向您展示如何使用版本控制、样式指南和自动化测试来确保我们的代码符合预定义的质量标准。
通过遵循这些方法,您可以轻松地复制我们的系统,并从根本上提高您的团队生成的代码质量。您只需执行以下步骤:
版本控制工具是我们系统的基础。
最流行的版本控制工具是Git。它还提供了一个分支样式的指南,称为GitFlow,它支持团队成员之间的无缝协作,并使扩展开发团队变得容易。
它提供了一个易于跟踪的系统,将活动产品与具有未发布特性的不太稳定的开发人员分支分离开来。
当我们团队的开发人员完成一个特性时,他/她会在GitHub上发送一个pull请求。这描述了请求的内容和详细信息。
此系统确保没有未查看的代码将与主分支合并。代码检查很重要,您需要正确的工具来完成它。
以下是我们的流程:
这是一个很好的控制版本和使每个人的工作完全透明的系统。Git有很多GUI扩展,比如支持Gitflow的GitKraken。在这里您可以看到如何轻松地启用它。
但是你如何决定代码是否足够好呢?
在下一部分中,我将向您展示跟踪代码质量的工具和可用于度量代码质量的度量。
样式指南是最佳实践和约定的集合。使用样式指南可以确保每个开发人员的代码看起来完全相同,从而使代码更易于检查和使用。
幸运的是,您不必创建自己的样式指南。有许多免费的样式指南,主要针对不同的编程语言和范围:
公司:像Airbnb和Google这样的酷公司已经创建并发布了他们自己的风格指南。这是Airbnb的JavaScript风格指南。
项目:公司内不同的项目或产品可能有不同的约定。我们并不推荐基于项目的风格指南,因为它使人们在项目之间切换变得更加困难。
linter 是款式指南的一部分。它是一个小软件,可以自动检查代码是否符合预定义的代码约定规则。您不必手动检查代码库来检查样式。
几乎每种编程语言都有linter,仅举几个例子: