Naming Conventions: What to name a method that ret

2019-01-23 11:03发布

I have an interface in c# that helps retrieving of data from a custom archive on server. The interface looks like this:

public interface IRetrieveData
{
    bool OkToRetrieve(SomeData data); // Method in question...
    bool RetrieveToLocal(SomeData data);
}

This interface is implemented by the clients that retrieve the data to the local database. There are different flavors of clients that have access to each others data. So, when the processing component calls IRetrieveData.OkToRetrieve right before actual retrieve, the call goes to the client code where the decision is made on whether the data should be retrieved or not. At this point the client can return false and that piece of data is skipped or return true and the processing component calls RetrieveToLocal and send the data to the client which then processes it.

Where I am getting confused is whether to rename the method "OkToRetrieve" to just "Retrieve" or "CanRetrieve" or leave it as OkToRetrieve.

Does anyone have any suggestion?

12条回答
倾城 Initia
2楼-- · 2019-01-23 11:22

Generally, methods/functions indicate actions so they should prefixed with verbs. e.g. check, get, make, etc.

The common naming convention for boolean variables is to prefix them with helping verbs e.g. is, does, will, can

I would think that the combination of the two conventions would lead to a pretty good, discerning pattern. So getIsRetreivable() or checkIsRetrievable() would look pretty good to me.

查看更多
\"骚年 ilove
3楼-- · 2019-01-23 11:23

In Naming conventions, it is written that method name should be verb

查看更多
4楼-- · 2019-01-23 11:25

MayRetrieve() could be a better name if the result is determined by the user's permission/access.

IsRetrievable() is more ambiguous, which may be more appropriate if there are other considerations in addition to, or other than, permission.

查看更多
干净又极端
5楼-- · 2019-01-23 11:27

I would prefer isOKToRetrieve or isRetrieveOK over variants without "is" under the convention that functions and methods should be verbs.

查看更多
狗以群分
6楼-- · 2019-01-23 11:29
IsRetrievable()

I think that a method that returns a boolean value should be named as a yes-no question.

查看更多
聊天终结者
7楼-- · 2019-01-23 11:35

Allways name boolean methods with names similar to questions that can be answered Yes or No.

In your case, CanRetrieve would be a good name (just to use your own suggestion).

查看更多
登录 后发表回答