Cyn*_*ech 18 java methods standards
前段时间,我记得被告知不要在Java方法名称中使用数字.最近,我有一位同事问我为什么,为了我的生活,我记不起来了.
根据Sun(现在的Oracle),方法名称的一般命名约定是:
方法应该是动词,在第一个字母小写的大小写混合的情况下,每个内部单词的首字母大写.
这并没有具体说明数字不能使用,虽然有遗漏你可以看到它不被建议.
考虑一下您希望根据特定年度执行某些逻辑的情况(例如,一个在2011年生效的新政策),因此您的应用程序必须对信息采取行动并根据其年份对其进行处理.常识可以告诉你,你可以调用这个方法:
boolean isSessionPost2011(int id) {}
Run Code Online (Sandbox Code Playgroud)
是否可以在方法名称中使用数字(尽管标准的措辞)?如果没有,为什么?
编辑: "这并没有具体说明数字不能使用,虽然有遗漏你可以看到它不被建议." 也许我说错了.标准说'方法应该是动词'.我读到这个说,考虑一个数字不是一个动词,那么方法名称不应该使用数字.
Ebo*_*ike 34
标准的Java类库中充满了带有数字的类和方法,比如Graphics2D
.
Ano*_*on. 20
该方法似乎......过于具体.
难道你不能使用:
boolean isSessionAfter(int id, Date date)
Run Code Online (Sandbox Code Playgroud)
?
这样,下次在特定日期之后将策略应用于任何内容时,您无需复制粘贴旧方法并更改数字 - 您只需使用不同的日期来调用它.
当然,在方法名称中使用数字是可以接受的.但按照你的例子,这就是为什么它通常不赞成.让我们说现在有一个新的政策到2012年.现在,有一个新的政策到2014年.也许2020年!所以,你有四种大致相同的方法.
您想要的不是布尔值,而是基于是否找到策略来执行某项操作或不执行任何操作的策略.因此,一个方法void processPolicy(Structure yourStructure); 这将是一个更好的方法 - 现在你可以屏蔽你根据年份进行查找,并且不必每年都有单独的方法,甚至每年只限制一个政策(可能是政策发生)例如,在两个不同的年份,或仅仅三个月).
归档时间: |
|
查看次数: |
18385 次 |
最近记录: |