当前位置:文档之家› Shell代码规范[个人]

Shell代码规范[个人]

Shell代码规范[个人]
Shell代码规范[个人]

Shell代码规范[个人]

前言:随着写的SHELL程序越来越多,发现自己每次写都有不同的习惯或者定义了不同的东西,变量名定义得不一样,整个程序缩进不统一,没有注释等问题,等我回过头看这些程序的时候发现很麻烦。所以想到写个自己的shell代码规范。

作者: Ajian

时间: 2009-02-19

文档名: Shell代码规范

版本: 1.0

用途: 规范Shell代码书写,方便查看与修改。

1 概述

1.1 目的

定义Shell脚本命名和编码规范,统一管理Shell脚本,便于自己和别人查看,提高代码书写速度和美观,暂时只对自己进行约束,其它人只供参考。

1.2 概述

本文主要根据Fedora Core 4.0的特点,描述安装脚本、OS初始脚本、补丁制作等方面的代码编写规范,可能大部分还是根据自己的习惯与反复思考后的结果,同样也参考了PHP

代码规范等。

1.3 开发工具

shell脚本是个文件,没有开发环境,FC4图形环境下,可用gedit、vi、vim、joe等,推荐使用vim因为这个最通用,他的功能同样是很强大,如果想在图形化下可以用gvim,并将环境设置为sh高亮显示,方法:1)cp /etc/vim/vimrc ~/.vimrc 2) vim ~/.vimrc 去掉”syntax on,并且;Windows下,可用ultraedit。文件保存时,有汉字提示的Shell脚本文件,文件保存时,字符编码必须为GB18030/GBK/GB2132 (UTF-8) 三种格式之一。

2 对象命名规范

2.1 命名约定

1.本文档的命名约定是系统配置文件、脚本文件;

2.文件名、变量名、函数名不超过20个字符;

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

4.文件名全部以小写命名,不能大小写混用(通过U盘交换文件时,大小写可能会丢失,即:大写文件名可能会全部变成小写文件名);

5.避免使用Linux的保留字如true、关键字如PWD等(见附表);

6.从配置文件导出配置时,要注意过滤空行和注释

2.2代码开头约定

1、第一行一般为调用使用的语言

2、下面要有这个程序名,避免更改文件名为无法找到正确的文件

3、版本号

4、更改后的时间

5、作者相关信息

6、该程序的作用,及注意事项

7、版权与是否开放共享GNU说明

8、最后是各版本的更新简要说明

如下面的例子:

#!/bin/bash

#

------------------------------------------------------------------------------- # Filename: check_mem.sh

# Revision: 1.1

# Date: 2009/02/10

# Author: Ajian

# Email: ajian521#https://www.doczj.com/doc/9114500983.html,

# Website: https://www.doczj.com/doc/9114500983.html,

# Description: Plugin to monitor the memory of the system

# Notes: This plugin uses the "" command

#

------------------------------------------------------------------------------- # Copyright: 2009 (c) Ajian

# License: GPL

#

# This program is free software; you can redistribute it and/or

# modify it under the terms of the GNU General Public License

# as published by the Free Software Foundation; either version 2

# of the License, or (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty

# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# you should have received a copy of the GNU General Public License

# along with this program (or with Nagios);

#

# Credits go to Ethan Galstad for coding Nagios

# If any changes are made to this script, please mail me a copy of the changes #

------------------------------------------------------------------------------- #Version 1.0

#The first one , can monitor the system memory

#Version 1.1

#Modify the method of the script ,more fast

2.3 缩进

由于Shell没有很好的编辑环境,所以,建议用四个空格为基数进行缩进,好处在不同的环境下TAB可能代表的空格数不同,造成代码的错乱。用TAB他的优点是速度快方便,可以在编辑的时候也用TAB,但需要转换。

可以在更改编辑器,Windows的就不说了,主要是VIM

:set softtabstop=4

注意不要使用 :set tabstop=4 上面那个是同时把这一个TAB转换为四个空格,而这一条是定义TAB为四个空格,如果到其它编辑器上就会看到默认8个空格的情况,那就会不美观了。

另外将原有的TAB转换为空格,:retab

如果想让刚才的配置永久生效需要改动vim的配置文件 vim ~/.vimrc,更多详细的有用的配置见“VIM配置总结”

2.4 页宽

每行不要超过80字,如果超出,建议用“\”折行,有管道的命令行除外。

2.5 环境变量

变量:全部是大写字母

变量引用:全部以变量名加双引号引用,如”$TERMTYPE”,或“${TERMTYPE}”,如果变量类型是数值型不引用,如:

如果需要从配置文件导出变量,则在变量前加一大写字母,以识别导出变量与自定义环境变量的区别,如:

变量值的引用尽量以$开头,如$(ls inst_*.sh),避免使用`ls inst_*。sh`

循环控制变量可以命名为单个字母,比如 i、j等。也可以是更有意义的名称,比如UserIndex。

环境变量和全局变量在脚本开头定义。

函数中使用较多的文件,以环境变量的形式在文件开头定义,仅函数中使用的变量在函数开头定义

2.6 函数

函数以动名词形式存储,且第二个单词首字母要大写,如updateConfig()

每个函数控制在50-100行,超出行数建议分成两个函数

