Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Рефакторинг - процесс или событие ? (2 стр)

Рефакторинг - процесс или событие ? (2 стр)

Страницы: 1 2
tacПостоялецwww10 авг. 201822:07#15
Zab
> С менеджерами надо жестко, они чаще всего не понимают
бери выше с директорами ;) и пох, тыч их как котенков в сцаные углы и показывай как все плохо ... правда есть и обратная ситуация ... я тут таких индивидов насмотрелся на этом форуме .. короче есть такое понятие как перепроектирование, оверхед по русски :) не надо так

Правка: 10 авг. 2018 22:14

tacПостоялецwww10 авг. 201822:10#16
Zab
> Наличие на проекте архитектора позволит рефактоингом заниматься не постоянно
мда, а многие тут ржали еще 10 лет назад когда я зарегался и предложил услуги архитектора ... хорошо что некоторые уже поняли ху ист мистер архитектор, просто становится радоснее за геймдев
CasDevПостоялецwww10 авг. 201822:48#17
tac
> тут критерий один, как что то становится сложно сделать в коде - делаем
> рефактор

Верно.
Но обычно там целая горка проблем.
То есть необходимость рефактора копится месяцами, иногда годами.

Например, было два списка, скажем, предприятий. Абсолютно одинаково выглядели.
Позже в список 1 добавили ряд кнопок сверху, в список 2 - ряд кнопок снизу.
Опытный прогер сделает из одного контроллера два. Потратит полчаса.
"Вумный" впилит if за 1 минуту.
Далее, когда помимо изменений кнопок начнут обрастать фичами - у "вумного" if'ов станет больше. Появится конфигуратор, но лапша в коде будет расти (нарушение single responsibility или как там научно это зовется?).
Со временем поддерживать все это без литра-полтора и понимания, какого фуя эта конструкция не разнесена давным давно? - не получится.
В итоге впиливание/выпиливание очередного условия будет занимать вместо предполагаемых 5 минут на всенесие и 10 минут на тест ОДНОГО контроллера в ОДНОМ месте будет час делаться и еще больше тестироваться и исправляться во всех возможных ВАРИАНТАХ этого контроллера, что ничего нигде не отпало.
Вот этого подхода я не понимаю. Стало не хватать if - понимаешь, что разделение будет - дели на два, три, десять. В дальнейшем изменять будет проще. Но нет.

Есть другой вариант, когда люди боятся четко определенной функционал вынести в отдельный View, минуя ViewController.
Причем те же самые люди прекрасно понимают, что такое, например, ***HeaderView. Но сделать, скажем, webView(withIndication), который накладывает вывод ошибки на вью, и имеет делегат - не делают. Делают это в контроллере, ибо VIPER же!
Я таких крайностей тоже не понимаю.

Есть конструктивный блок, есть KISS - всё. Что ещё надо?

Правка: 10 авг. 2018 22:52

tacПостоялецwww10 авг. 201823:31#18
как то тут терли тему про то как два программиста хлеб пекли https://gamedev.ru/code/forum/?id=236286&page=7#m96

отмотайте назад, кто не в курсе проблемы, но там два школьника пекли .. как бы две краности хотелось кому то показать, но есть совершенно четкие критерии у архитектора .. но увы таких встречаю мало, иначе бы такие темы не появлялись бы

snowslipПостоялецwww11 авг. 201820:53#19
Имхо, оба оратора из поста автора поставили два вопроса "что такое? и когда делать?", но ответили только на второй.
Но без ответа на первый вопрос "что вы понимаете под термином "рефакторинг"?" второй ответ(и уж тем более сравнение вторых ответов) не имеет смысла. Очень может быть, что оба программиста говорят о разных вещах(если уж они ставят вопрос "что такое?")
Страницы: 1 2

/ Форум / Программирование игр / Общее

2001—2018 © GameDev.ru — Разработка игр