shell编码规范

  1. 注释

    1.  脚本头部注释

      脚本头部注释,主要是改脚本的描述信息,这些信息主要包括脚本的作者、开发时间、脚本的功能描述。例如
       shell编码规范_第1张图片

      其中,(根据项目实际需要,也可以添加其他描述信息)。

             Script:当前脚本名称(便于在IDE中搜索)。

             Author:开发者的姓名 邮箱;开发者的姓名 邮箱......。

             Date:脚本开发日期。

             Description:脚本的主要功能。

            Jira: 脚本对应需求的Jira地址。

    2. 其他注释 

      函数注释:描述函数的具体功能;放在函数上一行。

      代码注释:对关键或复杂代码进行注释;注释放在代码上一行或代码后。

  2.  命名规范 

    1. 变量名 

      1. 命名只能使用英文字母,数字和下划线。 

      2. 只有一个英文单词时使用全拼;有多个单词时,使用下划线分隔;长度较长时,可以取单词前3~4字母。 

      3. 避免使用Linux的保留字如true、关键字如pwd等。 

      4. 配置文件中定义的环境变量名统一大写。

    2. 函数命名 

      参照命令命名  

    3. 文件命名 

      1. linux不以文件后缀来区分文件类型,但为了便于日常管理和维护,shell脚本习惯以.sh结尾。 

      2. 文件名全部以小写命名,不要大小写混用(不推荐驼峰命名法,大小写混用在特殊情况下会存在问题)。 

      3. 文件名尽可能做到“见名知意”;可以参考变量命名。

  3. 函数规范 

    1. 函数结构

      1. 每一个小功能都封装到独立的函数类,一个函数只完成一个功能;在脚本尾部,通过函数的顺序调用将整个脚本逻辑串联起来。

      2. 控制函数的大小,函数体的行数尽量控制在100行左右;过大的函数要分割成两个或者多个函数。

    2.  函数复用 

      1. 多次调用的功能要抽离出独立的函数,提高编码效率,降低维护成本。 

      2. 对常用的功能(如计算日期,发邮件、写日志)的功能,封装成函数后形成独立的脚本,其他脚本引入即可。

  4. 编写规范

    1.  缩进

            良好的缩进可以提高代码的可读性,建议代码中统一用制表符(一般4个字符)作为缩进。

    2. 分割长行

          对单行较长的代码(如sql、saprk提交等),要注意适当使用连接符(“\”)分割,例如:
                shell编码规范_第2张图片

    3. 分离符合体

          主要是针对 if语句、while语句。在书写时要注意格式,这里给出一个参考(注意红色部分缩进):
              

    4.  变量统一管理

      1. shell脚本中使用的全局变量,要统一定义。一般在init()函数中进行统一初始化。

      2. 函数内部使用的变量,最好也在函数开始位置进行初始化。

      3. 函数内部局部变量用local修饰。

      4. 多个脚本都需要引用的变量,统一在配置文件中定义(后续会详细说明)。

      5. 变量引用,以 ${} 方式。

    5. shell 脚本结构

            shell 脚本,自上而下一次为:             set_env() 该函数用于初始化脚本的环境,引入全局变量。
                   init() 该脚本用于初始化当前脚本的全局参数。
                   xxx()  其他脚本,与具体业务相关。
                   依次调用自上而下的脚本,形成处理逻辑。
            例如:
                  
  5. shell脚本在工程中的结构

    1. shell脚本一般放置在项目的bin目录下。

    2. bin目录下脚本要分模块放置在不同目录中,不同模块的脚本放置在对应目录中。

    3.  bin目录下有一些公用脚本。

    4. etc、script、data、log目录和bin目录分模块存储文件的方法类似。

      参照范例:

            

  6.  脚本复用

    1. 将常用功能封装成函数,把一类功能的函数写入一个脚本中,其他脚本在需要某一类功能时,直接引入该脚本,调用函数即可。

    2. 形成固定的脚本引用方式,如脚本开头固定引入某些脚本,达到设置脚本运行环境的功能。

  
  



你可能感兴趣的:(shell)