0
这里是我的代码简短的样本:DRY - 多行代码执行相同的更新功能
def update_records!
# Teams.
home_team_record = PoolRecord.for_recordable_and_user(event_home_team, user)
home_team_record.update_for!(self)
away_team_record = PoolRecord.for_recordable_and_user(event_away_team, user)
away_team_record.update_for!(self)
# Division(s).
home_team_div_record = PoolRecord.for_recordable_and_user(event_home_team_division, user)
home_team_div_record.update_for!(self)
# Create/update PoolRecord for away_team division if they're in a different division.
unless event_away_team_division == event_home_team_division
away_team_div_record = PoolRecord.for_recordable_and_user(event_away_team_division, user)
away_team_div_record.update_for!(self)
end
# User.
user_record = PoolRecord.for_recordable_and_user(user, user)
user_record.update_for!(self)
end
DRY'ing这段代码实际上是相当简单的,如果不是因为需要的条件检查away_team部门。我可以创建一个传入的第一个参数的字符串数组,并传送给对象#。但是,就像我说的,我需要在一种情况下检查一个条件。你会如何推荐DRY'ing?
非常优雅。谢谢您的帮助。 – keruilin