
# 样式约定
#### 样式约定
HCL约定了一些惯用的风格样式，以确保不同团队编写的文件和模块的风格一致性。建议用户遵循这些约定，推荐的样式约定如下：
- 对于每个嵌套级别，缩进两个空格。
- 当多个单行的参数在同一嵌套级别连续出现时，建议将等号对齐。
  ```
  name            = "myinstance"
  security_groups = ["default", "internal"]
  ```
  

- 使用空行分隔块中的逻辑参数组。
- 当块主体同时包含参数和块时，建议将所有参数放在顶部，嵌套块放在参数的下方并使用空行隔开。
- 将元参数(meta-arguments) 放在块主体的顶部，并使用空行与其它参数隔开；将元参数块(meta-argument blocks) 放在块主体的最后，并用空行与其他块隔开。
  ```
  resource "huaweicloud_obs_bucket" "demo" {
    count = 1
    bucket = "bucket_demo"
    acl    = "public-read"
  https://www.terraform.io/docs/configuration/style.html
    tags = {
      foo = "bar"
      env = "test"
    }
    lifecycle {
      create_before_destroy = true
    }
  }
  ```
  

- 顶层块之间使用空行将彼此隔开。
- 建议将相同类型的嵌套块放在一起，不同类型的嵌套块使用空行隔开。
 
#### 参考资料
<https://developer.hashicorp.com/terraform/language>
