【发布时间】:2013-01-15 23:35:13
【问题描述】:
我想成为一个更好的代码.. 让我的代码更简洁、更易读。
我在 c/c++ 中看到的一件事是对局部变量使用 const。我认为告诉读者我的代码一旦设置了变量,它就不会在函数/方法中更改,这是很有价值的。
我想知道....有没有办法表明局部变量是 const 的?
#for example
sql = "select * from table1 where status = #{iStatusId}"
connection.execute(sql)
sql 在这个方法中不会改变。我可以这样标记吗?
好吧..这是一个不好的例子,但我认为重点是......我希望:)
编辑: 我在 sql 中添加了一些动态 .. iStatusId 位是传递给方法的参数。
编辑2: 我确实在谷歌上搜索过这个......所有文章都谈到了幻数替换。这很简单,我认为是 MACRO。 CONTATS 很简单...我正在寻找 const.. 它们是非常不同的东西。
【问题讨论】:
-
你试过谷歌搜索吗?
-
你知道那里有 SQL 注入吗?
-
@daveatflow 喜欢方法大小、类大小、命名、使用规范样式、格式、适当的类设计等。表明字符串不会改变几乎没有列出我的清单。
-
@daveatflow 很难在 Ruby 中创建一个常量,在一个方法中,IMO 它毫无价值。
-
@daveatflow “他们在那里,他们必须有价值。”危险的想法,AFAIC。您对它们为什么不存在的推理是有缺陷的; Java 可以跳过原语并且只有引用并且仍然有final。再说一遍:在一个指示值不会改变的方法内部,IMO 的价值很小。对于配置值、默认值等,它们确实具有价值——但在 Ruby 中它们只是勉强“恒定”。
标签: ruby-on-rails coding-style constants