多次反复调用的程序最好分成函数,可以简化程序,使程序条理更清楚

2.7 语句

if 语句

if/then/else 语句中最可能被执行的部分应该放在 then 子句中,不太可能被执行的部分应该放在 else 子句中。

如果可能,尽量不要使用一连串的 if 语句,而应该以 case 语句替代。

不要使 if 语句嵌套超过5层以上,尽量以更清楚的代码替代。

case 语句

概要

case 语句中的单个子句应该以 case 常数的数字顺序或字母顺序排列。子句中的执行语句应该尽量保持简单,一般不要超过4到5行代码。如果执行语句过于复杂,应该将它放置在独立的函数中。

case 语句的 *) 子句应该只在正常的默认情况或检测到错误的情况下使用。

格式

case 语句遵循同样的缩进和命名约定。

while 语句

使用 Exit 过程退出 while 循环是不好的; 如果可能,应该只使用循环条件来结束循环。

while 循环的所有初始化代码应该紧贴在进入 while 循环之前,不要被其他无关语句分隔开。

循环结束后的处理应该紧跟在循环之后。

for 语句

如果需要执行确定次数的增量循环,应该用 for 语句替代 while 语句。

2.8 信号捕捉

如果在进行重要配置修改时,应捕捉用户按键,如果用户按下Ctrl+C等重要操作终止程序,则调用回退程序,如:

2.9 关于注释

程序头应加注版本与功能说明的注释。但程序第一行不能汉字。

程序体中应包含必要的注释,注释说明如下:

单行注释,可以放在代码行的尾部或代码行的上部;

多行注释,用于注解复杂的功能说明,可以放在程序体中,也可以放在代码块的开始部分代码修改时,对修改的内容要加必要版本注释及功能说明。

参考资料:借鉴了仙人掌的规范 https://www.doczj.com/doc/9114500983.html,/bbs/thread-106301-1-1.html

中石油加油站管理规范管理部分

中国石油加油站管理规总则第一条指导思想对加油站实施专业化、标准化和信息化管理提高加油站的经济效益和综合管理水平实现股东、管理者、员工、顾客以及社区利益的最佳结合。第二条服务宗旨为客户提供全员、全面、全过程、全心全意的服务。第三条服务承诺质量达标计量准确环境整洁安全、快捷。第四条管理模式资源统一配送价格统一制定财务统一核算外观统一包装服务统一规对外统一宣传。第五条适用围本规适用于中国石油天然气股份加油站管理部门和所属的全资、控股、参股、租赁和特许经营等类型的加油站。第一章人力资源管理第一节定岗、定编、定员第六条岗位结构见图1-1 第七条岗位设置 1.加油站设置站长1人年加油量在4000吨以上的加油站增设副站长1人。 2.加油站应设置收银员岗位加油员可兼任收银员。 3.班长由加油员或收银员兼任。 4.独立核算的加油站设会计和出纳岗位非独立核算的加油站不设会计岗位但可根据需要设核算员或记帐员岗位。 5.加油站必须设置兼职或专职的计量保管员、安全员、设备管理员、质量监督员岗位。 6.日销售量在25吨以上的加油站可酌情设置后勤岗位日销售量在25吨以下的加油站不设后勤岗位。 7.设有其他经营服务项目的加油站可根据实际情况设其他服务岗位如洗车员、便利店售货员等。第八条定编定员 1.加油站主营业务定编以日均加油量作为定编指标具体标准

见下表注①本标准的定员数为上限各单位在实际执行中可适当调减。②使用中实际量与标准量无对应值时就近使用相临的标准。③本标准的定员数不含加油站所属的非主营的经营服务性用工。④日均加油量在2吨以下的加油站可根据实际设定人员但定员总量不得超过6人也可采用承包经营等多种管理形式。⑤在定员总量围加油站具体岗位的设置可参照岗位定员标准根据实际需要设定。⑥实行IC卡的加油站可参照本标准适当压缩定员标准。⑦设有非有偿服务项目的加油站可在标准定员的基础上增加不超过20的人员。⑧中心城市的主要加油站实际用工可在标准定员的基础上提高5-15。 2. 加油站便利店人员定编见第七章“便利店管理”第一节的有关规定。 3. 设有其他经营项目或服务项目的加油站其他项目人员的定编由各省市、区公司根据本区域实际情况制订定编标准。第九条程序与权限站长根据本节有关规定结合加油站的规模、功能设计、日均加油量、日交易次数、营业时间等因素申报加油站的岗位设置及定员情况。地市分公司负责管辖区域加油站的岗位设置及定员。第二节岗位职责第十条站长经理岗位职责 1. 负责组织和领导全站员工开展各项经营、管理和服务工作。 2. 负责加油站商品的进、销、存和数质量管理保障供应提高销量确保公司下达的经营销售指标和其他目标的全面完成。 3. 加强核算分解落实各项经济指标控制费用支出降低商品损耗

程序代码注释编写规范

程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************ COPYRIGHT (C), MicTiVo International. Co., Ltd. FileName: Author:

C语言注释规范

