Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 推荐的约定/编码样式_Bash_Ksh - Fatal编程技术网

Bash 推荐的约定/编码样式

Bash 推荐的约定/编码样式,bash,ksh,Bash,Ksh,我正在重构一些unixshell脚本 并在我们的代码中发现许多不一致和不同的风格 例如: somevar="${item1},${item2}" somevar=${item1}","${item2} somevar="$item1,$item2" 是否有unix shell脚本的编码风格指南?或者类似于C语言的clang格式的格式化程序++ [编辑]请注意,我不是在询问个人风格偏好或个人意见!我正在寻找行业标准文档、广泛使用的样式指南或流行工具。我在一些公司工作过,这些公司都有自己的样式指南

我正在重构一些unixshell脚本 并在我们的代码中发现许多不一致和不同的风格

例如:

somevar="${item1},${item2}"
somevar=${item1}","${item2}
somevar="$item1,$item2"
是否有unix shell脚本的编码风格指南?或者类似于C语言的clang格式的格式化程序++


[编辑]请注意,我不是在询问个人风格偏好或个人意见!我正在寻找行业标准文档、广泛使用的样式指南或流行工具。

我在一些公司工作过,这些公司都有自己的样式指南,但现在大多数公司都使用谷歌的样式指南。如果你没有自己制作的风格指南,那么谷歌的很好,发布在这里:


我个人使用vim的shellcheck插件检查我的shell脚本,但是它可以在web和其他编辑器上使用。你可以使用它并在这里下载:

我曾在一些公司工作过,他们有自己的风格指南,但现在大多数公司都使用谷歌的风格指南。如果你没有自己制作的风格指南,那么谷歌的很好,发布在这里:

我个人使用vim的shellcheck插件检查我的shell脚本,但是它可以在web和其他编辑器上使用。您可以使用它并在此处下载:

因为在变量赋值的上下文中不会发生,您可以使用:

somevar=${item1},${item2}
我个人更喜欢使用

somevar="${item1},${item2}"
引用不会伤害到读者,而且——依我看——增加了可读性


关于
${var}
$var
的对比。当变量名可能包含下划线时,这很重要,如
“$foo\u bar”
。这是什么意思?变量
$foo
加上文本字符串
\u bar
?或者变量
$foo_bar
的扩展?因此,我会使用
${var}
来避免这种情况。

因为在变量赋值的上下文中不会发生,所以您可以使用:

somevar=${item1},${item2}
我个人更喜欢使用

somevar="${item1},${item2}"
引用不会伤害到读者,而且——依我看——增加了可读性



关于
${var}
$var
的对比。当变量名可能包含下划线时,这很重要,如
“$foo\u bar”
。这是什么意思?变量
$foo
加上文本字符串
\u bar
?或者变量
$foo_bar
的扩展?因此,我会使用
${var}
来避免这种情况。

因此,我只会在需要的地方使用花括号,因为这样可以提高意识。它可以节省击键次数,特别是在大陆键盘上,我们需要Alt-Gr+(7,0)来创建键盘。:)。所以我在足够的地方使用somevar=“$item1,$item2”。因此,如果开始使用它们,你就会上瘾。因此,我只在需要的地方使用花括号,因为这样可以提高意识。它可以节省击键次数,特别是在大陆键盘上,我们需要Alt-Gr+(7,0)来创建键盘。:)。所以我在足够的地方使用somevar=“$item1,$item2”。因此开始使用它们,你会上瘾的。不知道为什么这个问题是基于观点的?我特别要求提供一个标准的编码风格指南、约定和格式工具。我并没有要求对正确的格式发表意见或个人品味。“要求提供标准的编码风格指南、惯例和格式工具”->你的问题似乎从基于意见变成了脱离主题。我不知道为什么这个问题是基于意见的?我特别要求提供一个标准的编码风格指南、约定和格式工具。我并没有要求对正确的格式发表意见或个人品味。“要求提供标准的编码风格指南、惯例和格式工具”->你的问题似乎从基于意见变成了离题