你如何命名一个将其他布尔值变为真的函数?
How do you name a function which turns other Boolean value to true?
我有一个模型,该模型有几个属性。
我想做的是根据其他属性将其中一个布尔属性变为真。
假设我们有一个名为 User 的模型,用户具有如下属性...
- id(整数)
- 姓名(文字)
- 生日(日期)
- legal_age(布尔值)
我被要求根据生日更改法定年龄属性。 (如果用户是 20 岁,则将其设为真,否则,将其设为假。)我将该函数命名为 check_legal_age,因为它会检查法定年龄列是否为真。
但是,我的一位同事告诉我,这个名字太模糊了,很难弄清楚函数是做什么的,函数的值是什么returns。
经过一番交谈,我决定将函数命名为make_legal_age_true,一个冗长但直截了当的名字。同事还建议我命名为trufy_legal_age
是否有一种常规的方法来命名这样的方法,让阅读代码的其他人清楚地了解其意图?
如果它是一个函数,最好使用问号,并将其命名为 is_legal_age?
您的同事是对的,check_legal_age
不是一个好名字,不是因为它本身含糊不清,而是因为它 具有误导性 ,因此很危险。这似乎暗示正在检查或验证对象状态,而实际上它正在被更改。
惯例是改变内部对象状态的方法应该是"bang" !
方法。只需将方法命名为 legal_age!
即可获得将布尔属性设置为 true
.
的意义
如果谓词方法(returns true
或 false
的谓词方法)以 ?
结尾会更好。 legal_age?
和 legal_age!
对我来说似乎 crystal 很清楚。
我有一个模型,该模型有几个属性。 我想做的是根据其他属性将其中一个布尔属性变为真。
假设我们有一个名为 User 的模型,用户具有如下属性...
- id(整数)
- 姓名(文字)
- 生日(日期)
- legal_age(布尔值)
我被要求根据生日更改法定年龄属性。 (如果用户是 20 岁,则将其设为真,否则,将其设为假。)我将该函数命名为 check_legal_age,因为它会检查法定年龄列是否为真。
但是,我的一位同事告诉我,这个名字太模糊了,很难弄清楚函数是做什么的,函数的值是什么returns。
经过一番交谈,我决定将函数命名为make_legal_age_true,一个冗长但直截了当的名字。同事还建议我命名为trufy_legal_age
是否有一种常规的方法来命名这样的方法,让阅读代码的其他人清楚地了解其意图?
如果它是一个函数,最好使用问号,并将其命名为 is_legal_age?
您的同事是对的,check_legal_age
不是一个好名字,不是因为它本身含糊不清,而是因为它 具有误导性 ,因此很危险。这似乎暗示正在检查或验证对象状态,而实际上它正在被更改。
惯例是改变内部对象状态的方法应该是"bang" !
方法。只需将方法命名为 legal_age!
即可获得将布尔属性设置为 true
.
如果谓词方法(returns true
或 false
的谓词方法)以 ?
结尾会更好。 legal_age?
和 legal_age!
对我来说似乎 crystal 很清楚。