首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何命名返回布尔值的函数

如何命名返回布尔值的函数
EN

Software Engineering用户
提问于 2023-05-16 21:12:42
回答 2查看 127关注 0票数 -1

我喜欢用前缀如"is“、"has”、“应”或"can“命名布尔变量的做法。

但是,产生这些结果的功能又如何呢?

目前我正在使用:

代码语言:javascript
代码运行次数:0
运行
复制
const isReadyForPublicProfile = checkWhetherIsReadyForPublicProfile(teacherOf);
const shouldWarnAboutProfileChangingToPrivate =
    checkWhetherShouldWarnAboutProfileChangingToPrivate(isDirty, teacherOf);

命名函数的最佳实践是什么?

EN

回答 2

Software Engineering用户

发布于 2023-05-16 23:13:59

没有通用的做法来命名返回布尔函数的函数,因为这样的布尔结果可能有各种各样的用途。主要的命名规则是使用显示意图、一致性和避免名称太长的名称。

一些作者提出了一些普遍的建议:

  • 史蒂夫·麦克唐纳( Steve )的流行代码完成建议,你拥有的列表是"is“、"has”、“应当”或"can",但变量名称除外。您可以很容易地将其扩展到方法名称,因为R.C.Martin建议对方法名使用动词或动词短语,这与这些前缀并不不兼容。
  • Stephen是Java标准化过程的专家,他提出了2011年年条款中方法前缀的列表,其中只有引用布尔结果的解释的is。顺便说一下,他的名单被列入了官方的Java教程

有趣的是,考虑到上面列表中的前缀,您的命名将是不明确的:

检查:检查某物是否为真,如果异常为假则抛出异常。示例foo.checkValid()。

去掉checkWhether前缀。您可以为变量甚至是去掉前缀

代码语言:javascript
代码运行次数:0
运行
复制
const readyForPublicProfile = isReadyForPublicProfile(teacherOf);
if(readyForPublicProfile) {
    publish(); 
}
票数 4
EN

Software Engineering用户

发布于 2023-05-16 21:18:20

您的函数名很长,而且“checkWhether”没有贡献任何有价值的东西。所以函数名应该是“isReadyForPublicProfile”和“shouldWarnAboutProfileChangingToPrivate”。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/445555

复制
相关文章

相似问题

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