naming & refactor

Extract Variable(提取变量)

def calculate(value)
  value * 0.07
end

To

SALES_TAX = 0.07

def calculate(value)
  value * SALES_TAX
end
content.gsub(/\s+$/, '')

To

TRAILING_WHITESPACE_PATTERN = /\s+$/

content.gsub(TRAILING_WHITESPACE_PATTERN, '')

Extract Method(提取方法)

def show_sample?(video)
  video.has_sample? && \
    current_user.present? && !current_user.subscriber?
end

To

def show_sample?(video)
  video.has_sample? && sampler?
end

private

def sampler?
  current_user.present? && !current_user.subscriber?
end

Convert Comment to Method(方法替代注释)

# find the user based on the email in the params
user = User.find_by(email: params[:user_email])

To

user = find_user_by_email_param

# elsewhere in file

def find_user_by_email_param
  User.find_by(email: params[:user_email])
end

Examples

# Parses a URL for a `return_to` path.
class ReturnPathFinder
  def initialize(url)
    @url = url
  end

  def return_path
    query_string['return_to']
  end

  private

  attr_reader :url

  def query_string
    Rack::Utils.parse_nested_query(parsed_url.query)
  end

  def parsed_url
    URI.parse(url)
  end
end

ReturnPathFinder.new(auth_origin).return_path
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,759评论 0 38
  • 终究,抵不过你。 抵不过你一次次撒娇打横 抵不过你一次次威逼利诱 抵不过你一次次旁敲侧击 所以,今天,开始,不定期...
    一纸寄相思阅读 1,463评论 0 0
  • 2017年11月22日 星期三 阴 已经是夜里的8点了,我仍在城市的街道漫步,不想回去,不想思考,不想知道这尘世的...
    慢世人阅读 2,924评论 0 4
  • 记得大三有一次在饭堂吃饭的时候,我和明明就讨论过要去香港迪士尼玩,体验一下童话王国的乐趣。毕业两年,前两天终于有个...
    紫小薰阅读 3,736评论 0 1

友情链接更多精彩内容