C语言注释规范 1.注释原则 同一软件项目开发中,尽量保持代码注释规范和统一。 注释方便了代码的阅读和维护。 边写代码边注释,修改代码时要相应修改注释,保证注释和代码的一致性。 注释要简洁明确,不要出现形容词。 对于写的好的注释,我们将是第一个受益者。 大型软件开发中,通过别人的注释可以快速知道他人所写函数的功能,返回值,参数的使用。 2.文件头部的注释 示例: / * Program Assignment : 该文件的作用 * Author: 作者 * Date: 2013/8/6 14:34 * Description: 该文件的描述 *****/ /* * Source code in : 源代码的路径 * Function List: * initLinear 初始化线性表 * destoryLinear 释放线性表申请的空间 * isLinearEmpty 判断线性表是否为空 * isLinearFull 判断线性表是否为满 * getLinearElementValue 取得下标为index的元素的值 */ 注意:这个函数列表可以快速查询到我们想要了解的函数。 3.结构体,全局变量等的注释 示例: typedef POLYNOMIAL USER_TYPE; /* 新的数据类型的描述*/ int a; /* 全局变量的作用*/ /* 说明结构体的功能*/ typedef struct LINEAR { USER_TYPE *data; /* 每个成员的意义(作用) */ int maxRoom; /* 每个成员的意义(作用) */

int elementCount; /* 每个成员的意义(作用) */ }LINEAR; 4.函数的注释 在逻辑性较强的的地方加入注释,以便其他人的理解,在一定的程度上排除bug。 示例: /* * Function Name: getLinearElementIndex * Purpose: 取得元素的index值 * Params : * @LINEAR linear 线性表实例 * @USER_TYPE var 类型为USER_TYPE的实例 * @int (*)() cmp 提供接口,让用户定义具体比较函数 * Return: int 返回元素的index值 * Limitation: 如果返回-1,则代表不存在var的元素 */ int getLinearElementIndex(LINEAR linear, USER_TYPE var, int (*cmp)()) { /* * 如果逻辑太过复杂,这里写明该算法的过程和思路。 */ boolean found = FALSE; int i; for(i = 0; i < && !found; i++) if(cmp[i], var) == 0) found = TRUE; if(i >= i = NOT_FOUND; return i; }

华为JAVA编程规范

1 Java 编程规范 1.1 排版 1.1.1 规则 规则1程序块要采用缩进风格编写,缩进的空格数为4个,不允许使用TAB缩进。(1.42+) 说明:缩进使程序更易阅读,使用空格缩进可以适应不同操作系统与不同开发工具。 规则2分界符(如大括号…{?和…}?)应各独占一行,同时与引用它们的语句左对齐。在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序 或者static、,synchronized等语句块中都要采用如上的缩进方式。(1.42+) 示例: if (a>b) { doStart(); } 规则3较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐, 语句可读。(1.42+) 示例: if (logger.isDebugEnabled()) { logger.debug("Session destroyed,call-id" + event.getSession().getCallId()); } 规则4不允许把多个短语句写在一行中,即一行只写一条语句(1.42+) 说明:阅读代码更加清晰 示例:如下例子不符合规范。 Object o = new Object(); Object b = null; 规则5if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while,switch等语句的执行语句无论多少都要加括号{},case 的执行语句中如果定义变量必须加括号{}。 (1.42+) 说明:阅读代码更加清晰,减少错误产生 示例: if (a>b) { doStart(); }

加油站管理制度汇编

XXXX加油站 管 理 制 度 汇 编

XXX年XXX月

加油站安全管理制度 一、建立健全各种管理规则,悬挂整齐、位置适当并认真贯彻执行,有关人员要熟记会用。 二、制定切实可行的消防预案,定期组织消防训练和进行安全教育,使加油站人员做到:人人熟悉消防知识,人人会用消防器材,人人关心安全工作。 三、建立健全安全检查制度,全面安全检查一般每不少于两次,并认真作好登记。 四、按规定配齐消防设备器材,并定期进行检查保养,消除外部泥土、灰尘和油污,灭火机药剂要定期更换。换装日期要及时填写登记簿。 五、电气设备要符合安全防爆等级要求,安装工艺安全规。 六、加油站所有供电线路和用电设备要定期检查,发现不安全因素,必须及时排除。 七、储油罐安装呼吸阀必须符合设计要求,在呼吸管上安装的透气阀或阻火器,性能要良好。 八、加油站进出口、加油区设置“禁烟火”、“禁打手机”“顾客止步”等安全警告标识,储油区清洁整齐、无易燃物、无抛洒油痕迹。 九、使用和维修各种设备器材,要守操作规程,并按说明书要求进行,防止损坏机件、设备或发生事故。 十、夜间安全值班管理制度 1、加油站必须设夜间安全值班员。 2、值班时应坚守岗位,履行职责,不得睡觉、喝酒,发现不安全隐患及时排除,不得拖延。

