如何命名设置布尔变量的方法

How to name method for setting boolean variable

我有一个布尔变量,它告诉我用户是否有自己的文本(我在 GUI 中有文本编辑小部件)或者我是否应该从一个名为 hasOwnText.

的文件加载

我只在 class 内部使用它,所以我不需要任何 getter,但是我需要根据 GUI 的复选框从外部设置它。问题是该方法应该如何命名?

我总是把它们命名为 setHasOwnText,但我不知道这对我来说似乎不太好。可以以某种方式改进吗?

此外,如果我的变量名为 hasOwnText,并且如果我需要 getter,我应该将其命名为 getHasOwnText 吗?

谢谢

getters 和 setter 有两种常见模式:

int someValue();              // getter
void someValue(int newValue); // setter

或者:

int getSomeValue();
void setSomeValue(int newValue);

起初,即使您不需要 getter,原则上我还是会提供一个。如果用户可以设置一个值(无论是你自己还是其他任何人),she/he 可能想在一段时间后知道 she/he 实际设置了哪个值,而不必单独记住。对于布尔值,我也完全同意第一种模式:

isSomething(true); // or has
if(isSomething()) { }

使用第二种模式,虽然 'get' 被替换为 'is'/'has',我仍然只是在前面加上 'set' 前缀:

setHasSomething(true);
if(hasSomething()) { }