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

ThxFly · March 26, 2020 · Last by xiaox replied at March 30, 2020 · 3901 hits

写了几年 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])
Reply to ad583255925

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

Reply to adamshen

为什么你可以发语音😂

Reply to alixiaomiao

不明觉厉

Reply to ad583255925

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

Reply to sevk

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

多一点封装就好了

def update_form
  balabala
end

update_form if condition

只要编辑器不换行😁

You need to Sign in before reply, if you don't have an account, please Sign up first.