3、值班员不得将与经营无关的人员、车辆带入或留在加油站。 4、管好炉火、电器等取暖用具。 5、熟悉消防器材的摆放位置、使用法,一旦遇到火灾,及时果断处理。 6、夜间值班员必须等白班安全员接班,将值班情况交代清楚并填好记录后,能离岗。 主要岗位的安全职责 一、站长 1、贯彻并执行《中华人民国消防法》和其他有关安全法规、制度;贯彻并执行中国油天然气股份有限公司制订的加油站安全管理制度。 2、履行防火第一责任人的职责,落实各项安全防火制度。 3、对员工进行安全教育,确保员工充分了解工作中存在的危险;确保员工熟练使用消防器材;确保员工执行安全管理规定。 4、预防事故发生。若发现事故隐患或发生了事故,应及时向主管部门汇报,并按照主管部门的有关要求进行妥善处理。 5、组织每月、每半年的安全工作检查,及时消除事故隐患。 6、组织本站义务消防人员的安全教育和训练。 7、组织制定密的灭火案和特殊情况的应急处理措施,并组织演练。 8、有责任制止“三违行为”(违章作业、违章指挥、违反劳动纪律)。 9、把每天的安全检查情况计入加油站日志。 二、班长安全职责 1、贯彻的安全法律法规。模执行加油站的各项安全制度,同时做好本班人员的安全教育工作。

华为Java语言编码规范标准

Java语言编码规范 Prepared by 拟制Date 日期 yyyy-mm-dd Reviewed by 评审人Date 日期 yyyy-mm-dd Approved by 批准Date 日期 yyyy-mm-dd

Revision Record 修订记录

Table of Contents 目录 1. 范围 (4) 2. 规范性引用文件 (4) 3. 术语和定义 (4) 4. 排版规范 (5) 4.1. 规则 (5) 4.2. 建议 (7) 5. 注释规范 (9) 5.1. 规则 (9) 5.2. 建议 (15) 6. 命名规范 (17) 6.1. 规则 (17) 6.2. 建议 (18) 7. 编码规范 (20) 7.1. 规则 (20) 7.2. 建议 (24) 8. JTEST规范 (26) 8.1. 规则 (26) 8.2. 建议 (27)

1.范围 本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。 本规范适用于使用Java语言编程的产品和项目。 2.规范性引用文件 下列文件中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。 3.术语和定义 规则:编程时强制必须遵守的原则。 建议:编程时必须加以考虑的原则。 格式:对此规范格式的说明。 说明:对此规范或建议进行必要的解释。 示例:对此规范或建议从正、反两个方面给出例子。

《加油站管理规范》(征求意见稿)修订说明

《加油站管理规范》修订说明 为适应加油站新业务、新流程的应用,围绕效率、效益、品牌,加强加油站管理工作,销售公司于2011年8月起组织相关部门及部分地区公司人员对现行《加油站管理规范》进行了修订,形成了《规范》(征求意见稿)。修订说明如下: 一、修订必要性 《规范》是中国石油加油站管理和零售业务的纲领性文件,是加油站员工的行为准则和工作指南,《规范》颁布至今已10年,对于规范和促进加油站管理,提高零售业务发展发挥了重要的积极作用。近年来,随着加油站网络规模日益壮大,管理手段逐年更新,客观上对加油站管理提出了新的挑战和要求。现行《规范》在服务要求、业务流程、营销模式、设备管理、信息化手段等方面已不能完全满足当前加油站管理的需求,有必要对其做进一步的修订和完善。基于这样一个出发点,在吸取国内外加油站先进管理理念和管理经验的基础上,结合销售企业实际,重新修编了《加油站管理规范》。 二、指导思想 认真总结《规范》实施的经验,按照加强“三基工作”(基层建设、基础工作、基本素质)精神,完善人力资源管理等

方面内容;以落实“精细化管理”要求,完善现场管理、设备管理等方面的内容;以实现“效率、效益和品牌”的销售业务指导思想,完善营销与客户管理、财务管理和考核等方面的内容;以全面应用“加油站信息系统”为主线,修订油品进销存、非油品、加油卡、信息管理等方面的内容;以“数量、质量和安全”三条红线为要求,结合新业务、新设备的需要,修订油品数质量和HSE管理方面的内容。 三、修订原则 (一)明确思路,统一思想。《规范》的修订应保持原有框架、结构和基本内容不变,修订后的内容要与其他管理制度衔接,内容保持一致。 (二)突出指导,搁置差异。《规范》的内容应对加油站管理具有普遍性的指导意义,搁置各地管理差异,着力解决当前加油站制度建设中遇到的实际困难和问题。 (三)与时俱进,逐步完善。对现有《规范》较为成熟的内容继续深化、细化,结合实际进行完善;对现有《规范》未涉及的但代表未来发展和管理方向的要增加;对不适应目前管理要求的进行调整。 (四)贴近实际,易于操作。《规范》的修订要总结多年来的管理和实践经验,既要贴近实际,又要体现出科学性、先进性和前瞻性,内容力求简单明了,突出可操作性、易操作性。

程序代码编写规范

程序编写规范及约定 (仅供内部使用) 文档作者:_______________ 日期:___/___/___ 开发/测试经理:_______________ 日期:___/___/___ 项目经理:_______________ 日期:___/___/___ 请在这里输入公司名称 版权所有不得复制

目录 程序编写规范及约定 (3) 1编写目的 (3) 2代码编写风格 (3) 2.1单元风格 (3) 2.2语句风格 (3) 3命名规则 (3) 3.1命名约定 (3) 3.1.1标志符 (3) 3.1.2类class (3) 3.1.3枚举类型enum (4) 3.1.4委托delegate (4) 3.1.5常量const (4) 3.1.6接口interface (4) 3.1.7方法function (4) 3.1.8命名空间namespace (4) 3.1.9参数 (4) 3.1.10局部变量 (5) 3.1.11数据成员 (5) 3.1.12自定义异常类 (5) 3.1.13命名缩写 (5) 3.1.14数据库命名 (5) 3.2代码编写命名规范 (6) 3.3界面常用控件命名约定 (6) 3.4文件命名规范 (7) 3.4.1文档文件命名 (7) 3.4.2配置文件命名 (7) 3.4.3程序文件命名 (7)

