76、提取方法以获取Feed:提高代码清晰性和可维护性的实践

提取方法以获取Feed:提高代码清晰性和可维护性的实践

1. 引言

在编写代码时,我们常常会遇到一些复杂的方法,这些方法集成了多个功能,导致代码难以理解和维护。为了改善这种情况,我们可以通过提取方法来分离关注点,从而提高代码的清晰性和可维护性。本文将通过一个具体的例子,展示如何从现有代码中提取一个专门用于获取Feed(订阅源)的方法。

2. 问题背景

假设我们有一个方法 discover ,它负责从给定的URL中发现并解析Feed。最初的实现可能如下所示:

def discover(url, finder = Feedbag, parser = Feedzirra::Feed)
  begin
    feed = parser.fetch_and_parse(url)
    feed.feed_url ||= url
    return feed
  rescue Exception => e
    urls = finder.find(url)
    return false if urls.empty?
    begin
      feed = parser.fetch_and_parse(urls.first)
      feed.feed_url ||= urls.first
      return feed
    rescue Exception
      return false
    end
  end
end

这段代码虽然实现了功能,但存在以下几个问题:
- 使用了嵌套的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值