黑马程序员技术交流社区

标题: 琐事 [打印本页]

作者: 李蛟龙    时间: 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