Евгений обнови решението на 25.10.2014 21:27 (преди около 11 години)
- 
attr_reader :setе излишно, никой не иска достъп до@set - изпускай скоби около дефинициите на методите само когато нямат аргументи
 - бъди консистентен като ползваш 
caseили ползвай самоwhen - thenилиwhenнов ред навсякъде, не ги омешвай - погледни Enumerable има неща които да ти поспестят код
 - махни коментарите, излишни са
 - няма смисъл да пишеш толкова предикати, проверки от типа на 
number < 0са достатъчно ясни за да не се нуждаят от отделен метод 
В условието.
Най-много 8 реда на метод
Най-много 80 символа на ред
В def []
when TypeFilter then NumberSet.new @set.select {|number| filter.valid? number}
и
when SignFilter then NumberSet.new @set.select {|number| filter.valid? number}
Стават повече от 80 символа (поне според Sublime-а). А ако сваля всичко на отделен ред пък ще стане на повече от 8 реда. Мога да съкратя единствено number на n или num, но ми се струва малко по-неясно и неконсистентно. Да не говорим, че вероятно и ще счупи условието на skeptic-a за използването на английските думи.
И затова го направих така. Как да го направя по-умно така че хем да събера всичко на 8 реда, хем 80 символа на ред, хем и хубави имена да има.