程序编写规范及约定 1编写目的 为了使编写代码具有可读性、可理解性、可维护性,对程序编写人员代码实行统一风格,使得程序代码能够以名称反映含义、以形式反映结构。此文档可供程序代码编写人员及代码维护人员使用。 2代码编写风格 2.1单元风格 2.2语句风格 3命名规则 3.1命名约定 Pascal和Camel命名约定: 编程的命名方式主要有Pascal和Camel两种(Pascal:每个单词的首字母大写,例如ProductType;Camel:首个单词的首字母小写,其余单词的首字母大写,例如productType) 3.1.1标志符 规则:Pascal、Camel 实例与描述:例子说明 3.1.2类class 规则:Pascal 实例与描述:Application

程序代码注释编写规范

程序代码注释编写规范 XXX份公司

为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************

华为软件编程规范.doc

文档编号产品版本受控状态 DC-SB-2003-1005V 1.0 内部 产品名称:软件编程规范共页 软件编程规范 (仅供内部使用) 北京世纪百合科技有限公司 Beijing Centurial Lily Technology Co.,Ltd. 版权所有不得复制

文档修改记录

目录 1.引言 (4) 1.1 目的 (4) 1.2 范围 (4) 2.规范 (4) 2.1 文件 (4) 2.2版面风格 (8) 2.3 标识符命名 (12) 2.4 函数与宏 (14) 2.5 代码的可靠性 (18) 3.附录:通用类型的公共定义 (23)

1.引言 1.1目的 本规范的目的在于增加源代码的可读性,减少程序员对代码理解上的偏差,使程序员能够编写出可靠的代码,降低代码维护成本。 1.2范围 本规范内容涉及范围包括:文件、版面、注释、标识符、变量和结构、函数、宏以及可理解性等。本规范适用于公司开发的所有软件产品。在新软件的编码过程中本规范必须执行。 2.规范 2.1文件 2.1.1头文件的名称一律为小写,格式为“子系统名_文件名.h”。例如: ipf_protocol.h等。 2.1.2头文件的格式如下: ?注释头,格式参见软件编程规范; ?头文件预编译开关开始,格式为: #ifndef 预编译开关 #define 预编译开关 其中预编译开关格式为:“ _文件名_H”,其中文件名一律大写 ?头文件内容; ?头文件预编译开关结束,格式为: #endif 用来和头文件预编译开关的开始对应。 例如:以下为ipf_ip.h头文件的内容: /************************************************************ Copyright (c) Lily Of The Century Technology Co., LTD. ALL RIGHTS RESERVED Description: // 用于详细说明此程序文件完成的主要功能 *************************************************************/ #ifndef _IPF_IP_H #define _IPF_IP_H ...

加油站标准化管理办法

加油站标准化管理办法 参照《加油站细节管理手册》和《加油站管理规范》,结合我公司加油站实际情况特制定本办法,本办法未规定的管理要求,按照《加油站管理规范》执行。 一、加油站员工宿舍管理 1、员工宿舍是员工住宿、休息的综合场所,站经理应制定相应的宿舍卫生值班和考核制度,悬挂于墙,以保证员工住宿环境。 2、员工宿舍实行半军事化管理,新入职员工的标准品由公司统一配置包括:被、褥、枕头、枕巾、床单、被蒙、衣柜、鞋柜、洗漱架、暖壶、毛巾被等,员工离职时必须将公司配发的物品与站经理进行交接。 、室内物品摆放要采取定置管理,整齐划一、统一要求、统一标准,摆放位置参照《加油站细节管理手册》。3 不允许员工在宿舍墙壁、橱柜、门窗上随意悬挂、张贴物品。 4、下班员工在宿舍休息时要做好房间的卫生保持,宿舍卫生由本宿舍人员负责,站经理安排好宿舍卫生值班,并及时检查。白班员工在岗期间不允许进宿舍。 5、注意做好宿舍的防火防盗工作,员工不允许在床上抽烟,员工离开宿舍或宿舍无人时,应随手关、锁门、关闭一切电器,贵重物品应自行妥善保管。 6、室内禁止烧煮、烹调或私自接配电线及电器。使用收音机、电视机时不得妨碍他人休息。 7、员工不得在宿舍内进行聚餐、喝酒、赌博、打麻将和从事其他不健康的活动。 8、没有站经理的同意,员工宿舍不允许留宿非本站人员。 9、非跑家的员工无特殊理由必须在加油站住宿。站经理要做好夜查,检查人员在位情况。

