请问程序里命名时,sp一般代表什么意思?

请问程序里命名时,sp一般代表什么意思?,第1张

良好的编程习惯良好的习惯对于人的成长是非常重要的,良好的编程习惯对于我们编程能力的提高也是非常重要的。我们编程时要有良好的风格,源代码的逻辑简明清晰,易读易懂是好程序的重要标准。 其实编程的过程中最容易忽略的还是程序的“风格”。这些东东有时让人挺烦的,刚刚放射出光茫的思想似乎被约束住了,本来是灵感发现,还要在后面罗索上半天。 程序需要风格吗?让我们的程序写得更加平易近人,更加生动对我们的编程是大有益处的。对我们的程序学习也能起到事半功倍的作用。编程过程中遵守的不成文的标准,对于我们和他人的交流和自己的再学习都是有益无害的。毕竟有时我们写的程序不是只给自己看的,也不是一时兴起,不管以后。 好的编码可使源代码的可读性强且意义清楚,与其他语言约定相一致,并且尽可能直观。我们自己一眼能看出个大概,在别人眼中也不至于成为千古奇书。下面以VB为例,对程序风格做一下全面的概述,希望对您的编程水平的提高有所帮助。 一、程序内部文档应具备的规则 1、标识符应含有含义鲜明的文字。 含义鲜明的文字,能正确地提示程序对象所代表的实体。这对于帮助阅读者理解程序是非常重要的。如果用缩写的形式,那么缩写规则应该一致,并且应该给每个名字加注解。在VB中,主要有如下的约定: (一)对象命名约定 应该使用一致的前缀来命名对象,使人们容易识别对象的类型。例如我们常用控件CommandButton(命令按钮)可用cmd做为其前缀。Form以frm,Image以 img ,Label以 lbl,List Box 以lst,PictureBox以 pic,Timer以 tmr,等等,在我们编程的过程中,我们看到下面的名称cmdExit我们就知道这一定是一个命令按钮了。如果是第三方提供的控件,我们的说明最好要清晰地标出制造商的名称,以区别于我们的常用控件。 (二)常量和变量命名约定 除了控件以外,常量和变量也是我们编程过程中经常遇到的,我们和他们打交道也是通过名字。 (1)给变量加范围前缀 变量按其作用范围可分做三类,过程级,模块级和全局,所以我们在编程的过程中应将三者加以区别。我们在使用变量时,为了更好地体现代码重用和可维护原则,其定义范围应尽量缩小,这样将使我们的应用程序更加容易理解和易于控制。在VB应用程序中,只有当没有其他方便途径在窗体间共享数据时才使用全局变量。当使用全局变量时,在一个单一模块中声明它们,并按功能分组,给模块取一个有意义的名字。较好的编码习惯是尽可能地定模块化的代码。除了全局变量,过程和函数应该仅对传递给它们的的对象 *** 作。在过程中使用的全局变量应该在过程起始处的声明部分标识出来。变量的作用范围前缀如下:全局 g(global) ,模块级 m(model),本地过程不需要使用。例如:gintFlag,表示全局整型变量,mstrPassword,可表示模块级字符型变量。 (2)声明所有变量原则。声明所有变量将会节省编程时间,键入错误将大大减少,我们可在程序开始写上如下语句: Option Explicit 该语句要求在程序中声明所有变量。 (3)变量数据类型声明。可通过下面的前缀来做为变量的数据类标志。 Boolean bln Byte byt Double dbl Integer int String str (4)常量。常量的命名,可遵循与变量命名大体相同的原则。 (5)对变量和过程名作出描述。变量或过程名的主体应该使用大小写混合的形式,并且应该足够长以描述它的作用。而且,函数名应以一个动词开头。如JudgeDialog。

Package 的命名

Package 的名字应该都是由一个小写单词组成。

Class 的命名

Class 的名字必须由大写字母开头而其他字母都小写的单词组成

Class 变量的命名

变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。

Static Final 变量的命名

Static Final 变量的名字应该都大写,并且指出完整含义。

参数的命名

参数的名字必须和变量的命名规范一致。

数组的命名

数组应该总是用下面的方式来命名:

byte[] buffer

而不是:

 byte buffer[]

方法的参数

使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:

SetCounter(int size){

this.size = size

}

变量名

普通变量命名应该采用首字母小写,其他字母首字母大写的方式。

final static变量的名字应该都大写,并且指出完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词如。

