Newyorkcity
V2EX  ›  问与答

还没工作,自己学习过程中写的项目里方法名长这样,对吗?

By Newyorkcity at 2020 年 2 月 21 日 · 1550 次点击
public void insertAuthenticationCodeIntoRedis

public String getAuthenticationCodeForWebRegistration

public boolean examWhetherAuthenticationCodeInRegistrationCoincident

public boolean examWhetherShouldBeInStage3

public void deleteAuthenticationCodeForRegistration

因为我发觉我越写越长而且强迫症(就是把事情说明白)越来越严重了,我怀疑再这样下去我就能在方法名里写出一个可以用来做六级翻译题的句子了。。。

谢谢指点

6 条回复  •  2020-02-22 08:42:36 +08:00
PEPEXXX
   1
PEPEXXX  
PRO
   2020 年 2 月 21 日 via iPhone   ❤️ 1
1.insertAuthCode
2.getAuthCode
3.checkAuthCode
4.checkAuthStatus
5.deleteAuthCode
lxk11153
   2
lxk11153  
   2020 年 2 月 21 日   ❤️ 1
233 spring data jpa 就是这样的
from: List<User> findByEmailAddressAndLastname(String emailAddress, String lastname);
to__: select u from User u where u.emailAddress = ?1 and u.lastname = ?2
see_: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation
QingXuJiaZhi
   3
QingXuJiaZhi  
   2020 年 2 月 21 日   ❤️ 1
预估一下同一个 Class 内这个 Authentication Code 有没有必要插入别的地方,如果没有就先用 insertAuthCode。

这个部分“IntoRedis”是需要和别的函数区分开来才有意义的。
FragmentLs
   4
FragmentLs  
   2020 年 2 月 21 日   ❤️ 1
没必要吧...除非你把全部逻辑全都丢在一个 Class 里,不然直接 toRedis, getAuth, 一般没人用 exam 或 whether,直接 check,is,isNot

不过测试里这样写个人觉得不错
QingXuJiaZhi
   5
QingXuJiaZhi  
   2020 年 2 月 21 日   ❤️ 1
另外,看看你用的编辑器(通常是 IDEA )对代码的注释是怎样提示的,在使用这个方法的地方查看方法信息,如果能显示注释,那么方法名本身就没有必要太详细。
aguesuka
   6
aguesuka  
   2020 年 2 月 22 日 via Android   ❤️ 1
把相同的单词抽离,放在一个 class 里,intoRedis 改成 cache。判断一个对象和其他对象的关系时,不要用数据模型,而是用业务模型。比如'检查用户是否注册'改为'用户(class)'#'is 注册(method)'
© 2026 V2EX · 36ms · 3.9.8.5