浅谈如何设计更好的java方法

浅谈如何设计更好的java方法

方法的设计好坏,直接影响方法的可读性、重用性和可扩展性。在一个小项目中,似乎还看不出方法设计的作用,但对于一个大型项目,它有成千上百个方法(并且有的方法耦合紧密),这时如果不考虑这样的问题,等项目上线维护时,必然会造成巨大的维护成本,真是得不偿失啊。

笔者有两个目的,一:方法的设计需要引起读者的注意了,不能再被忽视;二:在方法设计上为读者提供一种思路,未必最好,仅供参考


方法的设计,我以为不外乎四点:

方法名、参数、返回类型和访问权限


方法名

在方法名的定义上,当然是要可读性好了。比如读文件的方法名为 readFile 写文件的方法名为 writeFile ,如果写成 fileReadfileWrite 就不是很好了,这里要注意命名规范,第一个词首字母小写,其余词的首字母大写。方法命名一般第一个词为动词(有例外,如监听器,listener),可千万不要小看方法名的定义。


参数

参数选取有规律,但首先有一条,那就是方法得能完成你最初想要完成的事情。参数选择分为逻辑选择和实际选择。所谓逻辑选择,也就是说,逻辑上它应该包括什么。如读写文件,那就应该包括文件对象(这两个文件对象的区别是,前者是文件源,后者是归属文件)即readFile(new File(“文件路径”))writeFile(new File(“文件路径”)) ;又如洗衣服,那就应该包括衣服对象,即washClothes(new Clothes(衣服需要的参数)) 。 这里的实际选择和语言有关系,如java语言不可以操作指针,则要操作数组时,就不止传入数组对象,还包括他的索引标识,可以参考我的 实现数组元素互换位置(乘机理解java参数传递)


返回类型

这个是我比较纠结的问题,因为我们可能返回不止一个类型,这个时候会有一些难点:

  1. 返回一种类型的值

    public void function1() {
    “功能实现”
    }

    或者

    public int function1() {
    “功能实现”
    }

  2. 返回多值同类型的值

    public List function1() {
    “功能实现”
    }
    这里的返回值就是可以返回多值同类型的集合,如数组,列表等。

  3. 返回多值不同类型的值

    public Map<Integer, Object> function1() {
    "功能实现"
    }

    返回类型不一定要和上面一样,只是举例而已。


访问权限

访问权限有四种:public 、protected、private和默认不写。
这个设计的时候要注意它的作用范围,如果它只是类内部使用,当然设计成private最好;如果是都可能使用,用成public。不管怎样,一定要从面向对象思想入手设计。

至于是否使用static,则要看不同实例是否通用,如果所有实例都这么用,则设计为static合适。

这里仅是参考,不可尽信啊 - - -

最后还是那句老话: 实事求是

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值