我刚刚开始使用 Ruby,并在 RubyMine 建议我更改此代码时发现了语句修饰符:
if !VALID_DIRECTIONS.include?(direction)
raise ArgumentError, "Invalid direction"
end
对此:
raise ArgumentError, "Invalid direction" if !VALID_DIRECTIONS.include?(direction)
我喜欢它如何使代码更简洁。但是,乍一看,我可以看到它可能会产生误导,并且会造成可读性问题,因为它将效果放在条件之前。再说一次,也许这只是因为我太习惯 C 风格的语言了。
有没有人因为使用语句修饰符而遇到麻烦,或者你觉得他们改进了你的代码?此外,是否有人对使用修饰符有一般指导方针(即,对某些操作特别有效,或者对其他一些操作无效)?