1.2.5.1. local 块

为提升代码可读性,可将一些复杂的表达式,或是重复出现的表达式抽取成一个 local 表达式。

1.2.5.1.1. locals.tf 文件中应只包含一个 locals 块

有时我们会选择创建一个 locals.tf,存放一些被广泛引用的 local 表达式,这些表达式因为被广泛引用,所以放在哪里都显得不太合适,不如存放在 locals.tf 里。该文件中的所有的 local 都应该定义在唯一的一个 locals 块内部。

1.2.5.1.2. local 表达式应按照字母序排列

1.2.5.1.3. local 应尽可能使用精确的类型

例如:object({ name=string, age=number }) 的类型:

{
  name = "John"
  age  = 52
}

就优于 map(string) 的类型:

{
  "name": "John"
  "age": "52"
}

1.2.5.1.4. 两行 local 之间不应空行

1.2.5.1.5. 对于复杂的 local 表达式,应编写相应的测试覆盖各种场景

对于复杂的 local 表达式来说,测试代码应扮演“活文档”的角色,模块的维护者可以通过阅读测试代码了解到复杂 local 表达式的设计意图、期待输入-输出等关键信息。

我们将在后续章节中讨论如何编写单元测试的话题。

results matching ""

    No results matching ""