您的位置:首页 > 其它

图书管理系统项目总结(转贴)

2007-09-07 19:28 591 查看
开班快一个月了,第一次做了个小项目—图书管理系统,很小,但是从中收获颇多,不是为了交作业,而是为了巩固知识,打下个好的基础。
一. 编程规范
编程规范这块是感触最深的地方。
现在企业开发项目已经不是单枪匹马就可以搞定的了,需要分工进行,讲究团队合作的,队员之间要相互阅读代码;而且一个系统开发完了不是用一次就不用了,而是要不断的升级,不断的维护,以满足用户需求的不断变化,在这个过程中不一定再是由你本人完成,可能是他人,这就要求任何人都能够独立地阅读并看懂你的代码,所以这时候编程规范的价值就自然而然地体现出来了。
鉴于此,代码的编写要符合业界的标准和规范。
比如文档的注释要详细明白,类,方法的功能,命名,参数和返回值等等,下面详细总结一下:
(1).包的命名
包的命名要能体现你所要开发的系统的功能,而且包的名字应该同时明确四层结构的划分,一般情况下用公司的域名倒着写。
就说这次的图书管理系统,整体上可以用我们学校的域名cn.edu.hevttc.再加上系统名book,接着就是各个分层的名字,比如cn.edu.hevttc.book..ui(表示层),cn.edu.hevttc.book.service(服务层),cn.edu.hevttc.book.dao(持久层),cn.edu.hevttc.book.domain(这个包主要放实体类,映射数据库中的表),还可以有放整个系统都可能用到的工具类的包-cn.edu.hevttc.book.util。
另外注意包的命名都要小写。
(2)类,方法,变量,以及控件的命名
1.类的命名必须是名词,不能是动词,而且首字母大写,各个单词之间用大写的首字母分割。例如下面这是个服务层的一个接口
public interface BookService {
…………………..
}
2.方法的命名一般是第一个单词是动词后跟名词,而且动词要小写,名词首字母大写。比如:
public String getNextID(){
…………………..
[align=left]}[/align]
[align=left]3.变量的命名一般和方法名一样[/align]
[align=left]4.在VE中控件的命名,一般是前面是控件的类型+要完成功能的含义。[/align]
比如标签的命名lblResults
按钮的命名:btnSubmit
[align=left]这方面可以参考 .net的控件命名规范。[/align]
[align=left]注意:总体上不论哪个方面的命名,都要体现它要完成的功能的含义,做到任何一个程序员在看到你的代码的时候都能够“观其名而知其意”,这一点是最重要的,直接反映着代码的可读性,是编程规范的一个不可忽视的部分。[/align]
(3).注释的问题
注释一定要详细明白,文档注释的好坏,直接放映在API文档里,因为别人要从API文档里了解代码的类,方法,接口等的功能。
涉及到整个文件的开头,作出版权,时间等的声明,用/*……………….*/完成;
类开头的功能的说明,说明你这个类要完成什么样的功能;
方法要说明功能,参数,返回值,以及可能发生的异常等;
变量的注释要说明该变量代表的含义;
文档注释要放在/**……………*/中,只有放在这里面的才会生成API文档。

注意:要想写出好的注释,最简单的方法是参考SUN公司的代码,因为那是权威。

一. 关于系统设计的层次结构(四层结构)
一个系统设计的好坏直接于系统的生命持久性挂钩,因为衡量一个好的系统的标准要看其是否能够满足用户不断变化的需求,是否满足可复用性和可扩展性的要求。要实现这样的目的,就要把具有相同功能的类放到同一包里,即放到同一层,各层之间不直接调用,而是通过接口来调用,而各个层之间却可以紧密联系,实现高内聚低耦合。
这次做项目,关于四层结构的重要性有了深一点的认识了。第一次自由发挥的时候,仅仅是把功能完成了,各层之间联系太紧密,都挤在了一起,”牵一发而动全身”,改了这个地方,就要再改那个地方,这样的代码维护起来工作量是巨大的。而四层结构就可以很好的解决这个问题。
所以我的收获是在动手写代码之前一定要做好设计,设计才是重点,”磨刀不误砍柴功”,好的设计,可以起到事半功倍的效果。
二. 正则表达式
在系统中涉及到验证的地方,刚开始我的做法基本上都是用循环的办法,代码都是for…,if….else…通过交流发现了新的方法就是正则表达式。
据了解,正则表达式就是专门做验证的,利用正则表达式可以大大地减少代码量,简洁明了。
唯一难的是,也是写正则表达式的关键:就是pattern的写法,写好这个了,就万事大吉了,但通常这个有很难。
我认为你不明白的地方很多,要想都弄懂了,不是件简单的事,所以有时候可以借用别人现成的成果,死学不如会用,比如日期的验证那不是三两天能弄明白,这就可以去网上COPY啊,但是在培训阶段尽量去掌握更多知识点。
关于正则表达式的常用功能本来想总结一下的,后来想想没必要,因为API上有,你总结的在全也没API上全吧,正则表达式在java.util.regex包中。
四.Debug的重要性
Debug调试功能很有用,也很重要,随着代码量的增加,一旦出现bug了,光靠眼睛去愁是远远不够的,而且效率也不高。
Debug是解决错误的有效工具,要学会用,经常用,从一开始培训就要习惯并逐渐熟悉Debug的使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: