架构决策记录:REST API 使用 snake_case 还是 camelCase?
决策:REST API 端点将使用 snake_case 命名约定
状态:已接受
背景
在 REST API 的命名约定中,有两种流行的格式:snake_case 和 camelCase。snake_case 格式是名称中的每个单词用下划线分隔,而 camelCase 是名称的第一个单词小写,后续单词的首字母大写。这项决策将确定 REST API 应使用哪种命名约定。
决策驱动因素
与项目中现有命名约定的一致性
对任何可能参与 API 工作的人而言的可读性和清晰度
与 REST API 命名约定的行业最佳实践保持一致
易于实现和维护
决策
REST API 端点将使用 snake_case 命名约定。这一选择由以下因素驱动:
一致性:项目已经对所有端点使用 snake_case 命名约定,保持这一约定将有利于确保整个项目的一致性。
可读性和清晰度:snake_case 约定更易读、更易于理解。下划线使单词之间有清晰的分隔,更容易解析和理解名称的含义。
与行业最佳实践保持一致:snake_case 约定在业界被广泛使用,并被认为是 REST API 的最佳实践,因此是该项目的良好选择。
易于实现和维护:沿用现有的命名约定更易于实现和维护,因为如果选择新的约定,所有现有的代码和文档都需要更新。
后果
这项决策存在一些潜在后果。
如果加入项目的新团队成员不熟悉 snake_case 命名约定,可能会导致混淆和开发中的错误。不过,由于 snake_case 是一种被广泛使用的约定,这种风险极小。
如果项目中使用了严重依赖 camelCase 约定的其他工具或框架,可能需要额外的工作来在命名约定之间进行转换。不过,由于项目已将 snake_case 约定标准化,这并不是一个重大问题。
总体而言,为 REST API 端点使用 snake_case 命名约定的决策,带来了一种一致、可读且符合行业标准的方法,同时易于实现和维护。