10、定制化标准: (1)床上物品:褥子、床单(要铺平整),白天必须铺公司同一定制的白床单。被子按部队标准叠制,可目测到的一面四折朝外。被内侧放枕头,床铺上不可放其它杂物。 (2)其他物品:鞋柜内拖鞋工作鞋分开放置,鞋跟朝内。房间一角处放洗漱架,脸盆内放牙具、毛巾按各占要求统一标准进行放置。衣柜内物品要摆放整齐,如房间内添置其它物品或房间格局不同可参照此规定摆放。 11、管理标准 (1)室内天花板、墙壁无积灰、蜘蛛网,墙面无脱落、渗漏,地面干净,不留水渍,未堆放杂物,无异味,无蟑螂、苍蝇。 (2)门窗和滑槽无破损、积灰、蜘蛛网、污渍。 (3)空调(电风扇)扇叶、网罩无积灰、锈蚀。 (4)照明灯无积灰、蜘蛛网,电源开关及接线盒盖板、贴脚线无积灰、污渍。 (5)物品柜无破损、积灰、污渍。 (6)生活用品摆放整齐,无积灰、污渍。 (7)床单、被罩、枕套每半月至少清洗一次,保持整洁、平整;窗帘每季度清洗一次。 (8)墙壁不悬挂、张贴画刊、照片等与工作无关的物品,墙壁上不得随意定钉或拉线。 (9)不得私拉乱接电线,不得使用热得快、热水棒、电炉等大功率电器设备。 12、卫生管理 (1)责任人:住宿员工。 (2)每日工作:保持宿舍整洁卫生无异味、严格执行宿舍管理制度。 (3)每周工作:安排一次大扫除。

程序代码注释编写规范

百度文库- 让每个人平等地提升自我 1 程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* (C), MicTiVo International. Co., Ltd. 1.File : . History: Date: Author: Modification: 2. .. *************************************************/ 一、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************ (C), MicTiVo International. Co., Ltd. FileName: Author: Version : Date: : / /*receive _process() */ 意:与溢出中断写初值不同}

C语言编写规范之注释

