您的位置:首页 > 编程语言 > Java开发

浅谈如何设计更好的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 设计 方法定义