黑马程序员技术交流社区
标题:
琐事
[打印本页]
作者:
李蛟龙
时间:
2012-4-28 16:35
标题:
琐事
关于编写代码时,导包与抛出异常,我们是要写的越详细越好呢,还是写具有概括性的名字
作者:
张文建
时间:
2012-4-28 16:44
1 尽量使用完整的英文描述符
2 采用适用于相关领域的术语
3 采用大小写混合使名字可读
4 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一
5 避免使用长的名字(小于 15 个字母是个好主意)
6 避免使用类似的名字,或者仅仅是大小写不同的名字
7 避免使用下划线(除静态常量等)
* 包(Package) 采用完整的英文描述符,应该都是由小写字母组成。对于全局包,将你的 Internet 域名反转并接上包名。 如java.awt com.ambysoft.www.persistence
* 类(Class) 采用完整的英文描述符,所有单词的第一个字母大写。 如: Customer SavingsAccount
* 接口(Interface) 采用完整的英文描述符说明接口封装,所有单词的第一个字母大写。习惯上,名字后面加上后缀 able, ible 或者 er,但这不是必需的。如: Contactable Prompter
* 组件/部件(Component) 使用完整的英文描述来说明组件的用途,末端应接上组件类型。 如: okButton customerList fileMenu
* 异常(Exception) 通常采用字母 e 表示异常。 e
* 类变量 字段采用完整的英文描述,第一个字母小写,任何中间单词的首字大写,如: firstName lastName
* 实参/参数 同字段/属性的命名规则 public void setFirstName(String firstName){ this.firstName = firstName; }
* 局部变量 同字段/属性的命名规则
* 获取成员函数 被访问字段名的前面加上前缀 get。 getFirstName(), getLastName()
* 布尔型的获取成员函数 所有的布尔型获取函数必须用单词 is 做前缀。 isPersistent(), isString()
* 设置成员函数 被访问字段名的前面加上前缀 set。 setFirstName(), setLastName(),setWarpSpeed()
* 普通成员函数 采用完整的英文描述说明成员函数功能,第一个单词尽可能采用一个生动的动词,第一个字母小写。 openFile(), addAccount()
* 静态常量字段(static final) 全部采用大写字母,单词之间用下划线分隔。 MIN_BALANCE, DEFAULT_DATE
* 循环计数器 通常采用字母 i,j,k 或者 counter 都可以接受。 i, j, k, counter
* 数组 数组应该总是用下面的方式来命名: byte[] buffer;
作者:
孙天
时间:
2012-4-28 17:55
1 定义功能时,功能中有什么问题,都应该进行预先的处理比如try catch
如果处理不了,应该通过throws 声明抛出,让调用者进行处理
2 调用了抛出异常的功能函数,应该进行处理,如果使用trycatch处理的话
被调用的功能上抛出几个异常,就应该对应几个catch语句
必须要对多个异常进行针对性的处理。
3 如果出现多个catch中存在着父类异常的catch,那么这个catch一定放在catch的最后
通常这种情况在面试很多见
4 如果函数内抛出异常,那么一定要在函数上声明,否则编译失败
但是,要注意,如果函数内容抛出的异常是运行时异常,那么函数上不可以用throws声明的
记住,throws声明异常不仅仅是为了编译通过,更是为了让调用者对其进行处理
5 如果函数内抛出异常,进行了本功能内部的处理
但是处理的并不完全,这时应该在异常处理中,继续将异常抛出,在函数上声明,让调用者知道问题的存在
但是有可能需要将异常进行转换,尽量抛出调用者识别的异常
6 当子类覆盖父类中带有异常声明的放法时,子类方法只能声明父类的异常或该异常的子类
如果父类抛出多个异常,那么子类在覆盖时,只能抛出父类异常的子集
如果父类和接口中的方法没有声明抛出过异常,那么子类的方法覆盖父类方法时,也不能抛出异常
如果子类中的方法发生了异常,那么子类只能trycatch,不能用throws声明
如果非要在函数内抛出异常,那么只能抛出runtimeexception,因为这种异常不用在函数上声明
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2