x = y
我忘记了在 Ruby 中让 x 引用与 y 相同的对象,我已经被咬过几次了。我太习惯于用 Ruby 术语表示x = y.dup
. 忘记这一点,y
当我认为在作业的右侧是安全的时,我不经意间改变了。
我可以看到在没有特殊原因的情况下避免简单的分配是有意义x = y
的,但同样的事情可能潜伏在其他地方,例如
name = (person.last_name.blank? ? 'unknown' : person.last_name)
稍后name << title
实际上会更改 person.last_name 而不仅仅是名称。
如果这也发生在你身上,你是如何学会避免它的?是否有某些危险信号或模式需要寻找?你对你所做的每一项任务都持怀疑态度吗?你用.dup
的很多吗?我不知道 Ruby 的使用是否会成为我的第二天性,所以欢迎任何有用的提示。