浅谈如何设计更好的java方法
2017-10-30 10:37
405 查看
浅谈如何设计更好的java方法
方法的设计好坏,直接影响方法的可读性、重用性和可扩展性。在一个小项目中,似乎还看不出方法设计的作用,但对于一个大型项目,它有成千上百个方法(并且有的方法耦合紧密),这时如果不考虑这样的问题,等项目上线维护时,必然会造成巨大的维护成本,真是得不偿失啊。笔者有两个目的,一:方法的设计需要引起读者的注意了,不能再被忽视;二:在方法设计上为读者提供一种思路,未必最好,仅供参考
方法的设计,我以为不外乎四点:
方法名、参数、返回类型和访问权限
方法名
在方法名的定义上,当然是要可读性好了。比如读文件的方法名为 readFile 写文件的方法名为 writeFile ,如果写成 fileRead 和 fileWrite 就不是很好了,这里要注意命名规范,第一个词首字母小写,其余词的首字母大写。方法命名一般第一个词为动词(有例外,如监听器,listener),可千万不要小看方法名的定义。参数
参数选取有规律,但首先有一条,那就是方法得能完成你最初想要完成的事情。参数选择分为逻辑选择和实际选择。所谓逻辑选择,也就是说,逻辑上它应该包括什么。如读写文件,那就应该包括文件对象(这两个文件对象的区别是,前者是文件源,后者是归属文件)即readFile(new File(“文件路径”)) 和 writeFile(new File(“文件路径”)) ;又如洗衣服,那就应该包括衣服对象,即washClothes(new Clothes(衣服需要的参数)) 。 这里的实际选择和语言有关系,如java语言不可以操作指针,则要操作数组时,就不止传入数组对象,还包括他的索引标识,可以参考我的 实现数组元素互换位置(乘机理解java参数传递)。返回类型
这个是我比较纠结的问题,因为我们可能返回不止一个类型,这个时候会有一些难点:返回一种类型的值
public void function1() {
“功能实现”
}
或者
public int function1() {
“功能实现”
}
返回多值同类型的值
public List function1() {
“功能实现”
}
这里的返回值就是可以返回多值同类型的集合,如数组,列表等。
返回多值不同类型的值
public Map<Integer, Object> function1() { "功能实现" }
返回类型不一定要和上面一样,只是举例而已。
访问权限
访问权限有四种:public 、protected、private和默认不写。这个设计的时候要注意它的作用范围,如果它只是类内部使用,当然设计成private最好;如果是都可能使用,用成public。不管怎样,一定要从面向对象思想入手设计。
至于是否使用static,则要看不同实例是否通用,如果所有实例都这么用,则设计为static合适。
这里仅是参考,不可尽信啊 - - -
最后还是那句老话: 实事求是 。
相关文章推荐
- Java中如果把构造方法也私有化,如何创建对象?Java的单例设计模式——饿汉式和懒汉式区别
- 浅谈 Java 8 接口默认方法和静态方法的设计
- 浅谈JAVA设计模式之——模板方法(TemplateMethod)
- Java-如何设计方法
- 浅谈JAVA设计模式之——工厂方法(FactoryMethod)
- 如何更好的使用Java8中方法引用详解
- 如何写出好的 Java程序 —— 浅谈 API 设计
- 如何优化JAVA程序设计和编码,提高JAVA性能
- 设计模式之Factory,Java工厂方法
- Nielsen:如何设计出更好的网站
- 浅谈综合布线设计中如何选择单/多模光纤
- 如何在Java中实现远程方法调用
- 如何在Java中实现将两个数相互交换的方法
- 用简单工厂方法设计的数据库查询(JAVA代码实现)
- JAVA如何调用C/C++方法
- 如何更好的学习Java
- JAVA如何在任意方法中打印当前线程栈信息(StackTrace)
- 如何设计出具有GUI特色的“纯”JAVA程序
- 在java中如何防止从其它线程类运行run方法
- 如何设计出具有GUI特色的“纯”JAVA程序