Comment refactoriser ces méthodes afin qu'elles ne reposent pas sur l'utilisation d'une variable d'instance (@conference_facets)?Méthodes de refactorisation qui s'appuient sur la variable d'instance
def count_conf_facets(events)
@conference_facets = {}
for event in events do
home_team_conf = event.home_team_conf
away_team_conf = event.away_team_conf
increment_conf_facet(home_team_conf)
if home_team_conf.id != away_team_conf.id then
increment_conf_facet(away_team_conf)
end
end
end
def increment_conf_facet(conference)
if @conference_facets[conference.id].nil? then
@conference_facets[conference.id] = 0
end
@conference_facets[conference.id] += 1
end
c'est plutôt joli ... cld vous expliquez comment vous avez su utiliser la méthode uniq pour éviter le double comptage? – keruilin
Une if-instruction est tout aussi valide, et probablement plus efficace, mais je voulais capturer que dans le cas par défaut, nous faisons la même chose pour les deux ID de conférence, donc je laisse le même casse géré par l'appel uniq. Si le tableau était plus long, il serait plus efficace de le construire avec des instructions if, en décidant quels identifiants de conférence mettre. –