我有一个模型,模型有几个属性。 我想要做的是根据其他属性将其中一个布尔属性设置为true。如何命名将其他布尔值变为true的函数?
比方说,我们有一个模型叫用户和用户具有类似属性..
- ID(INT)
- 名(文本)
- 生日(日期)
- legal_age(布尔)
我被要求更改法定年龄属性,根据生日。 (如果用户年满20岁,请将其变为true,否则请保持为false。)我将此函数命名为check_legal_age,因为它将法定年龄列设置为true。
但是,我的一位同事告诉我这个名字太含糊,很难弄清楚函数做了什么以及函数返回什么样的值。
经过一番交谈之后,我决定将该功能命名为make_legal_age_true,一个罗嗦但直截了当的名字。该同事还建议我给名字trufy_legal_age
有没有一种传统的方式来命名这样的方法,使其他人阅读代码的意图是清楚的?
我会对你的问题进行一点说明,所以不太关注意见,否则它可能因为脱离主题而被关闭。更像“这种类型的方法的命名约定是什么”将是一种改进。也就是说,我会让它成为一个爆炸式的'!'方法,并称之为'legal_age!' –
同意@ m.simonborg,你的方法正在修改自己(它自己的属性),所以一个简单的爆炸'legal_age!'做了很多并且通常会被ruby程序员轻松理解,请参阅Ruby风格指南以了解更多命名约定:https://github.com/bbatsov/ruby-style-guide#naming –
https://stackoverflow.com/questions/612189/why-are-exclamation-marks-used-in-ruby-methods,看到这个,在ruby bang(!)中意思是改变它调用的对象的值。 – icemelt