开发实践

根据“完成”的定义进行工作

每个团队对“完成”的含义有不同的定义,但有一个定义并确保故事在被接受之前符合定义的标准非常重要。

团队通常指定的一些标准包括:

  • 已检查格式的代码
  • 添加了评论/Javadoc
  • 满足所需的测试覆盖级别
  • 通过单元和集成测试
  • 在QA环境中验证
  • 本地化实现

如果没有明确的DoD,很容易最终出现这样一种情况:许多事情都做了一半,而什么事情都没有真正完成。

定义并遵守编码和格式约定

缩进级别和空白等内容似乎并不重要,但格式正确的代码对于可读性和可维护性有很大帮助。 应以小组身份讨论和商定公约,然后在守则中加以遵循。

针对高测试覆盖率

随着项目实施规模的增加,测试它所需的时间也随之增加。 如果没有良好的测试覆盖,测试团队将无法进行扩展,开发者最终将陷入缺陷。

开发人员应练习TDD,在生产代码满足其要求之前编写失败的单元测试。 QA应创建一套自动的验收测试,以确保系统从高级别按预期运行。

有Jackalope和Prosper等自定义框架可简化对JCR API的嘲弄,以确保开发人员在编写单元测试时的工作效率。

保持演示就绪

系统应在每次迭代结束时向企业进行演示。 通过使系统保持演示就绪状态,该团队将始终处于生产就绪状态的迭代范围内,技术负债可保持在可维护的水平。

实施连续集成环境并使用它

实施连续集成环境将使您能够轻松、重复地运行单元测试和集成测试。 它还将部署与开发团队脱钩,使开发团队的其他部分更高效,并使部署更稳定、更可预测。

通过将构建时间保持在的低位,快速保持开发周期

如果单元测试运行时间过长,开发者将避免运行它们,并会失去价值。 如果构建和部署代码需要很长时间,人们的操作就会减少。 将缩短构建时间作为优先事项,可确保我们投入测试覆盖和CI基础架构的时间继续提高团队的工作效率。

微调声纳和其他静态代码分析工具,并对其报告执行操作

代码分析工具可能很有价值,但前提是其报告导致开发团队采取行动。 如果不对这些工具提供的分析进行微调,它们生成的建议将不相关,并会失去价值。

遵循男孩Scout规则

男孩Scout有一条规则:“留下比你找到的更好。” 只要开发团队的全体成员都遵守这一规则,在遇到麻烦时收拾东西,代码就会不断改进。

避免实施YAGNI功能

YAGNI(或者您不需要它)功能是当我们期望将来需要某些东西时实施的,即使我们现在不需要它。 理想情况下,我们应该实施目前最简单的工作,并使用持续重构来确保系统的架构随着时间的过去而不断变化。 这将允许我们专注于重要的方面,并防止代码膨胀和功能蠕变。

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now