c++ - 如何命名设置布尔变量的方法
问题描述
我有布尔变量,它告诉我用户是否有自己的文本(我在 GUI 中有文本编辑小部件)或者我是否应该从名为hasOwnText
.
我只在类内部使用它,所以我不需要任何吸气剂,但是我需要根据 GUI 中的复选框从外部设置它。问题是该方法应该如何命名?
我一直给他们起这样的名字setHasOwnText
,我不知道这对我来说似乎不是那么好。它可以以某种方式改进吗?
另外,如果我的变量被命名hasOwnText
并且如果我需要getter,我应该命名它getHasOwnText
吗?
谢谢
解决方案
getter 和 setter 有两种常见的模式:
int someValue(); // getter
void someValue(int newValue); // setter
或者:
int getSomeValue();
void setSomeValue(int newValue);
起初,即使您不需要吸气剂,原则上我还是会提供一个。如果用户可以设置一个值(无论是您自己还是其他任何人),她/他可能想知道一段时间后她/他实际上设置了哪个值,而不必单独记住。对于布尔值,我也完全可以使用第一种模式:
isSomething(true); // or has
if(isSomething()) { }
对于第二种模式,虽然 'get' 被替换为 'is'/'has',但我仍然只是在前面加上 'set' 前缀:
setHasSomething(true);
if(hasSomething()) { }
推荐阅读
- loops - 对所有列重复 awk 和 if 语句
- algorithm - 在大多数情况下,机器学习算法会过拟合。任何人都可以清楚地解释我
- latex - 背页:是否可以同时选择、删除或移动多个文件?
- python-3.x - 例外:加载数据时获取 URL 失败
- android - 如何使用firebase从kotlin的recyclerview顶部位置获取用户的最新消息
- printing - 如何使用 redmon 和 ghostscript 获取打印参数?
- ionic4 - 使用 SQLite TypeError:无法读取 null 的属性“事务”
- python - 如何从 Python 中的对象数组中访问对象
- terraform - Terraform 和 Azure 数据资源管理器
- excel - 从 2 个工作簿更新匹配值