1、头文件包含Includes 2、私有类型定义 Private typedef 3、私有定义Private define 4、私有宏定义 Private macro 5、私有变量 Private variables 6、私有函数原型Private function prototypes 7、私有函数Private functions 8、私有函数前注释 /****************************************************************************** * * Function Name : FSMC_NOR_Init * Description : Configures the FSMC and GPIOs to interface with the NOR memory. * This function must be called before any write/read operation * on the NOR. * Input : None * Output : None * Return : None ******************************************************************************* / 9、程序块采用缩进风格编写,缩进空格为4。 10、相对独立的程序块之间、变量说明之后必须加空行; 11、较长的字符(>80字符)要分成多行书写,长表达式要在低优先级操作符划分新行,操作符放在新行之首,新行要恰当缩进,保持排版整齐; 12、循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首; 13、若函数或过程中的参数较长,则要进行适当的划分。 14、不允许把多个短语句写在一行中,即一行只写一条语句。 15、if、for、do、while、case、switch、default等语句自占一行,且if、for、 do、while等语句的执行语句部分无论多少都要加括号{}。 16、对齐只使用空格键,不使用TAB键; 17、 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case 语句下的情况处理语句也要遵从语句缩进要求 18、 程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一 列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以 及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。 19、 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或

华为代码规范文档

代码规范文档

目录 1 概述 (5) 1.1 编写目的 (5) 1.2 文档约定 (5) 1.3 预期的读者和阅读建议 (5) 1.4 参考文献 (5) 2 排版要求 (5) 2.1 程序块缩进 (5) 2.2 程序块之间空行 (5) 2.3 长语句和长表达式 (6) 2.4 循环、判断等长表达式或语句 (7) 2.5 长参数 (7) 2.6 短语句 (8) 2.7 条件、循环语句 (8) 2.8 语句对齐 (8) 2.9 函数、过程和结构等语句块 (9) 2.10 程序块分界符 (9) 2.11 操作符前后空格 (10) 2.12 其他 (11) 3 注释 (11) 3.1 有效注释量 (11) 3.2 公司标识 (11) 3.3 说明性文件 (12) 3.4 源文件头 (13) 3.5 函数头部说明 (13) 3.6 注释与代码一致 (14) 3.7 注释内容 (14) 3.8 注释缩写 (14) 3.9 注释位置 (14) 3.10 变量、常量注释 (15) 3.11 数据结构的注释 (15) 3.12 全局变量 (16) 3.13 注释缩排 (16) 3.14 注释与代码之间空行 (17) 3.15 变量定义、分支语句 (17) 3.16 其他 (19) 4 标识符命名 (20) 4.1 命名清晰 (20) 4.2 特殊命名需注释 (21) 4.3 命名风格保持一致 (21) 4.4 变量命名 (21) 4.5 命名规范与系统风格一致 (21) 4.6 其他 (22) 5 可读性 (23) 5.1 运算符优先级 (23)

5.2 避免直接使用数字作为标识符 (23) 5.3 其他 (24) 6 变量、结构 (25) 6.1 公共变量 (25) 6.2 公共变量说明 (25) 6.3 公共变量访问说明 (25) 6.4 公共变量赋值 (26) 6.5 防止局部变量与公共变量同名。 (26) 6.6 严禁使用未经初始化的变量作为右值。 (26) 6.7 其他 (26) 7 函数、过程 (34) 7.1 对所调用函数的错误返回码要仔细、全面地处理。 (34) 7.2 明确函数功能,精确(而不是近似)地实现函数设计。 (34) 7.3 局部变量 (34) 7.4 全局变量 (34) 7.5 接口函数参数 (35) 7.6 其他 (35) 8 可测性 (44) 8.1 调测开关 (44) 8.2 打印信息 (45) 8.3 单元测试 (45) 8.4 集成测试 (45) 8.5 断言使用 (45) 8.6 设置与取消有关测试手段时,不能影响软件功能功能 (48) 8.7 版本维护 (48) 8.8 其他 (48) 9 程序效率 (50) 9.1 编程时要经常注意代码的效率。 (50) 9.2 提高代码效率 (50) 9.3 全局效率高于局部效率 (51) 9.4 提高代码空间效率 (51) 9.5 循环体内工作量最小化 (52) 9.6 其他 (53) 10 质量保证 (56) 10.1 在软件设计过程中构筑软件质量。 (56) 10.2 代码质量保证优先原则 (56) 10.3 只引用属于自己的存贮空间。 (56) 10.4 防止引用已经释放的内存空间。 (56) 10.5 内存及时释放 (57) 10.6 文件句柄及时关闭 (57) 10.7 防止内存操作越界 (58) 10.8 认真处理程序所能遇到的各种出错情况 (59) 10.9 初始化变量 (59) 10.10 数据一致性检查 (59) 10.11 严禁随意更改其它模块或系统的有关设置和配置 (59) 10.12 不能随意改变与其它模块的接口 (59)

中石油加油站管理规范管理部分

中国石油加油站管理规范总则第一条指导思想对加油 站实施专业化、标准化和信息化管理提高加油站的经济效益和综合管理水平实现股东、管理者、员工、顾客以及社区利益的最佳结合。第二条服务宗旨为客户提供全员、全面、全过程、全心全意的服务。第三条服务承诺质量达标计 量准确环境整洁安全、快捷。第四条管理模式资源统一 配送价格统一制定财务统一核算外观统一包装服务统一规 范对外统一宣传。第五条适用范围本规范适用于中国石 油天然气股份有限公司加油站管理部门和所属的全资、控股、参股、租赁和特许经营等类型的加油站。第一章人力资源管理第一节定岗、定编、定员第六条岗位结构见图1-1 第七条岗位设置 1.加油站设置站长1人年加油量在4000吨以上的加油站增设副站长1人。2.加油站应设置收银员岗位加油员可兼任收银员。 3.班长由加油员或收银员兼任。4. 独立核算的加油站设会计和出纳岗位非独立核算的加油站 不设会计岗位但可根据需要设核算员或记帐员岗位。5.加油站必须设置兼职或专职的计量保管员、安全员、设备管理员、质量监督员岗位。6.日销售量在25吨以上的加油站可酌情 设置后勤岗位日销售量在25吨以下的加油站不设后勤岗位。 7.设有其他经营服务项目的加油站可根据实际情况设其他服 务岗位如洗车员、便利店售货员等。第八条定编定员 1. 加油站主营业务定编以日均加油量作为定编指标具体标准

见下表注①本标准的定员数为上限各单位在实际执行中可 适当调减。②使用中实际量与标准量无对应值时就近使用 相临的标准。③本标准的定员数不含加油站所属的非主营 的经营服务性用工。④日均加油量在2吨以下的加油站可 根据实际设定人员但定员总量不得超过6人也可采用承包经营等多种管理形式。⑤在定员总量范围内加油站具体岗位 的设置可参照岗位定员标准根据实际需要设定。⑥实行IC 卡的加油站可参照本标准适当压缩定员标准。⑦设有非有 偿服务项目的加油站可在标准定员的基础上增加不超过20 的人员。⑧中心城市的主要加油站实际用工可在标准定员 的基础上提高5-15。2. 加油站便利店人员定编见第七章“便利店管理”第一节的有关规定。3. 设有其他经营项目或服务项目的加油站其他项目人员的定编由各省市、区公司根据本区域实际情况制订定编标准。第九条程序与权限站长根 据本节有关规定结合加油站的规模、功能设计、日均加油量、日交易次数、营业时间等因素申报加油站的岗位设置及定员情况。地市分公司负责管辖区域内加油站的岗位设置及定员。第二节岗位职责第十条站长经理岗位职责 1. 负责组织 和领导全站员工开展各项经营、管理和服务工作。2. 负责 加油站商品的进、销、存和数质量管理保障供应提高销量确保公司下达的经营销售指标和其他目标的全面完成。 3. 加 强核算分解落实各项经济指标控制费用支出降低商品损耗

程序源代码注释规范

程序注释规范说明 程序注释规范应包括以下三方面: 一、文件头部注释 在代码文件的头部进行注释,这样做的好处在于,我们能对代码文件做变更跟踪。在代码头部分标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的开发和修改。 样本: /***************************************************** ** 作者:Liuchao ** 创始时间:2007-11-12 ** 修改人:Liuchao ** 修改时间:2007-11-12 ** 修改人:Liaochao ** 修改时间:2007-11-12 ** 描述: ** 主要用于产品信息的资料录入,… *****************************************************/ 二、函数、属性、类等注释 请使用///三斜线注释,这种注释是基于XML的,不仅能导出XML制作帮助文档,而且在各个函数、属性、类等的使用中,编辑环境会自动带出注释,方便你的开发。以protected,protected Internal,public声明的定义注释都建议以这样命名方法。 例如: ///

