java程序书写规范Word文档格式.docx
- 文档编号:7629810
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:11
- 大小:49.12KB
java程序书写规范Word文档格式.docx
《java程序书写规范Word文档格式.docx》由会员分享,可在线阅读,更多相关《java程序书写规范Word文档格式.docx(11页珍藏版)》请在冰点文库上搜索。
静态常量字段(staticfinal)全部采用大写字母,单词之间用下划线分隔;
publicstaticfinalLongFEEDBACK;
publicstaticLongUSER_STATUS;
1.
风格务必保持一贯性(Consistent)
一位同胞顶着我的鼻子问,为什么我们的Java代码缩进格式非得是这样,而不能是他那样,他就是喜欢他自己的这一种,因此他写的代码总是用他自己习惯的风格。
结果在CodeReview里被大家毙掉,责令修改。
因此他是大大地不服。
就是风格一贯性问题。
其实他的风格,本来也没有什么问题,但在项目里,和其他程序员的程序的风格,显得扃异,那就存在问题了。
比如这个缩进,又比如变量命名方法,不同的类,不同的Methods里,各自不同,这程序就很难看了。
所以一旦你选择了某种风格,一定要贯彻始终。
如果一个项目里规定了一个风格,即便很不符合你自己的习惯,也要贯彻始终,绝不应该有标新立异。
2.
缩进风格(indent)
既然是从缩进说起,就先说说缩进风格;
一般来说,象Java这样的类C语言,都采用缩进风格。
而常用的,有四种
A.K&
R风格
这是C程序最早的缩进风格,由C的发明者Ritchie和他的合作者Kernighan率先使用:
if
(<
cond>
)
{
<
body>
}
其特点,是大括号和if判断在同一行。
通常,缩进为8个空格或一个tab键,但在C++和Java里,也常缩进4个空格。
有人喜欢用两个空格,窃以为不好,不明显。
B.
BSD
风格
又称Allman
Style,源自Unix
BSD程序员Eric
Allman--他为BSD写过很多程序:
)
特点:
大括号和条件判断分在两行。
C.
Whitesmith风格
这种风格源于Whitesmith
C:
D.
GNU风格
这种风格仅见于GNU
EMACS的源程序中:
那么在Java里用哪种好呢?
建议只采用A或B。
SUN有一个Java
Code
Name
Convention,建议的是A。
3.
Tab还是空格(Tabs
vs
Space)
还是缩进问题。
那么一次缩进应该多大距离?
是八个空格键,还是一个Tab键?
Java有一个特点,就是跨平台性。
不过跨平台指的是它的Class可以在不同平台的虚拟机上运行。
Java的源程序,有时候可不是跨平台的。
什么?
源程序还能不跨平台?
是的。
有次一个程序员送来一些Code,在我的环境里打开,程序难看得一塌糊涂,有该缩进的地方,没有缩进,有的则缩进一大截,如同怪石一样,嶙峋参差。
这样的代码质量可不行!
叫来程序员一问,答曰在他那里漂亮得很啊,他还专门花时间去美化它们了呢?
原来他的缩进没有注意一个风格,在有的地方用Tab键,有的地方打空格。
在一些不同的平台上,Tab键的宽度可是不一样的。
说道这里,相信大家比较清楚了,在缩进的时候,尽量不用Tab,而是用空格。
好在许多编辑器,都可以把你的键盘上的Tab键定义成几个空格。
赶紧去定义它!
每次用多少空格呢?
4个。
2个太少不明显,8个太多占空间。
4.
行宽
说道8个空格键占空间,那么我一行有320列,8个空格算什么?
打住!
请寄住,一行尽量不要超过80列。
许多终端一个屏幕只能显示80列,为它们想想巴。
如果你的语句太长,想办法折断它,分几列来写。
5.
变量命名
SUN
Java
Convention里定义了Java里package,
class,
method和普通变量的命名规则,我就不用再浪费字节了。
这里提提一些注意事项和一些SUN没提到但大家常用的方式。
a.
用有意义的名字命名变量
首先,用完整的英语单词或约定俗成的简写命名你的变量,如:
firstName
zipCode
如果英语不够好,至少用别人看得懂的拼音命名,如
zhuZhi
(住址)
胡乱简写,或者胡乱命名,则没有人看得懂你的变量的含义:
fn
zc
zz
b.
常量用全大写加下画线命名
Java里的常量,就是static
final:
static
final
SMTH_BBS="
"
;
c.
用复数命名collection类变量
collection包括数组,vector等。
命名时请用复数:
customers
classMates
也可以用一些修饰词命名:
someStudents
allDepartments
d.
循环变量
一般大家都用i,
j,
k等做循环变量。
e.
Stream变量
一般习惯用in,
out作为Stream变量,对应inputStream,
outputStream
类。
如果即读又写的ioStream,可以用inOut。
f.
变量的命名习惯
习惯MFC的人喜欢采用匈牙利命名法(Hungarian
Notation)。
如果你习惯这样,尽管用,但注意要和同Project的人保持一致。
还有些人习惯C++里的下画线方式,也可以采用。
Hungarian
Notation:
sFirstName
Under
Score
Style:
_firstName
这里提供一个Hungarian
Notation的前缀命名习惯:
int
i
byte
b
char
c
double
d
float
f
long
l
offset
off
length
len
Object
o
String
s
(or
str)
Arbitray
value
v
6.
Java文件格式
有许多方式定义你的文件语句格式,以下是一个例子:
文件头说明
(可无)
Package定义
空行
Import语句
类定义
package
com.midi;
//Java
Classes
import
java.awt.*;
java.io.*;
javax.swing.event.*;
//WebLogic
weblogic.internal.*;
/**
*
Blah
blah
@author
midi
@version
22.2
*/
public
class
MyFirst
extends
JFrame
...
Foo...
38.2
Foo
7.
import顺序
杂乱无章的顺序,看起来很不顺眼。
应该对你要import的classes归类,按顺序罗列:
Java标准类(java.*)
Java扩充类(javax.*)
第三方类
你的应用程序的类
而且注意在第三方类里注释它们,说明它们的来源:
java.*;
java.util.Date;
java.util.Enumeration;
javax.sql.*;
//Apache
Xerces
org.apache.xml.*;
org.apache.xerces.dom.*;
//Application
classes
com.midi.util.*;
8.
Classes的顺序
Javadoc注释或者其它文件头注释
类声明
Fields声明
构造函数
g.
方法(不包括main)
h.
i.
Inner类
j.
k.
main()
例:
This
is
a
simple
DOM
tree
XML
parser...
@author:
@version:
0.0.1
**/
MyParser
//
constants
TITLE
=
MyParser"
VERSION
0.0.1"
Private
variables
private
iSchemaVersion;
Constructor
()
iSchemaVersion
1;
@param...
(iSchemaVersion)
this.iSchemaVersion
Initialize
the
void
myInit
throws
Exception
....
start
application
main
(String[]
argvs)
9.
Field定义
请遵从以下顺序:
Public常量
Public变量
Protected常量
Protected变量
Package常量
Package变量
Private常量
Private变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序 书写 规范