22:15 

mrs. angemi

Foul thing
¡ʎuunɟ ʇou sı sıɥʇ
Модуль, который я пишу/поддерживаю на работе, оперирует несколькими десятками объектов. Не скажу точно, но навскидку - где-то 50-80 штук. И все эти объекты описываются одним единственным классом с дохулиардом полей и методов. Один только ашник у него строк на восемьсот, а цепепешник - на 8 с лишним тысяч.

Объекты ведут себя очень по-разному, и как следствие, все методы класса переполнены ветвлениями в духе "если это объект 8.3.4, то делаем так, а если объект 22.7.1 - делаем эдак".

И больше всего на свете хочется взять и переписать всю эту хрень на семейство полиморфных классов с виртуальными функциями, блэкджеком и Милоновым с Хирургом.

Но бля, как переписать наново овер 8 тысяч строк, учитывая, что времени в обрез хватает только на то, чтобы успевать выполнять ТЗ от бизнеса. Приходится жить и лопатить в морально устаревшей парадигме.

Жизнь - страдание.

URL
Комментарии
2017-06-14 в 23:31 

8115
Наново нереально. Но можно хотя бы на несколько божеств разделить этот монотеизм. Я бы начал с юнит тестов. Был похожий случай, никто не решался, и однажды вся эта куча реально стала непредсказуемо падать нам на головы при новых, формально пустяшных доработках.

2017-06-14 в 23:39 

zHz00
Ты на проекте один?

2017-06-14 в 23:49 

Crawling Chaos
IT'S RAINING TUNA!!!
Я бы начал с юнит тестов.
И тут возникает закономерная задачка - сколько нужно строк кода юнит тестов, чтобы покрыть 8000 строк обычного кода?)

2017-06-15 в 09:02 

8115
Crawling Chaos, можно тестировать как чёрный ящик, выйдет меньше. можно вообще ничего не делать, потому как восемь тыщ, и за день такое не исправить. без юнит тестов даже лучше ничего не делать.

   

Temporary Internet Flies

главная