|
@@ -2,7 +2,7 @@
|
|
|
|
|
|
因为 shell 脚本语法比较灵活,写 shell 脚本的开发者熟悉的编程语言也有较大差异,大家很容易写出风格迥异的代码出来。如果只有自己一个人用还好,如果是大家合作开发同一个项目,代码风格不同就会造成不小的麻烦。所以约定一个代码风格是很有必要的。
|
|
|
|
|
|
-本文中的代码风格约定只是我的个人建议,可以根据自己的需求或者喜欢来调整。本文的代码风格约定,在一定程度上也适用于 bash。
|
|
|
+本文中的代码风格约定只是我的个人建议,可以根据自己的需求或者喜好来调整。本文的代码风格约定,在一定程度上也适用于 bash。
|
|
|
|
|
|
注意需要有丰富 shell 编程经验的人制定和维护代码风格约定,不然很容易无法执行或者流于形式而解决不了实际问题。代码风格约定不只需要约定代码怎么写,而且要说明为什么要这么写,不然容易因为难以服众而无法推广。
|
|
|
|
|
@@ -12,7 +12,7 @@
|
|
|
|
|
|
原因:
|
|
|
|
|
|
-1. 要用空格而不是 tab。因为在终端上 `cat` `less` `diff` 等命令都将 tab 显示成 8 个空格,有些命令是不可配置的(即使可配置,要让所有机器配置同步也是件麻烦的事情)。如果自己在编辑器上配置 tab 为 4 个或者 2 个空格,那么就会和 `cat` `less` 等命令的显示方法不一致,会导致很多麻烦。
|
|
|
+1. 要用空格而不是 tab。因为在终端上 `cat` `less` `diff` 等命令都将 tab 显示成 8 个空格的宽度,有些命令是不可配置的(即使可配置,要让所有机器配置同步也是件麻烦的事情)。如果自己在编辑器上配置 tab 为 4 个或者 2 个空格,那么就会和 `cat` `less` 等命令的显示方法不一致,会导致很多麻烦。
|
|
|
2. 8 个空格太长,缩进几次就会导致行太长,而 shell 脚本每行不宜过长。
|
|
|
3. 2 个空格的话,如果缩进比较频繁,看起来比较费劲。另外如果写代码时不小心多了或者少了一个空格,在某些场景,不看逻辑的话,就无法确定是多个一个还是少了一个,更容易导致他人错误的修改,或者代码越改越乱。
|
|
|
4. 对于 4 个空格也可能导致缩进层数多时行太长的问题,通过修改逻辑减少缩进层数或者折行的方法,而不是减少缩进的空格数量来解决。
|
|
@@ -42,7 +42,7 @@
|
|
|
|
|
|
### 空格
|
|
|
|
|
|
-- 在缩进和对其之外的场景,不允许出现逻辑上不必要的连续多个空格。
|
|
|
+- 在缩进和对齐之外的场景,不允许出现逻辑上不必要的连续多个空格。
|
|
|
- `+` `&&` `|` 等双元运算符左右要加一个空格。
|
|
|
- `!` `~`等一元运算符和作用对象之间不加空格。
|
|
|
- `( )` 和 `(( ))` `{ }` 内侧不加空格,`[[ ]]` 因为语法需要,内侧加一个空格。
|