NUM_DAYS_IN_WEEK MAX_VALU

如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性

context=ctx message=msg

通过在结尾处放置一个量词,就可创建更加统一的变量

First(一组变量中的第一个) Last(一组变量中的最后一个) Next(一组变量中的下一个变量) Prev(一组变量中的上一个) Cur(一组变量中的当前变量)

无论什么时候,均提倡应用常量取代数字、固定字符串。也就是说,程序中除0,1以外,尽量不应该出现其他数字。

索引变量:i、j、k等只作为小型循环的循环索引变量。

逻辑变量:避免用flag来命名状态变量,用is来命名逻辑变量。

if(isClosed){ dosomeworksreturn}

数组

总是使用以下方式定义数组:

int[] arr = new int[10]

禁止使用C语言的是形式:

禁止 int arr[] = new int[10]

集合

数组或者容器推荐命名方式为名词+s的方式,例如:

 List persons = getPerson()for(Person person : persons){ dosomeworks}

泛型

应该尽量简明扼要(最好是一个字母),以利于与普通的class或interface区分

Container中的Element应该用E表示Map里的key用K表示,value用VType用T表示异常用X表示

如果需要接收多个Type类型的参数,应该用邻接T的大写字母——例如S——来依次表示,当然也可以用T1, T2这样的方式

public class HashSet extends AbstractSet {…} public class HashMapextends AbstractMap {…} public class ThreadLocal {…} public interface Functor { T val() throws X}

推荐的命名

1.当要区别接口和实现类的时候,可以在类的后面加上“Impl”。

interface Container class ContainerImpl

2.Exception类最好能用“Exception”做为类命名的结尾

DataNotFoundException InvalidArgumentException

3.抽象类最好能用“Abstract”做为类命名的开头

AbstractBeanDefinition AbstractBeanFactory

4. Test类最好能用“Test”做为类命名的结尾

ContainerTest

5.简称与缩写(不推荐使用)

cp代表colorPoint buf代表buffer off代表offset len代表length

除非是在循环中,否则一般不推荐使用单个字母作为变量名,不过也有例外,即约定俗成的单个字母

b代表byte c代表char d代表double e代表Exception f代表float i, j, k代表整数 l代表long o代表Object s代表String v代表某些类型的特定值

代码风格

花括号

花括号统一采用以下格式:

if(bool experssion){ dosomework}

除非花括号中为空,不然任何情况下不能省略花括号,并且花括号必须换行,例如:

if(i==0){ return} while(true) {}

以下写法禁止出现:

禁止 if(i != 0) return禁止 if(i !=0) {return}

括号

括号的前,后一个字符不需要空格,例如:

 Person p = new Person(“Jack”, 17)

空格

逗号之后紧跟一个空格。

Person p = new Person(“Jack”, 16, “China”)

二元 *** 作符前后跟空格。

int i = a + b – c * d

3. 一元 *** 作符不需要空格,for语句分号后有空格。

for(int i = 0I <10i++){ dosomework}

4. 括号前后不需要空格

类的定义结构按照顺序为:

1) 常量

2) 成员变量

3) 构造函数

4) 成员函数

5) get和set方法

各个部分之间留出一个空行。

例如:

规范类模板:

class Person{ private final static int MAX_AGE = 100private String firstname = “Jack”public Person(){} public Person(String firstname){ this.firstname = firstname} public void doExercise(){ dosomeworksrun()} private void run(){ dosomeworks} public getFirstname(){ return firstname} public setFirstname(String firstname){ this.firstname = firstname} }

2.构造函数

1) 参数为空的构造函数出现在最上方

2) 有调用关系的构造函数相邻

3) 参数尽量由少到多从上至下排序

3.使用成员变量

在类的方法内引用成员变量了命名冲突以外,不使用this。非特殊情况在类的方法内都不使用get和set方法存取成员变量。

4.方法

有调用关系的方法尽量放在相邻的位置,public和private方法可以交叉放置。

5.get和set方法,所有需要公开的成员变量都要符合良好的javabean规范,提供get和set方法,尽量使用IDE工具自动生成。

Javadoc注释

在每个程序的最开始部分,一般都用Javadoc注释对程序的总体描述以及版权信息,之后在主程序中可以为每个类、接口、方法、字段添加 Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。在描述性段落之后还可以跟随一些以Javadoc注释标签开头的特殊段落,例如上面例子中的@auther和@version,这些段落将在生成文档中以特定方式显示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11343652.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存