本规范规定了使用各类脚本编程时排版、注释、命名、编码、规则及建议。
本规范适用于IT运维部门编写的各类用于IT生产环境运维工作脚本,和即将开发的运维脚本。
规则:编程时须遵守的原则。
格式:对此规范格式的说明。
说明:对此规范或建议进行必要的解释。
示例:对此规范或建议的例子。
按使用系统或应用平台不同,分别采用以下的标准开发语言,具体如下表:
序号 | 脚本开发语言类型 | 使用系统或应用平台 |
1 | Shell(Kshell Bshell)、Perl脚本 | Unix、Linux |
2 | JScript脚本 | Windows |
3 | SQL, PL/SQL脚本 | Oracle |
4 | Notes脚本 | Lotus Notes |
5 | JACL脚本 | IBM Websphere |
6 | TSQL脚本 | SQLServer |
程序需要考虑到可读性,程序块要采用缩进风格编写。[Must]
较长的语句要分成多行书写,使排版整齐,语句可读,分界符应各占一行,并位于同一列。[Should]
示例:
if [ $filename != “null” && $logpath -gt $filesize
&& $logname != “root” && $curpath != $path ]; then
{
Program Code…
}
fi
示例:如下例子不符合规范。
host=`hostname`; reportfile="${host}";
应书写如下
host=`hostname`
reportfile="${host}"
5.1.2 对所有的变量、常量、函数、宏等,如果其命名不是充分自注释的,在声明时都必须加以注释说明含义。[Must]
5.1.3 脚本必须包含文件头
脚本代码文件必须包含以下文件头信息:适用平台、功能说明、作者、创建日期、使用方式、修改历史,并且只能用英文:[Must]
模版文件如下:
ü Platform. Unix
ü Program Name: Shell test
ü Description: function description
ü Author:Created by…on...
ü Date:Created on...
ü Usage:
ü Modify History:
ü Date Author Description
ü Modify Description:
ü Others:
示例:以下是符合以上标准的一个脚本文件头:
##########################################################
# Platform:Unix & Linux #
# Program Name:update.sh #
# Description:Update XXX function #
# Author: zhangsan/12345 #
# Date:2008-01-01 #
# Usage:Define #
# CheckBackupDir(): Check the backup directory,Creat if not exist #
# CheckIfUpgraded(): Check if the Program is upgraded #
# Modify History:
# Date Author Description #
# 2008-12-03 z00110303 Modify the CheckBackupDir #
# 2008-12-01 z00110303 Modify the CheckIfUpgraded #
# Modify Date: 2008-12-03 #
# Modify Description:XXXXXX #
# Others: #
##########################################################
函数应该在头部进行相应的注释,列出函数的目的功能、参数、返回值等,并且只能用英文。[Should]
示例:下面这段函数的注释比较标准
###############################################################
# Function: //Check #
# Description: //Check System Information #
# Input: //-username -password #
# Output: //True or False #
# Return: // #