什么是规范的YAML命名样式


77

我正在设计一个新的YAML文件,并且我想使用最标准的命名样式。哪有

连字号?

- job-name:
    ...

lower_case_with_underscores?

- job_name:
    ...

骆驼香烟盒?

- jobName:
    ...

Answers:


73

使用周围软件规定的标准。

例如,在我当前的项目中,YAML文件包含Python属性的默认值。由于YAML中使用的名称出现在关联的Python API中,因此很显然,在此特定项目上,YAML名称应遵循lower_case_with_underscoresPEP-8的Python命名约定。

我的下一个项目可能具有不同的通用命名约定,在这种情况下,我将在关联的YAML文件中使用它。


9
YAML是独立的,因此不遵守任何内容。
Miraage

3
我同意@Miraage。而且,从实际的角度来看,如果“周围的软件”是用多种语言编写的,那该怎么办?
Rob Worsnop

3
@RobWorsnop就像他说的那样,它独立于软件语言。您可以使用最喜欢的CASE。
若昂·艾瓦斯

yaml 名称可以以下划线开头吗?就像, _jobname__更确切地说,我需要这个, __version__
Mohd

52

使用CamelCase的Kubernetes:https ://kubernetes.io/docs/user-guide/jobs/

apiVersionrestartPolicy

使用snake_case的CircleCI:https ://circleci.com/docs/1.0/configuration/

working_directory restore_cachestore_artifacts

詹金斯有破折号:https : //github.com/jenkinsci/yaml-project-plugin/blob/master/samples/google-cloud-storage/.jenkins.yaml

stapler-class


因此,看起来项目和团队使用他们自己的约定,并且没有一个明确的标准。



您是正确的,没有通用标准。我想指出的CircleCI和GitLab都使用的是它的重要组合snake_casekebab-case。答案首次发布时可能不是这种情况,但现在是这种情况。GitHub Actions(基于yaml的最新ci服务之一)使用kebab-case(至少用于所有主要配置选项)。
Friederbluemle
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.