软件实现图书管理系统Word文档格式.docx

上传人:b****1 文档编号:816845 上传时间:2023-04-29 格式:DOCX 页数:19 大小:22.50KB
下载 相关 举报
软件实现图书管理系统Word文档格式.docx_第1页
第1页 / 共19页
软件实现图书管理系统Word文档格式.docx_第2页
第2页 / 共19页
软件实现图书管理系统Word文档格式.docx_第3页
第3页 / 共19页
软件实现图书管理系统Word文档格式.docx_第4页
第4页 / 共19页
软件实现图书管理系统Word文档格式.docx_第5页
第5页 / 共19页
软件实现图书管理系统Word文档格式.docx_第6页
第6页 / 共19页
软件实现图书管理系统Word文档格式.docx_第7页
第7页 / 共19页
软件实现图书管理系统Word文档格式.docx_第8页
第8页 / 共19页
软件实现图书管理系统Word文档格式.docx_第9页
第9页 / 共19页
软件实现图书管理系统Word文档格式.docx_第10页
第10页 / 共19页
软件实现图书管理系统Word文档格式.docx_第11页
第11页 / 共19页
软件实现图书管理系统Word文档格式.docx_第12页
第12页 / 共19页
软件实现图书管理系统Word文档格式.docx_第13页
第13页 / 共19页
软件实现图书管理系统Word文档格式.docx_第14页
第14页 / 共19页
软件实现图书管理系统Word文档格式.docx_第15页
第15页 / 共19页
软件实现图书管理系统Word文档格式.docx_第16页
第16页 / 共19页
软件实现图书管理系统Word文档格式.docx_第17页
第17页 / 共19页
软件实现图书管理系统Word文档格式.docx_第18页
第18页 / 共19页
软件实现图书管理系统Word文档格式.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件实现图书管理系统Word文档格式.docx

《软件实现图书管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件实现图书管理系统Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。

软件实现图书管理系统Word文档格式.docx

可选,需包含不在类/接口文档注释的关于类/接口的所有信息

4

类静态变量

先是Public类变量,再protected,再private

5

实例变量

同上

6

构造函数

7

方法

按功能排序

2.2文件格式标准

2.2.1缩排

缩排的单位,逻辑Tab键,统一缩进为4个字符。

2.2.2换行

当一个表示不能在一行内写完时,按以下规则断行:

(1)在逗号后断行。

(2)在操作符前断行。

(3)宁可选择较高级别(higher-level)的断开,而不是较低级别(lower-level)的断开。

(4)新的一行应该与上一行同一级别表达式的开头处对齐。

(5)如果以上规则导致代码混乱或者使代码都堆挤在右边,那就代之缩进8个空格。

2.2.3空白

应谨慎使用空行来突出代码。

例:

(1)在循环和条件块前后至少有一个空行。

(2)函数间至少有一个空行。

(3)注释前至少有一个空行。

2.2.4行长度

尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理之。

注意:

用于文档中的例子应该使用更短的行长,长度一般不超过70个字符。

2.2.5数值语句

不要用硬性代码数值。

用符号常量。

例:

nTimeout=3000;

//BAD!

!

NTimeout=MAX_ABC_DURATION;

//Good

2.3注释

注释是帮助程序读者的一种手段。

最好的注释是简洁地点明程序的突出特征,或是提供一种概观,帮助别人理解程序。

Java程序有两类注释:

实现注释(implementationcomments)和文档注释(documentcomments)。

实现注释使用/*……*/和//界定的注释。

文档的注释(被称为“doccomments”)是Java独有的,并由/**……*/界定。

文档注释可以通过javadoc工具转换HTML文件。

2.3.1文件头注释

一个文件由被空行隔开的节和可选的标识节的注释组成。

一个包声明和接口声明需用至少一个空行隔开。

每个文件需在开头包括一个注释块,提供以下信息:

版权声明,修改历史。

/*

*数据库连接管理类

*@authorWangLiyun

*@version1.0

*/

2.3.2类注释

每个源文件需在类声明前包含一个注释,提供以下信息:

作者,版本。

