瞎扯淡 讨人厌的后缀表达式

ThxFly · 2020年03月26日 · 最后由 xiaox 回复于 2020年03月30日 · 3901 次阅读

写了几年 Ruby 了,最烦遇上一长串的代码后面给你来个 if 条件 😞

check_form.update(archive_score: sum, higher_content: params[:higher_content]) if status == 'WAIT_COMMENT'

大家是怎么看待后缀表达式的?

ruby 中有很多语法糖,在不同的场景下会让可读性大幅提升,后缀条件表达式,在某些场景下可读性很高。如:

class CacheList < ApplicationRecord
  include RailsCom::CacheList
end unless defined? CacheList

题主的示例,太长了,就有点乱用了

只要不超过 80 个 character,我就可以接受。

几乎不用。

这种太长的果断不用后缀表达式。不过那种简短的我觉得倒是无妨。其实这种设计个人觉得还是比较优雅的。

一行不超过 79 个字符

还好,编辑器可以一键切换前后缀表达

讨厌啦 人家就是想变长一点嘛

简单的话还是喜欢用,毕竟少打 3 个字母:end

status == 'WAIT_COMMENT' && check_form.update(archive_score: sum, higher_content: params[:higher_content])
ad583255925 回复

用逻辑与&& 替换 if,可读性差了一点点。

adamshen 回复

为什么你可以发语音😂

alixiaomiao 回复

不明觉厉

ad583255925 回复

这个应该不可取,可读性要放第一位

sevk 回复

rubocop 目前就是这样干的,长一点的会自动转前缀表达

多一点封装就好了

def update_form
  balabala
end

update_form if condition

只要编辑器不换行😁

需要 登录 后方可回复, 如果你还没有账号请 注册新账号