第一篇:域代码编写总结
word域代码详解
域的基本操作
Ctrl+F9 插入域
Ctrl+Shift+F9把域转为纯文本 Shift+F9 切换为域代码显示
十个特殊指令(域开关)
1、数组a
2、括号b
3、平移d
4、分式f
5、积分i
6、列表l
7、重叠o
8、根号r
9、上下标s
10、框x
域代码: {EQ a(100,2,31)}
讲解: {EQ列表(100,2,31排成一列)}
可用参数:
al左对齐;ac居中;ar右对齐;con元素排成 n 列;vsn行间增加 n 磅;hsn列间增加n磅
al左对齐
域代码: {EQ aal(100,2,31)}
讲解: {EQ 列表左对齐(100,2,31)}
ac居中
域代码:{EQ aac(100,2,31)}
讲解:{EQ 列表居中对齐(100,2,31)}
ar右对齐
域代码:{EQ aar(100,2,31)}
讲解:{EQ 列表右对齐(100,2,31)}
con元素排成n列
域代码:{EQ aco3(10,2,31,0,1,0,14,3,55)}
讲解:{EQ 列表元素排成3列(10,2,31,0,1,0,14,3,55)}
vsn 行间增加n磅
域代码:{EQ aco3vs2(10,2,31,0,1,0,14,3,55)}
讲解:{EQ 列表元素排成3列行间增加2磅}
hsn 列间增加n磅
域代码:{EQ aco3vs2hs4(10,2,31,0,1,0,14,3,55)}
讲解:{EQ 列表元素排成3列行间增加2磅列间增加4磅}
域代码:{EQ b(a(100,2,31))}
讲解:{EQ 加括号(数组(100,2,31))}
可用参数:
左括号使用字符 lc;右括号使用字符 rc;左右括号都使用字符bc
lc* 左括号使用字符*
域代码:{EQ blc|(a(100,2,31))}
讲解:{EQ 加括号左括号使用字符|(数组(100,2,31))}
rc* 右括号使用字符*
域代码:{EQ brc|(a(100,2,31))}
讲解:{EQ 加括号右括号使用字符|(数组(100,2,31))}
bc* 左右括号都使用字符*
域代码:{EQ bbc|(a(100,2,31))}
讲解:{EQ 加括号左右括号使用字符|(数组(100,2,31))}
注意:如果指定的字符*是 {、[、(、或 <,Word 将使用相应的字符作为右括号。如果指定其他字符,Word将使用该字符作为相同的左右括号。默认括号为圆括号。
3、位移开关 d(): 控制 EQ 域之后下一个字符的位置。
空圆括号只跟在指令最后一个选项后面。
域代码:{EQ-d()A-}
讲解:{EQ-下一个字符后移 A-}
可用参数:
fon右边n磅;ban左边n磅;li为下一个字符前的空白添加下划线
fon 右边n磅
域代码:{EQ-dfo5()A-}
讲解:{EQ-下一个字符后移5磅 A-}
ban 左边n磅
域代码:{EQ-d ba7(A-)}
讲解:{EQ-下一个字符前移7磅}
li 为下一个字符前的空白添加下划线
域代码:{EQ 我 dfo12li()你 }
讲解:{EQ 我 下一个字符后移12磅,空白添加下划线 你}
4、分数开关 f(,): 创建分数,分子分母分别在分数线上下居中。
域代码:{EQ 18f(5,132)}
讲解:{EQ 18分数(分子,分母)}
无可用参数。
符号或默认符号及三个元素创建积分。
第一个元素是积分下限,第二个是上限,第三个是积分表达式。
域代码:{EQ i(a,b,3x+1 dx)}
讲解:{EQ 积分(下标a,上标b,表达式3x+1 dx)}
可用参数: 将符号更改为∑ 并生成求和公式su ;将符号更改为大写的 Π 并生成求积公式pr ;创建行内格式,积分限不在符号的上下,而在符号之右in ;将符号设置为固定高度的字符 fcc。
su 生成求和公式
域代码:{EQ isu(i=1,n,xi)}
讲解:{EQ 求和(下标a,上标b,表达式xi)
pr 生成求积公式
域代码:{EQ ipr(i=1,n,xi)}
讲解:{EQ 求积(下标i=1,上标n,表达式 xi)
in 积分限不在符号的上下,而在符号之右
域代码:{EQ iin(a,b,3x+1 dx)}
讲解:{EQ 积分积分限在符号之右(a,b,3x+1 dx)}
fcc将符号c设置为固定高度的字符
域代码:{EQ ifc设置为固定高度的字符in(a,b,3x+1)}
讲解:{EQ i符号改为。
in(a,b,3x+1)};将符号
vcc 符号高度与第三个元素高度一致
域代码:{EQ ivc
in(a,b,3x+1)}
讲解:加vc开关后,指定的符号自动放大
6、列表开关 l(): 使用任意个数的元素组成列表。
以逗号或分号分隔,这样就可以将多个元素指定为一个元素。在域中输入一个类似a,b的元素,不加括号时域会报错,加了括号又会显示出括号,列表开关可以解决类似问题。
域代码:{EQ isu(l(i,j)=1,l(n,m),xij)}
讲解:{EQ求和(加列表(i,j)=1,加列表(n,m),xij)}
无可用参数。
7、重叠开关 o(): 将每个后续元素置于前一个元素之上。
元素数目不限。元素之间以逗号隔开。可以配合上标开关使用
域代码:{EQ o(A,╳)}{EQ o(?,12)}
讲解:{EQ 重叠(A,╳)} {EQ 重叠(?,12)}
可用参数: 左对齐al;居中ac;右对齐ar
al左对齐
域代码:{EQ oal(ABC,sup10(︵))}
讲解:{EQ o重叠左对齐(ABC,sup10(︵))}
ac居中
域代码:{EQ oac(ABC,sup10(︵))}
讲解:{EQ 重叠o居中ac(ABC,sup10(︵))}
ar右对齐
域代码:{EQ oar(ABC,sup10(︵))}
讲解:{EQ 重叠o右对齐ar(ABC,sup10(︵))}
8、根号开关 r(,): 使用一个或两个元素绘制根号。
域代码:{EQ r(5,2a+b)}
讲解:{EQ 根号r(根指数5,被开方数2a+b)}
无可用参数。
9、上标下标开关 s(): 将元素放置为上标或下标字符。
每个 s 代码可有一个或多个元素,以逗号隔开。如果指定多个元素,则元素将堆叠起来并且左对齐
域代码:{EQ Cs(3,12)}
讲解:{EQ C上下标(上标3,下标12)}
可用参数: 在段落一行之上添加由 n 指定的磅数的空白;文字上移由 n 指定的磅数。默认值为 2 磅
upn()在段落一行之下添加由 n 指定的磅数的空白din();将单个元素相对相邻文字下移由 n 指定的磅数。默认值为 2 磅don()。
ain添加由 n 指定的磅数的空白
域代码:A{EQ Csai12(3)B}
讲解:A{EQ C上下标s行之上添加由12磅的空白ai12(3)B}
upn 文字上移由 n 指定的磅数(默认值为 2 磅)
域代码:{EQ Csup12(3)s(12)}
讲解:{EQ C上下标sup12(3)上下标s(12)}
din 在段落一行之下添加由 n 指定的磅数的空白
域代码:{EQ Csdi18(12)}A
讲解:{EQ C上下标s一行之下添加18磅的空白di18(12)}A
don 将单个元素相对相邻文字下移由 n 指定的磅数。默认值为 2 磅
域代码:{EQ Cs(3)sdo8(12)}
讲解:{EQ C上下标s(3)上下标s下移8磅do8(12)}
10、框开关 x(): 创建元素边框。
如果不带选项,则此代码在元素四周绘一个方框。
域代码:{EQ x(12345)}
讲解:{EQ 边框x(12345)}
可用参数: 在元素的上面绘制一个边框to ;在元素的下面绘制一个边框 bo ;在元素的左面绘制一个边框le 在元素的右面绘制一个边框ri
to上面绘制一个边框
域代码:{EQ x to(A∪B)}
讲解:{EQ 边框x 上边框to(A∪B)}
bo下面绘制一个边框
域代码:{EQ x bo(A∪B)}
讲解:{EQ 边框x 下边框bo(A∪B)}
le左面绘制一个边框
域代码:{EQ x le(A∪B)}
讲解:{EQ 边框x 左边框le(A∪B)}
ri左面绘制一个边框
域代码:{EQ x ri(A∪B)}
讲解:{EQ 边框x 右边框ri(A∪B)}
左右都加边框
域代码:{EQ x leri(A∪B)}
讲解:{EQ 边框x 左边框le右边框ri(A∪B)}
关于域的快捷键:
Ctrl+F9组合键——快速插入域定义符“{}”(注意:这个花括号不能用键盘输入)
Shift+F9组合键——显示或者隐藏指定的域代码
Alt+F9组合键——显示或者隐藏文档中所有域代码
F9键——更新单个域
上表中,选中每一个实例用鼠标右键单击,选“切换域代码”(或者直接按Shift+F9组合键),就可以看到域代码,再按Shift+F9组合键回到域结果。
我们在word2000中编辑文档时,有时会经常遇到要求输入数学公式的情况。虽然简单的加、减、乘、除等运算都可在键盘上直接输入,但遇到复杂的数学公式:如积分、开方、求和等符号时,就只能利微软的office套件中所带的工具“公式编辑器”来完成,但是在office套件的典型安装的过程中,并没有选择这个工具,那么有没有办法可以在word2000中直接输入这些符号呢?答案是肯定的,下面我们就来讲解通过word2000的EQ域的功能输入数学公式。
一、EQ域的基本使用格式:
{EQ Switches}
其中Switches用于指定如何使用其后跟随的括号中的元素建立公式,还可以用适当的开关选项来进行修改。EQ域的开关特别多,特别复杂,合理的组合可以产生各种各样的公式,下面我们来详细介绍各种开关的作用及使用方法及事例。
二、EQ域的开关及选项意义
1.数组开关:a(),可以在文档中绘制一个二维数组。还可以使用下面的选项来修改a 开关。
al 列内左对齐。
ac 列内居中对齐。
ar 列内右对齐。
con元素排成 n 列(默认值为 1)。
vsn行间增加 n 磅的垂直间距。
hsn列间增加 n 磅的水平间距。
2.括号开关:b(),用括号括住单个元素。
lcc 左括号使用字符 c。
rcc 右括号使用字符 c。
bcc 左右括号都使用指定的字符 c。
3.位移开关:d(),将下一个字符向左或右移动指定磅数。
fon()右边 n 磅。
ban()左边 n 磅。
li()为下一个字符前的空白添加下划线。
示例:{ EQ d fo10 li()} 显示为(前一段文字)__(后一段文字)
4.分数开关:f(,):可用于创建分数。
分子分母分别在分数线上下居中。如果系统使用逗号作为小数点,请用分号分隔两个元素。
5.列表开关:l(),将多个值组成一个列表,列表可作为单个元素使用。
列互开关可使用任意个数元素组成列表,以逗号或分号分隔,这样就可以将多个元素指定为一个元素。
6.重叠开关:o(),将每个后续元素打印在前一元素之上。
al 左对齐
ac 居中(默认值)
ar 右对齐
7.根号开关:r(,),使用一个或两个元素绘制根号。
8.上标或下标开关:s(),设置上下标。可将一个或多个元素设置为上标或下标。每个s代码可有一个或多个元素,以逗号隔开。如果指定多个元素,则元素将堆叠起来并且左齐。可用下面的选项在s开关之后放置单个元素。
ain()在段落一行之上添加由 n 指定的磅数的空白。
upn()将单个元素相对相邻文字上移由 n 指定的磅数。默认值为 2 磅。
din()在段落一行之下添加由 n 指定的磅数的空白。
don()将单个元素相对相邻文字下移由 n 指定的磅数。默认值为 2 磅。
9.方框开关:x(),在元素四周绘制边框。
to 元素之上。bo 元素之下。
le 元素左侧。ri 元素右侧。
10.积分开关:i(,),使用指定的符号或默认符号及三个元素创建积分。使用指定的符号及三个元素创建积分。第一个元素是积分下限,第二个元素是积分上限,第三个是积分表达式。可用下面的选项修改。
su 符号更改为大写的 ∑ 并生成求和公式。
pr 符号更改为大写的 Π 并生成求积公式。
in 创建行内格式,积分限不在符号的上下,而在符号之右。
fcc 将符号设置为固定高度的字符 c。
vcc 将符号设置为可变高度的字符 c。符号高度与第三个元素高度一致。
好了,上面详细地介绍了EQ域创建数学公式的每个开关及选项的意义,下面我们来看几个实例的应用。
三、EQ域实例创建
例
1、我们要创建如下的数学二元一次方程组:
1.先写出第一个方程的代码:{EQ r(3,x)+r(2,x)= r(6,y)}
2.再写出第二个方程的代码:{EQ f(2,x)+f(5,y)= f(10,x)}
3.将每个等式作为一个元素合并在一个域中,并增加a开关,使其排列在两行中域代码为:{EQ a al co1(r(3,x)+r(2,x)= r(6,y), f(2,x)+f(5,y)= f(10,x))
4.最后按照方程式的组成规则,在域代码中增加开关,为公式加入括号,并修改参数,生成这个二元方程组。最终代码为:{EQ b lc {(a al co1(r(3,x)+r(2,x)= r(6,y), f(2,x)+f(5,y)= f(10,x)))
例
2、创建如下的积分算式:
1.首先写出内部的根号的代码:{EQ r(2,x)}
2.其次增加分数开关的代码:{EQ f(r(2,x),5)}
3.最后增加积分开关,完成这个积分算式,代码为:{EQ i(200,100,f(r(2,x),5))dx}
第二篇:代码编写规范
代码编写规范
1、所有代码排版整齐,可以使用编程工具自带的排版功能;
2、代码缩进使用Tab键,不允许使用空格;
3、标示符的声明:修饰符与变量名之间留一空格;
4、用途相近的变量声明之间不加空行;用途相差很远的变量声明之间加一空行进行区分;
5、变量声明要集中,不允许分散在程序代码之间;
6、对于语意不明确的变量名要增加注释进行说明;
7、对于方法功能要进行注释说明;
对于功能非常简单的,并且可以直接从方法名称推断出其具体功能的方法,可以不加注释;
所有的方法注释必须准确;
8、方法的排列顺序要依照功能的排列顺序进行排列;
9、CSS样式代码编写顺序需要按照页面的排版顺序进行排列,不同的组件样式之间要以明显的“分隔符”进行分隔;
10、Html代码排版一定要规范,按照不同标签的层次关系进行适当的缩进排列,缩进使用Tab键,不允许使用空格;
11、Java代码的编写,首先进行变量声明,接下来是构造方法,在接下来是一些其他的功能方法,最后是变量的get/set方法。如果有嵌入类或嵌入接口的声明,应该放在文件最后,且需要增加注释详细说明;
12、JS代码的编写,首先是一些全局变量的声明,接下来是一些功能方法,最后是初始化代码。不同的方法之间要保留适当的空行,不允许使用alert。
第三篇:代码编写的好习惯
2013-3-31
赵永华:格式之美 如何编写出专业型Java代码[1]
http:// 作者:赵永华 来源:希赛网 2008年6月19日进入社区格式之美:如何编写出专业型Java代码
作者简介:赵永华,男,威海职业学院信息工程系 高级工程师
假如你想成为职业程序员,那么你在编程时,就不仅应注重代码的实现方式,还应注意代码的编写格式。虽然,绝大多数用户无缘审读软件程序源代码,但程序员在编程时,无论内容还是形式都应力臻完美。本文以Java为例谈一些具体的细节,希望能得到大家认同或启迪。
一、为何要注重编程格式
今天,Java已成为软件开发的主流用语,笔者近来看到这样一个统计结果:在商业软件产品中,软件产品的后续成本中约80%用于维护开销。而软件维护往往很少由原创者担任,良好的源码编写风格有益于日后软件维护已成为诸软件商公认的事实。
当今,软件产品早己步入团队协作式开发模式,要成为一支优秀开发组的关键因素之一就是组员之间的密切交流,它体现在整个开发周期,从需求、计划、测试案例、设计,到算法、实现方式等软件工程各阶段当中。具体到每一个实现模块的源代码亦不例外。简言之,就是你在编写这段代码时应当让其他人清晰的了解这段代码“是什么”,当程序出错时,其他人能够从程序逻辑上迅速分析找到错误出处。
二、讲究细节
就程序应具有的“透明性”而言,开发小组应当采用一种共同的编写格式。比如Java,大家应当采用同一种IDEs(Integrated Developer Environments)。自2000年以来,Java开发所用IDE发展基本成型,开发人员一致采用的平台通常都是可免费下载的Sun公司的Netbeans IDE和Eclipse IDE,这两种工具都是优秀的“格式化”工具,有助于开发组形成良好的编程风格。如果有人至今还固执地采用那种原始的文本编辑器输入Java代码,未免显得愚钝。
在我们输入源代码时,一个容易忽略的问题是代码显示。传统的代码行通常限制的字符数是80,这主要是考虑到最低廉的文本终端80x25显示模式,这种思维在21世纪宽屏时代早已过时。今天的每行代码字符默认值达120。在输入代码时我们遇到的一个心理活动就是用空格还是制表符Tab,一个Tab等于几个空格,现在的答案是4个空格。
在Java中,从基本语法(比如while, do, for 等循环语句和类定义)开始就涉及到大括号,那么这些括号的摆放位置即便是专业程序也具有不同风格,这里例举如下:
// K&R风格
if(condition){
statement;
statement;
}//Allman风格if(condition){statement;statement;}//Whitesmiths Style风格if(condition){statement;statement;}//GNU风格if(condition){statement;statement;}
赵永华:格式之美 如何编写出专业型Java代码[2]
http:// 作者:赵永华 来源:希赛网 2008年6月19日进入社区
究竟哪种格式好?维基百科论坛对此曾有过较长时间的讨论,结果多数人倾向于前两种格式。如果留心的话,你会看到在Sun公司网站和手册中的代码都采用了K&R风格。一次在做项目时,多数同事都采用了Allman风格,当我发现这点时编写的代码总量已达数千行,此时如果为此而逐行修改不是怕耗时而是进度不允许,此时幸好我采用的Eclipse提供了格式配置工具遂即刻搞掂。流行的Java编辑器在输入左括号时都会自动出现对应的右括号。
在代码的控制结构中,假如只有一行执行语句,从语法上讲,此时的大括号可以省略,但依笔者的经验,此举其实不明智,试想假如在后续编程时需在控制结构中新增加语句时,对控制结构的界限即便是作者本人有时也会混淆,所以,更为稳妥的编写风格是即便是只有单行语句的控制结构也应当写入一对并不多余的大括号,样例如下:
...不好的习惯...if(condition)statement;...它可能造成的后果是...if(condition)statement;
statement;
尽管从语法上讲,将多条语句放在同一行上不会出错,但这亦属不良习惯,因为当他人对该语句进行复制/粘帖等编辑时容易搞错。另一方面,对于一行容不下的超长语句,那么续行应当有明显的凹进,并保证词组的完整性,其形式如下:
if(some really long condition that you need
to continue here)
{
statement;
statement;
}
再如:...com.acme.foo.project.data.YourObjectFactory objFactory = new com.acme.foo.project.data.YourObjectFactory();...当用到超长的条件表达式,有时为了逻辑清晰起见,我们应善于对其进行必要的分解,将一行分解为多行短句,例如:
...原来的代码语句是...if(value!= null && value.length()> 0 &&(errCount = 0 ||
isIgnorable(currentError)))
{
...statements...}
...将其分解为...boolean valueIsGood =(value!= null && value.length()> 0);
boolean noErrors =(errCount = 0 || isIgnorable(currentError));
if(valueIsGood && noErrors)
{
...statements...}
Java代码中的注释语句分为线型和块状,虽然笔者习惯使用前者,常用于描述一个变量的作用,但这种方式在网站论坛交流时会产生一种不良副作用,在网站上传代码时容易出现不连贯现象。防止出错的方法是,在上传代码时之前一定要预览显示结果。
在Java的声明机制中,应注意变量的声明位置,对于静态变量或常量,应当置于源码文件的顶部,这种风格来源于C语言。但Java对传统C的一种明显突破是,方法级变量是在需要时即时声明和初始化,其合理性在于我们不必劳神声明太多的类变量。
Java对类和变量的命名其实现在已形成了约定俗成:Types(类, 接口等)应当多用小写字母,单词间无空格,但每个单词首字母要大写,形如:SomethingLikeThis;非常量型变量的声明则多用小写字母,而且首字母要小写,单词间无隙,但从第二个单词起则冠以大写字母,形如somethingLikeThis。对于常量(Java中常用的对应关键字是final,也即'static')在命名时通常皆由大写字母组成,形如:SOMETHING_LIKE_THIS。所以,一段成熟的Java代码在命名和拼写时应当犹如以下样码:
class MyNeatClass
{
private int currentValue;
public static final String SOME_STRING_CONSTANT = “Blah blah”;
...public void doSomething()
{
...other statements......int count=0;
for(loop condition)
{
if(branch condition)
{
count++;
}
}
...}
}
新版Java出现的enum(“枚举”)类型,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。当我们声明一个enum类型时,定义通常是具有直观意义的字符串,比如:
enum MyFirstEnum
{
ALPHA,BETA,GAMMA,DELTA;
}
此外,Java编译器对于源文件的调用具有优先级标准,我们在编写代码时须遵循这一规则,具体次序为:项目所需的头文件,包声明语句,引入语句,type声明以及“extends”项及“implements”,类变量,类方法,内部类声明。
三、小结
本文从Java基本语法入手,列举了Java良好编程风格所应体现的各种规范和规则细节。也许有人会有小题大做之感,但笔者积多年的编码体会是,编写代码越多固然有利于编程技艺的提高,但规范的编程习惯将使写出的代码更便于分析和调试,这对于代码的优质运行将善莫大焉;一个软件项目的成功需要每个开发成员从自己做起,从每一行Coding开始。
第四篇:买方代码编写员岗位职责
1.买方代码专员报据各部门的申请及时准确地进行代码的查询、编制、维护等工作,从而保证资信报告购买、申请限额后续业务的顺利开展。1.买方代码查询和编制工作:占工作时间比例60%。
2.银行査询和代码编制工作:占工作时间比例30%。
3.处理各分支机构代码申请工作中遇到的问题,包括买方代码的信息维护和处理重码的工作:占工作时间比例5%。
第五篇:写代码总结
一、排版:
1.关键词和操作符之间加适当的空格。
2.相对独立的程序块与块之间加空行
3.较长的语句、表达式等要分成多行书写。
4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。
5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
7.若函数或过程中的参数较长,则要进行适当的划分。
8.不允许把多个短语句写在一行中,即一行只写一条语句。
9.函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
10.C/C++语言是用大括号„{‟和„}‟界定一段程序块的,编写程序块时„{‟和
„}‟应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
二、注释
1.注释要简单明了。
2.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
3.在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。
4.对代码的注释应放在其上方相邻位置,不可放在下面。
5.对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。
6.变量、常量的注释应放在其上方相邻位置或右方。
7.全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
8.在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。
9.在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。
三、命名
1.较短的单词可通过去掉“元音”形成缩写;
2.较长的单词可取单词的头几发符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
3.使用匈牙利表示法
四、可读性
1.避免使用不易理解的数字,用有意义的标识来替代。
2.不要使用难懂的技巧性很高的语句。
3.源程序中关系较为紧密的代码应尽可能相邻。
五、变量
1.去掉没必要的公共变量。
2.构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。
3.仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。
4.明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。
5.当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。
6.防止局部变量与公共变量同名。
7.仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起误用现象。
8.结构的设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保留余地(如预留一些空间等)。
9.留心具体语言及编译器处理不同数据类型的原则及有关细节。
10.严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。
11.编程时,要注意数据类型的强制转换。
六、函数、过程
1.函数的规模尽量限制在200行以内。
2.一个函数最好仅完成一件功能。
3.为简单功能编写函数。
4.函数的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。
5.尽量不要编写依赖于其他函数内部实现的函数。
6.避免设计多参数函数,不使用的参数从接口中去掉。
7.用注释详细说明每个参数的作用、取值范围及参数间的关系。
8.检查函数所有参数输入的有效性。
9.检查函数所有非参数输入的有效性,如数据文件、公共变量等。
10.函数名应准确描述函数的功能。
11.避免使用无意义或含义不清的动词为函数命名
12.函数的返回值要清楚、明了,让使用者不容易忽视错误情况。
13/明确函数功能,精确(而不是近似)地实现函数设计。
14.减少函数本身或函数间的递归调用。
15.编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。
七、可测性
1.在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调测开关及相应测试代码如打印函数等。
2.在进行集成测试/系统联调之前,要构造好测试环境、测试项目及测试用例,同时仔细分析并优化测试用例,以提高测试效率。
八、程序效率
1.编程时要经常注意代码的效率。
2.在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。
3.不能一味地追求代码效率,而对软件的正确性、稳定性、可读性及可测性造成影响。
4.编程时,要随时留心代码效率;优化代码时,要考虑周全。
5.要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。
6.通过对系统数据结构划分与组织的改进,以及对程序算法的优化来提高空间效率。
7.在多重循环中,应将最忙的循环放在最内层。
8.尽量减少循环嵌套层次。
9.避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。
10.尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。
九、质量保证
1.在软件设计过程中构筑软件质量。
代码质量保证优先原则
(1)正确性,指程序要实现设计要求的功能。
(2)稳定性、安全性,指程序稳定、可靠、安全。
(3)可测试性,指程序要具有良好的可测试性。
(4)规范/可读性,指程序书写风格、命名规则等要符合规范。
(5)全局效率,指软件系统的整体效率。
(6)局部效率,指某个模块/子模块/函数的本身效率。
(7)个人表达方式/个人方便性,指个人编程习惯。
2.只引用属于自己的存贮空间。
3.防止引用已经释放的内存空间。
4.过程/函数中分配的内存,在过程/函数退出之前要释放。
5.过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出前要关闭。
6.防止内存操作越界。
7.时刻注意表达式是否会上溢、下溢。
8.认真处理程序所能遇到的各种出错情况。
9.系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用。
10.系统运行之初,要对加载到系统中的数据进行一致性检查。
11.严禁随意更改其它模块或系统的有关设置和配置。
12.不能随意改变与其它模块的接口。
13.充分了解系统的接口之后,再使用系统提供的功能。
14.要时刻注意易混淆的操作符。当编完程序后,应从头至尾检查一遍这些操作符。
15.不使用与硬件或操作系统关系很大的语句,而使用建议的标准语句。
16.建议:使用第三方提供的软件开发工具包或控件时,要注意以下几点:
(1)充分了解应用接口、使用环境及使用时注意事项。
(2)不能过分相信其正确性。
(3)除非必要,不要使用不熟悉的第三方工具包与控件。
十、代码编译
1.编写代码时要注意随时保存,并定期备份,防止由于断电、硬盘损坏等原因造成代码丢失。
2.同一项目组内,最好使用相同的编辑器,并使用相同的设置选项。
3.合理地设计软件系统目录,方便开发人员使用。
4.打开编译器的所有告警开关对程序进行编译。
5.在同一项目组或产品组中,要统一编译开关选项。
6.使用工具软件(如Visual SourceSafe)对代码版本进行维护。
十一、代码测试、维护
1.单元测试要求至少达到语句覆盖。
2.单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。
3.清理、整理或优化后的代码要经过审查及测试。
4.代码版本升级要经过严格测试。