/**

*<

pre>

*Windowwin=newwindow(parent);

*win.show();

*<

/pre>

*

*@authorSamiShaic

*version%I%,%G%

*seejava.awt.BaseWindow

*seejava.awt.Button

classwindowextendsBaseWindow{

}

2.2.3方法头注释

每个函数要在开头提供一个注释,包含以下信息:

描述做了什么,如何完成的;

假设,前提,限制;

输入输出,包括返回值。

/**

*用户登录

*

*@parammapping

*@paramform

*@paramrequest

*@paramresponse

*@return

*@throwsServletException

2.3.4定义注释

多数域都需要描述其目的的简单注释。

privateStringusername;

//用户名

2.3.5注释风格

程序可以有四中实现注释的风格:

块(block)、单行(single-line)、尾端(trailing)和行末(end-of-line)。

下面用例子来解释。

(1)块注释(blockComments)

/**

*保存帐号

*@paramaccountForm

*/

(2)单行注释(single-lineComments)

if(condition){

/*Handlethecondition.*/

}

(3)尾端注释(trailingComments)

if(a==2){

returnTRUE;

/*specialcase*/

(4)行末注释(end-of-lineComments)

privateStringusername;

2.4声明

2.4.1每行声明变量的数量(NumberPerLine)

推荐一行议购声明,因为这样有利于写注释。

2.4.2布局(Placement)

只在代码块的开始处声明变量(一个块是指任何被包含在大括号“{”和“}”中间的代码。

不要在首次用到该变量时才声明之。

避免声明的局部变量覆盖上一级的变量。

2.4.3初始化(Initialization)

尽量在声明局部变量的同时初始化。

唯一不这样做的理由是变量的初始值依赖于某些先前发生的计算。

2.4.4类和接口的声明(ClassandInterfaceDeclaration)

当编写类和接口时,应该遵循以下格式规则:

(1)在方法名与其参数列表之前的左扩号“(”间不要有空格。

(2)左大扩号“{”位于声明语句同行的末尾。

(3)右大括号“}”另起一行,与相应的声明语句对齐,除非是一个空语句,“}”应紧跟在“{”之后。

publicvoidsetUsername(Stringusername){

this.username=username;

(4)方法与方法之间一空行分隔。

2.5语句(Statements)

2.5.1简单语句(SimpleStatements)

每行至多包含一条语句,例如:

argv++;

//Correct

argc--;

//AVOID!

2.5.2复合语句(CompoundStatements)

复合语句是包含在大括号中的语句序列,形如“{语句}”。

例如下面各段。

(1)被括其中的语句应该较之复合语句缩进一个层。

(2)左大括号“{”应位于复合语句起始行的行尾;

右大括号“}”应另起一行与复合语句首行对齐。

(3)大括号可以被用于所有语句,包括单个语句,只有这些语句诸如此类if-else或for控制语句的一部分。

这样便于添加语句而无需担心由于忘了加括号而引入bug。

2.5.3返回语句(returnStatements)

一个返回值的return语句不使用小括号“()”,除非它们以美中不足方式使返回值更为显见。

publicStringgetUsername(){

returnusername;

2.5.4if,if-else,ifelse-ifelse语句

if-else语句应具有如下格式:

if(condition){

statement;

}

if(condition){

}else{

statement;

}elseif(condition){

statement;

}else{

if语句总是用“{”和“}”括起来,避免使用如下容易引起错误的格式:

if(condition)//AVOID!

thisomitsthebraces{}!

Statement;

2.5.5for语句(forStatements)

一个for语句应该具有如下格式:

for(inti=0;

i<

ids.length;

i++){

deleteAccount(ids[i]);

一个空的for语句(所有工作都在初始化,条件判断,更新子句中完成)应该具有如下格式:

for(initialization;

condition;

update){

statement

当在for语句的初始化或更新子句中使用逗号时,避免因使用三个以上变量。

而导致复杂度提高。

如果需要,可以在for循环之前(为初始化子句)或for循环末尾(为更新子句)使用单独的语句。

2.5.6while语句(whileStatements)

一个while语句应该具有如下格式:

while(rs.next()){

AccountFormaccountForm=newAccountForm();

accountForm.setId(rs.getString("

id"

));

accountForm.setUsername(rs.getString("

username"

accountForm.setType(rs.getString("

type"

accountList.add(accountForm);

2.5.7do-while语句(do-whileStatements)

一个do-while语句应该具有如下格式:

do{

…….

}while(condition)

2.5.8switch语句(switchStatements)

一个switch语句应该具有如下格式:

switch(condition){

……

2.5.9try-catch语句(try-catchStatements)

一个try-catch语句应该具有如下格式:

try{

Class.forName(DBDriver);

conn=DriverManager.getConnection(DBUrl,DBUser,DBPassword);

}catch(ClassNotFoundExceptionex){

ex.printStackTrace();

thrownewCustomException("

找不着驱动程序"

ex);

}catch(Exceptionex){

数据库连接错误"

一个try-catch语句后面也可紧跟着一个finally语句,不论try代码块是否顺利执行完,它都会执行。

}finally{

if(conn!

=null)

conn.close();

2.6命名规范

命名规范使程序更易读,从而易于理解。

它们可以提供一个有关标识符功能的信息,以助于理解代码,不论它是一个常量,包,还是类。

表5.2标识符命名

标识符类型

命名规则

例子

包(Packages)

一个唯一的包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com、edu、gov、mil、net、org或1981年ISO3166标准所指定的标识国家的英文双字符代码。

包名的后缀部分根据不同机构各自内部的命名规范而不尽相同。

这类命名规范可能一特定目录名的组成来区分部门(department),项目(project)机器(machine),或注册名(loginnames)

com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

类(Class)

类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。

尽量使类名简洁而富于描述。

使用完整单词,避免缩写词。

(除非缩写词已被广泛使用,像URL,HTML)

classRaster;

classImageSprite;

接口(Interface)

大小写规则与类名相似

interfaceResterDelegate

interfaceStoring

方法(Methods)

方法名是一个动词,采用大小写混合的方式,第一个单词首字母小写,其后单词的首字母大写。

run();

runFast();

getRackground()

变量(Variables)

除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。

变量名不应以下划线或美元符号开头,尽管这在语发上是允许的。

变量名应简短且富于描述。

变量名的选用应该易于记忆,能够指出其用途。

尽量避免单个字符的变量名,除非是一次性的临时变量,临时变量通常被取名为i,j,k,m,和n,它们一般用于整型,c,d,e,它们一般用于字符型。

charc;

inti;

;

flostmyWidth;

实例变量(InstanceVariables)

大小写规则和变量名相似,除了在前面需要一个下划线

int_comployeeId;

String_name

Customer_customer

常量(Constants)

类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开。

(尽量避免ANSI常量,容易引起错误)

staticfinalintMIN_WIDTH=4;

staticfinalintMAX_WIDTH=999;

staticfinalintGET_THE-CPU=1;

2.7代码范例(CodeExamples)

/*

*账户管理控制类

packageu.lms.action;

importjava.util.ArrayList;

importjava.util.List;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importjavax.servlet.http.HttpSession;

importmons.logging.Log;

importmons.logging.LogFactory;

importorg.apache.struts.action.ActionForm;

importorg.apache.struts.action.ActionForward;

importorg.apache.struts.action.ActionMapping;

importorg.apache.struts.actions.DispatchAction;

importu.lms.DaoFactory;

importu.lms.dao.IAccountDao;

importu.lms.dao.IBookDao;

importu.lms.form.AccountForm;

importu.lms.form.BookForm;

publicclassAccountActionextendsDispatchAction{

privatestaticfinalLoglogger=LogFactory.getLog(AccountAction.class);

publicActionForwardlogon(ActionMappingmapping,ActionFormform,

HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException{

AccountFormaccountForm=(AccountForm)form;

booleanisAccount=false;

try{

IAccountDaoiAccountDao=DaoFactory.getInstance().getAccountDao();

isAccount=iAccountDao.isAccount(accountForm);

if(isAccount){

HttpSessionsession=request.getSession();

session.setAttribute("

accountForm.getUsername());

accountForm.getType());

//如果是管理员,则跳转到index

if(accountForm.getType().equals("

1"

)){

returnmapping.findForward("

index"

);

}else{

indexR"

}

}else{

request.setAttribute("

invalidAccount"

"

returnmapping.findForward("

logon"

}

}catch(Exceptione){

logger.error("

登录出错"

e);

thrownewServletException("

*注销用户

publicActionForwardlogout(ActionMappingmapping,ActionFormform,

HttpSessionsession=request.getSession();

session.invalidate();

returnmapping.findForward("

注销出错"

*添加帐号

publicActionForwardsave(ActionMappingmapping,ActionFormform,

iAccountDao.saveAccount(accountForm);

success_save

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2