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
表达式的设计意图、期待输入-输出等关键信息。
我们将在后续章节中讨论如何编写单元测试的话题。