

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 现代化准备情况因素
<a name="readiness-factors"></a>

对应用程序进行现代化改造时，请遵守以下标准和最佳实践。

**Topics**
+ [代码](#code)
+ [构建和测试](#build-test)
+ [版本](#release)
+ [操作](#operate)
+ [优化](#optimize)
+ [准备就绪](#readiness)

## 代码
<a name="code"></a>
+ 提供记录软件功能的代码注释，并使用它们来生成文档。
+ 遵循代码管理和部署流程，这些流程支持频繁的代码检查和功能请求的可追溯性。
+ 构建包含单元测试、功能测试、性能测试和关键路径测试的测试套件，代码覆盖率为 100%。
+ 鼓励重复使用代码，以便在代码库中提供相同或相似的功能。
+ 在投资完整代码开发之前，开发原型以与用户一起验证功能。

## 构建和测试
<a name="build-test"></a>
+ 根据测试重新定义功能完整性，以提高质量并防止问题反复出现。
+ 自动化验收测试。
+ 监控所有自动测试，并建立处理故障的流程。
+ 跟踪生产和非生产环境中的性能，根据实际流量和负载测试定义服务级别目标 (SLO)，并提供扩展以满足性能要求的能力。
+ 从配置文件中提取敏感数据，并提供自动配置和监控配置的工具。

## 版本
<a name="release"></a>
+ 通过支持依赖关系（例如数据库发布）、回归测试和跟踪，实现自动化部署。
+ 每次成功构建后，以增量方式将代码发布到生产环境。
+ 有效地管理功能标志（切换）：支持运行时配置，监控使用情况，在整个开发周期中维护标志，并按类别分配所有者。
+ 在构建管道中提供可追溯性，以跟踪触发器、失败通知和成功完成。
+ 运行自动部署流程并测试持续交付中的 “零接触”代码更新。
+ 使用零停机时间、全自动蓝/绿部署方法。
+ 确保在所有开发和生产环境中一致实施数据库架构更改。

## 操作
<a name="operate"></a>
+ 创建与您的通知系统集成的 DevOps 分类运行手册。
+ 确保您的监控和通知系统符合服务级别目标 (SLO)，并支持阈值、运行状况检查、非标准 HTTP 响应和意外结果。
+ 建立有效的风险管理和灾难恢复流程。
+ 制定符合您的业务和法律要求的日志轮换和保留策略。
+ 开发仪表板，用于跟踪产品性能，衡量新功能的成功程度，并在指标未达到预期时显示警报。

## 优化
<a name="optimize"></a>
+ 根据绩效和质量衡量标准，定期审查和改进流程。
+ 实施根本原因分析和预防流程，防止问题再次出现。
+ 提供数据驱动的指标，以捕捉产品运行状况，并确保所有通知和操作都基于这些指标。

## 准备就绪
<a name="readiness"></a>
+ 让跨职能团队（包括业务合作伙伴、开发人员、测试人员和架构师）专门负责您的现代化工作。