1、2022-12-31第第 10 章章 编程规范和程序调试编程规范和程序调试2022-12-32本章总体纲要本章总体纲要 编程规范编程规范 文档注释文档注释 程序调试程序调试2022-12-33Java编程风格的指导方针编程风格的指导方针 指导方针是可以被打破,但要求是确实指导方针是可以被打破,但要求是确实所需要的,例如增加可读性所需要的,例如增加可读性 没有标准可以做到完美无缺,也没有标准可没有标准可以做到完美无缺,也没有标准可以做到适用于所有的应用以做到适用于所有的应用 指导方针一般是为了指导方针一般是为了:增加可读性、程序的增加可读性、程序的可理解性,从而提高程序的可维护性以及程可理解性,
2、从而提高程序的可维护性以及程序代码质量序代码质量2022-12-34命名规范命名规范 良好的命名规范可以增强程序的可读性良好的命名规范可以增强程序的可读性 可以给标识符提供功能可以给标识符提供功能/属性上的一些额属性上的一些额外信息外信息例如例如:是否是常量、类、包等。是否是常量、类、包等。这些信息对理解程序非常有帮助这些信息对理解程序非常有帮助2022-12-35问题问题?命名规范应当包含哪些内容命名规范应当包含哪些内容?2022-12-36命名规范内容命名规范内容 包包 文件文件 类类/接口接口 方法方法 变量变量 常量常量2022-12-37包的命名规范包的命名规范 包的名称一般全部采用
3、小写包的名称一般全部采用小写 包名的前缀一般是域名单词序列的逆序包名的前缀一般是域名单词序列的逆序 示例示例com.sun.engcom.apple.quicktimeedu.cmu.cs.bovik.cheese2022-12-38文件的命名规范文件的命名规范 Java源程序文件的命名规范源程序文件的命名规范 必须与该文件中必须与该文件中public类的类名同名类的类名同名 后缀必须是后缀必须是.java2022-12-39类类/接口的命名规范接口的命名规范类名一般是类名一般是名词名词/名词词组名词词组:每个单词的首字母大写,每个单词的首字母大写,其它字母小写其它字母小写类名应当尽量类名应当
4、尽量简单简单,而且其含义能够尽量准确地刻画,而且其含义能够尽量准确地刻画该类的含义该类的含义一般采用一般采用全称全称尽量少用缩写词尽量少用缩写词(除非该缩写词被广除非该缩写词被广泛使用泛使用)示例示例J_ClockJ_CircleTimeImageSprite(图版精灵图版精灵)2022-12-310方法的命名规范方法的命名规范 方法名一般是方法名一般是/动词动词/动词性词组动词性词组,首字母首字母小写小写 中间单词的首字母中间单词的首字母大写大写,其它字母小写,其它字母小写 示例示例:run();getBackground();getTime();2022-12-311尽量应用常用词尽量应用
5、常用词 尽量应用简单的、常用的单词尽量应用简单的、常用的单词 示例示例:get/set first/lastadd/remove up/downcreate/destroy min/maxstart/stop next/previousinsert/delete old/newincrement/decrement open/closeold/new show/hidebegin/end 2022-12-312变量的命名规范变量的命名规范 变量名的首字母小写变量名的首字母小写 中间单词的首字母大写,其它字母小写中间单词的首字母大写,其它字母小写 变量名的首字母尽量不要用字符变量名的首字母尽量不
6、要用字符:_ 或或$变量名应当简短、有含义、且便于变量名应当简短、有含义、且便于记忆记忆 示例示例:int i;char c;double widthBox;2022-12-313变量的命名规范变量的命名规范 变量名常常由表示其所扮演的角色与数变量名常常由表示其所扮演的角色与数据类型组成据类型组成 示例示例:Point startingPoint,centerPoint;Name loginName;2022-12-314常量的命名规范常量的命名规范常量名一般全大写,单词之间用下划线常量名一般全大写,单词之间用下划线分隔分隔(“_”)示例示例:static final int MIN_WIDT
7、H=4;static final int MAX_WIDTH=999;2022-12-315编辑编辑 方法方法 特殊字符特殊字符 行数行数/每行的字符数每行的字符数 缩排方式缩排方式(Indentation)空白符空白符/行行2022-12-316语句书写语句书写关键关键 保证代码的简单性保证代码的简单性2022-12-317文件组织文件组织 源程序文件一般采用如下的组织顺序源程序文件一般采用如下的组织顺序:最开始一般是注释最开始一般是注释 package 和和 import 语句语句 类和接口的定义类和接口的定义2022-12-318本章总体纲要本章总体纲要 编程规范编程规范 文档注释文档注
8、释 程序调试程序调试2022-12-319javadoc Javadoc 是一种从文档注释生成是一种从文档注释生成HTML帮助帮助文件的工具文件的工具 文档注释介于文档注释介于/*和和*/之间之间 示例示例/*Sorts integer array using MySort algorithm*/2022-12-320文档注释的一般格式文档注释的一般格式 示例示例:/*This is the description part of a doc comment *tag Comment for the tag */2022-12-321常用的常用的 javadoc 文档标签文档标签authorp
9、aramreturnseethrowsdeprecatedlinksinceversion2022-12-322运行运行 javadoc 在命令行下执行在命令行下执行:javadoc options packages sources options:选项列表选项列表 packages:包列表包列表 sources:源文件列表源文件列表 示例示例:javadoc-d.-author Time3.java2022-12-323本章总体纲要本章总体纲要 编程规范编程规范 文档注释文档注释 程序调试程序调试2022-12-324assert语句语句 第一种格式第一种格式assert 布尔表达式布尔表达
10、式;第二种格式第二种格式assert 布尔表达式布尔表达式:字符串字符串;注意事项注意事项2022-12-325作业作业习题习题10.82022-12-326本课件使用要求本课件使用要求 使用本课件,必须注明引用使用本课件,必须注明引用(具体见下一具体见下一个幻灯片个幻灯片)书及课件均可能出现一些错误和缺陷,书及课件均可能出现一些错误和缺陷,恳切希望广大读者特别是讲授此课程的恳切希望广大读者特别是讲授此课程的老师批评指正老师批评指正2022-12-327引用声明引用声明 本课件来源于本课件来源于(或参考了或参考了)下面的书及其课下面的书及其课件件:雍俊海雍俊海.Java程序设计教程程序设计教程
11、.北京北京:清华清华大学出版社大学出版社,2007.2022-12-328免责声明免责声明 请合法使用课件,其用途应当合法有益请合法使用课件,其用途应当合法有益而且不应对任何人造成任何伤害或损失而且不应对任何人造成任何伤害或损失 同时请注意教材作者及出版社没有对本同时请注意教材作者及出版社没有对本课件课件作作出任何承诺与保证出任何承诺与保证2022-12-329参考文献参考文献 本课件的参考文献与下面书的参考文献相同本课件的参考文献与下面书的参考文献相同 雍俊海雍俊海.Java程序设计教程程序设计教程.北京北京:清华大学清华大学出版社出版社,2007.雍俊海雍俊海.Java程序设计习题集程序设
12、计习题集(含参考答案含参考答案).北京北京:清华大学出版社清华大学出版社,2006.雍俊海雍俊海.Java程序设计程序设计.北京北京:清华大学出版清华大学出版社社,2004.2022-12-330雍俊海编写过的教材和教参雍俊海编写过的教材和教参雍俊海雍俊海.计算机动画算法与编程基础计算机动画算法与编程基础.北京北京:清华大学清华大学出版社出版社.2008.雍俊海雍俊海.Java程序设计程序设计.北京北京:清华大学出版社清华大学出版社.2008.雍俊海雍俊海.Java程序设计教程程序设计教程(第第2版版).北京北京:清华大学出清华大学出版社版社.2007.雍俊海雍俊海.Java程序设计习题集程序
13、设计习题集(含参考答案含参考答案).北京北京:清华清华大学出版社大学出版社,2006.雍俊海雍俊海.Java程序设计程序设计.北京北京:清华大学出版社清华大学出版社.2004.2022-12-331雍俊海编写过的教材和教参雍俊海编写过的教材和教参 雍俊海雍俊海.计算机动画算法与编程基础计算机动画算法与编程基础.北京北京:清华大学清华大学出版社出版社.2008.2022-12-332雍俊海编写过的教材和教参雍俊海编写过的教材和教参 雍俊海雍俊海.Java程序设计程序设计.北京北京:清华大学出版社清华大学出版社,2008.2022-12-333雍俊海编写过的教材和教参雍俊海编写过的教材和教参 雍俊海雍俊海.Java程序设计教程程序设计教程.清华大学出版社清华大学出版社,2007.普通高等教育精品教材普通高等教育精品教材普通高等教育普通高等教育“十一五十一五”国国家级规划教材家级规划教材2022-12-334雍俊海编写过的教材和教参雍俊海编写过的教材和教参 雍俊海雍俊海.Java程序设计习题程序设计习题集(含参考答案)集(含参考答案).清华大学出版社清华大学出版社,2006.2022-12-335雍俊海编写过的教材和教参雍俊海编写过的教材和教参 雍俊海雍俊海.JAVA程序设计程序设计.北京北京:清华大学出版社清华大学出版社.2004.2022-12-336谢谢谢谢 请多指教请多指教