写代码同一种逻辑尽量保持一种风格,避免 A 处这么用,B 处那么用

比如:

  # A 处
 def latest_email_changed_log
   email_changed_logs = logs.recent.select { |log| log.payload["changes"]["email"] if log.payload["changes"].include?("email") }
   email_changed_logs.first if email_changed_logs.present?
 end

  # B 处
  def latest_email_changed_version
    @latest_email_changed_version ||= versions.recent.select { |version| version.changeset["email"].present? }.first
  end

应该统一写出一种形式,最后选择为更改 A 处

  # A 处
  def latest_email_changed_log
    @latest_email_changed_log ||= logs.recent.select { |log| log.payload["changes"]["email"].present? }.first
  end

再比如:一种代码,不要写两种调用方式,视情况和复用性来决定,但最后应该都使用同一种方式。

# A 处
def lock
  lock!(user)
end

def lock!(user)
  LockService.new(user).lock!
end

# B 处
def create
  LockService.new(user).lock!
end

你可能感兴趣的:(写代码同一种逻辑尽量保持一种风格,避免 A 处这么用,B 处那么用)