的Java SE 8自带的日期,引入了新的机制LocalDate
,LocalTime
以及LocalDateTime
类来表示的时刻。为了操纵这些瞬间,给出了一组方法:LocalDate.plusDays(...)
,LocalDate.minusDays(...)
依此类推。
我一直认为,好的做法是在动词后描述方法的目的来命名方法,因为方法实际上是要执行的操作,它们会执行某种动作。刚才说了,如果你考虑类,比如StringBuilder
,例如,方法的名字是append
,insert
,delete
...
这就是为什么我不健全的权利命名的方法plusDays
来代替sumDays
,minusDays
而不是subtractDays
。只是我觉得很烦吗?你怎么看?
我能想到的唯一原因是日期是不可变的对象,因此通过调用plusDays
您不是在原始对象上添加日期,而是创建具有新属性的新对象,但这非常微妙。
sqrt
这只是程序员应该认识并知道的一个单词。顺带一提,英语单词是“ square root”。但是,按照英语的自然命名方式不好。以“非法”一词为例,这是一个非常好的英语单词。但是,如果有人命名了他们的方法,请说isIllicit
我想我想在每次查看此方法调用时都将眼球撕掉。它看起来很糟糕,必须有一种更好的方式来表达这个想法。
sum
在这种情况下听起来是错误的。我更喜欢.net的AddDays
。
Math.addExact(1, 2)
因为您说“加1和2”。 tomorrow.plusDays(2)
因为您说“明天再加上2天”。如果addExact
是Integer
某种原因的成员1.plusExact(2)
。
plusDays
返回一个新的日期x未来的天数,而addDays
我可能希望对原始对象进行突变。虽然那只是我,但我对Java并不那么熟悉。
sqrt
平方根的方法。takeSqrt
根据您的规则,命名此方法似乎很有意义,但是命名它不会使方法更具可读性,也不会使其更清晰。