Стылізацыя кода

circle-info
  • Прыклады і модулі Terraform павінны ўтрымліваць дакументацыю, якая тлумачыць іх функцыі і спосабы выкарыстання.

  • Усе спасылкі ў файлах README.md павінны быць абсалютнымі, каб вэб-сайт рэестра Terraform адлюстроўваў іх правільна.

  • Дакументацыя можа ўключаць дыяграмы, створаныя з дапамогай mermaidarrow-up-right і blueprints створаныя з дапамогай cloudcraft.coarrow-up-right.

  • Выкарыстоўвайце Terraform pre-commit hooksarrow-up-right перад адпраўкай змен, каб пераканацца, што код з'яўляецца сапраўдным, правільна адфарматаваным і аўтаматычна дакументаваным, перш чым ён будзе адпраўлены ў git і правераны людзьмі.

Фарматаванне

Каманда Terraform terraform fmt забяспечвае кананічны стыль для файлаў канфігурацыі. Інструмент наўмысна мае пэўныя абмежаванні і не можа быць настроены, што гарантуе адзіны фармат для ўсіх кодавых баз, каб аглядальнікі маглі засяродзіцца на сутнасці, а не на стылі. Інтэгруйце яго з Terraform pre-commit hooksarrow-up-right каб аўтаматычна правяраць і фарматаваць код, перш чым ён трапіць у сістэму кантролю версій.

Напрыклад:

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/antonbabenko/pre-commit-terraform
    rev: v1.99.4
    hooks:
      - id: terraform_fmt

У CI pipelines выкарыстоўвайце terraform fmt -check для праверкі адпаведнасці. Праграма выходзіць з кодам статусу 0, калі ўсе файлы правільна адфарматаваны; у адваротным выпадку яна вяртае ненулявы код і пералічвае файлы з парушэннямі. Такая цэнтралізацыя фарматавання змяншае цяжкасці пры зліцці змен і ўводзіць адзіны стандарт для ўсіх каманд.

Editor Configuration

  • Выкарыстоўвайце .editorconfig: EditorConfigarrow-up-right дапамагае падтрымліваць адзіны стыль кадавання для некалькіх распрацоўшчыкаў, якія працуюць над адным праектам у розных рэдактарах і IDE. Дадавайце файл .editorconfig у вашы рэпазіторыі, каб падтрымліваць адзіныя прабелы і водступы.

Прыклад .editorconfig:

Дакументацыя

Аўтаматычна згенераваная дакументацыя

pre-commitarrow-up-right ёсць фрэймворкам для кіравання і падтрымкі шматмоўных pre-commit hooks. Ён напісаны на Python і з'яўляецца магутным інструментам для аўтаматычнага выканання задач на камп'ютары распрацоўшчыка перад тым, як код будзе адпраўлены ў git-рэпазіторый. Звычайна ён выкарыстоўваецца для запуску лінтэраў і фарматавання кода (гл. supported hooksarrow-up-right).

З канфігурацыямі Terraform можна выкарыстоўваць pre-commit для фарматавання і праверкі кода, а таксама для абнаўлення дакументацыі.

Азнаёмцеся з pre-commit-terraform рэпазіторыемarrow-up-right і існуючымі рэпазіторыямі (напрыклад, terraform-aws-vpcarrow-up-right) дзе гэта ўжо выкарыстоўваецца.

terraform-docs

terraform-docsarrow-up-right ёсць інструментам, які генеруе дакументацыю з модуляў Terraform у розных выхадных фарматах. Яго можна запускаць уручную (без pre-commit hooks), або выкарыстоўваць pre-commit-terraform hooksarrow-up-right , каб дакументацыя абнаўлялася аўтаматычна.

Стыль каментароў

Выкарыстоўвайце # для каментароў. Пазбягайце // або блочных каментароў.

Прыклад:

Загалоўкі раздзелаў: для яснасці раздзяляйце загалоўкі раздзелаў у кодзе сімваламі # ----- або ######.

Прыклад:

@todo: Document module versions, release, GH actions

Рэсурсы

Last updated