首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >确定哪个动词用于Java中的方法名称

确定哪个动词用于Java中的方法名称
EN

Stack Overflow用户
提问于 2011-08-23 01:50:49
回答 2查看 16.1K关注 0票数 29

我知道命名约定很重要,原因有很多,最重要的是使代码更具可读性,更容易集成到更大的项目中,等等。在Java语言中,大多数约定要求方法名称以动词开头的lowerCamelCase格式。

我的问题是:如何选择动词作为方法名称的开头?

为了使这个问题不那么模糊,我经常遇到这样的情况:我对方法名的第一选择是一个描述输出的名词。在这些情况下,为了符合动词规则,我通常需要在名词前面添加通用动词,如getgeneratecalculate等。什么时候使用哪一个有一般的指导原则吗?

下面是一个例子。我有一个方法,它接受double[] array和一个int k,并返回double[] newArray,它是array的长度k移动平均值,即newArray[i] = (array[i-k+1]+...+array[i])/k,通过一些伪造使newArrayarray的长度相同。我倾向于将此方法称为movingAverage,因为这是它返回的内容,但这是因为它不是以动词开头的。我应该称这个方法为getMovingAveragegenerateMovingAverage还是calculateMovingAverage,或者这无关紧要?

EN

回答 2

Stack Overflow用户

发布于 2011-08-23 04:29:44

我不认为java方法名应该“以动词开头”,我认为它们应该描述动作。这通常需要动词,因为动词描述动作。通常,它们是描述的重要部分(getVar和setVar的含义完全不同)。有时,它们不会向描述中添加任何东西(除了get/calculate/generate之外,您还能想到任何可以在movingAverage上操作的东西吗?)应该被丢弃。

票数 1
EN

Stack Overflow用户

发布于 2021-10-05 16:16:03

实际上,有一个这样的列表:

代码语言:javascript
复制
Verb        Group
----        -----
Exit        Common
Enter       Common
Find        Common
Pop         Common
Remove      Common
Rename      Common
Push        Common
Redo        Common
Format      Common
Move        Common
New         Common
Join        Common
Lock        Common
Optimize    Common
Get         Common
Hide        Common
Open        Common
Reset       Common
Close       Common
Clear       Common
Skip        Common
Split       Common
Step        Common
Unlock      Common
Watch       Common
Switch      Common
Undo        Common
Add         Common
Copy        Common
Resize      Common
Search      Common
Select      Common
Show        Common
Set         Common
Write       Communications
Send        Communications
Read        Communications
Receive     Communications
Connect     Communications
Disconnect  Communications
Restore     Data
ConvertTo   Data
Backup      Data
Edit        Data
Dismount    Data
Unpublish   Data
Compress    Data
Compare     Data
Checkpoint  Data
Sync        Data
Save        Data
ConvertFrom Data
Convert     Data
Update      Data
Import      Data
Initialize  Data
Export      Data
Group       Data
Limit       Data
Out         Data
Mount       Data
Merge       Data
Expand      Data
Publish     Data
Test        Diagnostic
Ping        Diagnostic
Debug       Diagnostic
Measure     Diagnostic
Repair      Diagnostic
Resolve     Diagnostic
Trace       Diagnostic
Suspend     Lifecycle
Wait        Lifecycle
Uninstall   Lifecycle
Submit      Lifecycle
Unregister  Lifecycle
Assert      Lifecycle
Invoke      Lifecycle
Approve     Lifecycle
Stop        Lifecycle
Deny        Lifecycle
Request     Lifecycle
Restart     Lifecycle
Disable     Lifecycle
Install     Lifecycle
Enable      Lifecycle
Register    Lifecycle
Complete    Lifecycle
Confirm     Lifecycle
Start       Lifecycle
Resume      Lifecycle
Use         Other
Grant       Security
Unblock     Security
Protect     Security
Revoke      Security
Unprotect   Security
Block       Security
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7151418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档