/// 用于从ERP系统中捞出产品信息的类 ///

class ProductTypeCollector { … } 三、逻辑点注释 在我们认为逻辑性较强的地方加入注释,说明这段程序的逻辑是怎样的,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG。在注释中写明我们的逻辑思想,对照程序,判断程序是否符合我们的初衷,如果不是,则我们应该仔细思考耀修改的是注释还是程序了… 四、变量注释 我们在认为重要的变量后加以注释,说明变量的含义,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG.我们常用///三斜线注释。 /// 用于从ERP系统中捞出产品信息的类 class ProductTypeCollector { int STData;/// … }

中国石油加油站管理规范

中国石油加油站管理规范 来源:卢迪的日志 中国石油加油站管理规范 总则 第一条指导思想 对加油站实施专业化、标准化和信息化管理,提高加油站的经济效益和综合管理水平,实现股东、管理者、员工、顾客以及社区利益的最佳结合。 第二条服务宗旨 为客户提供全员、全面、全过程、全心全意的服务。 第三条服务承诺 质量达标,计量准确,环境整洁,安全、快捷。 第四条管理模式 资源统一配送,价格统一制定,财务统一核算,外观统一包装,服务统一规范,对外统一宣传。 第五条适用范围 本规范适用于中国石油天然气股份有限公司加油站管理部门和所属的全资、控股、参股、租赁和特许经营等类型的加油站。 第一章人力资源管理 第一节定岗、定编、定员 第六条岗位结构(见图1-1) 第七条岗位设置 1.加油站设置站长1人,年加油量在4000吨以上的加油站增设副站长1人。 2.加油站应设置收银员岗位,加油员可兼任收银员。 3.班长由加油员或收银员兼任。 4.独立核算的加油站设会计和出纳岗位;非独立核算的加油站不设会计岗位,但可根据需要设核算员或记帐员岗位。 5.加油站必须设置兼职或专职的计量保管员、安全员、设备管理员、质量监督员岗位。 6.日销售量在25吨以上的加油站可酌情设置后勤岗位,日销售量在25吨以下的加油站不设后勤岗位。 7.设有其他经营服务项目的加油站可根据实际情况设其他服务岗位,如洗车员、便利店售货员等。 第八条定编定员 1.加油站主营业务定编以日均加油量作为定编指标,具体标准见下表: 注:①本标准的定员数为上限,各单位在实际执行中可适当调减。 ②使用中实际量与标准量无对应值时,就近使用相临的标准。 ③本标准的定员数不含加油站所属的非主营的经营服务性用工。 ④日均加油量在2吨以下的加油站可根据实际设定人员,但定员总量不得超过6人,也可采用承包经营等多种管理形式。 ⑤在定员总量范围内,加油站具体岗位的设置可参照岗位定员标准根据实际需要设定。 ⑥实行IC卡的加油站,可参照本标准适当压缩定员标准。

华为JAVA编码规范

1.程序块采用缩进风格,空格为4个. 说明: 对于开发工具自动生成的代码可以不一致 2.分界符(如大括号{和})应各自占一行并且在同一列,同时与引用它们的语句左 对齐,在方法的开始,类和接口的定义,以及if,for,do,while,switch,case语句都要采用上述缩进 说明: for(…) { …//your code } 3.较长(>80字符)的语句,表达式和参数要分多行,长表达式要在低优先级操作符 划分新行,操作符放在行首,新行要适当缩进,整齐,语句可读. 说明: if(filename != null && new File(logPath+filename).length() < logConfig.getFileSize()) { …//your code } 4.一行只写一条语句 说明: LogFilename wow = null; LogFilename that = null; 5.if,for,do,switch,while,case,default各占一行,它们的执行语句无论多少都要加{} 说明: if(writeToFile) { writeFileThread.interrupt(); } 6.相对独立的程序块,变量,说明要加空行 说明: if(log.getLevel() < log.getRecord()) { return ; } //空行

LogWrite writer; 7.对齐只用空格键,不用TAB键 说明: 以免使用不同的编辑器阅读程序时,因TAB键所设置的空格数不同而造成程序布局不整齐,JBuildr,UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开 8.两个以上的关键字,变量,常量进行对等操作时,操作符之前,之后或前后要加空 格,进行非对等操作时,如果是关系密切的立即操作符,后面不加空格(如.操作符) 说明: 采用这种松散方式编写代码目的是让程序更加清晰,由于空格所产生的清晰性是相对的,所以在已经很清晰的语句中没有必要留空格,如果语句已足够清晰,则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为java中括号已经是很清晰的标志了.在长句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部中不加空格,给操作符留空格时不要连续留两个以上空格 9.类属性和方法不要交叉放置,不同存取范围的属性和方法也不要交叉放置 说明: 类定义:{ 类公有属性定义; 类保护属性定义; 类私有属性定义; 类公有方法定义; 类保护方法定义; 类私有方法定义; } 10.源程序的有效注释量必须在30%以上 11.包的注释写入一个名为package.html的html格式的说明文件放入当前路径 12.包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本 说明: 一句话描述 详细描述 产品模块
公司版本信息

相关主题
文本预览
相关文档 最新文档