Принцип «СУХОЙ» («Не повторяйся сам»), как следует из его названия, заключается в отсутствии нескольких реализаций одной и той же вещи. У вас есть два метода, findPages
и findPercent
. В совокупности эти два метода делают совершенно разные вещи, поэтому они не повторяются друг с другом. Таким образом, мы ищем частичные совпадения, однако, если мы посмотрим на код, мы увидим некоторые различия, так что это не совсем частичное совпадение. Один звонит pagesSelector
, другой звонит percentSelector
. Вы можете выполнить некоторую рефакторизацию, например, метод, который получит имя селектора и вернет правильный селектор, но это будет большая и сложная работа, которую не стоит делать, если у вас нет веских причин и для такой большой работы и небольшой выигрыш, имея два одинаково выглядящих кода, не является веской причиной. Если вам приходилось писать код такого типа, может быть, 100 раз, то было бы разумно либо реорганизовать ваш код, либо написать генератор кода и генерировать ваши методы с этим.