Рефакторинг программного обеспечения. Лекция 1

  Рет қаралды 219

Mobile in HITs

Mobile in HITs

Күн бұрын

Пікірлер: 6
@hardlandingtac
@hardlandingtac 4 күн бұрын
Вот, кстати, вспомнил, есть у меня на канале пример рефакторинга (помимо основной темы ролика) называется "Принцип единой ответственности (SRP) - что с ним не так?". Там в оригинале приводится пример программирования игры в боулинг. Причем делается явно не понимая, что такое ООП. Так вот там четко видно, что если исходить из логики авторов, то никаким рефакторингом невозможно дойти до нормального решения. И продолжать делать рефакторинги, это только добавит каши. Поэтому нужно сразу делать крупный рефакторинг, но его нужно перетестировать, ибо сразу новая логика может не получится. Но оставлять как есть, тоже такое ... это пример, как раз того, что вся ваша теория не соответствует практике.
@hardlandingtac
@hardlandingtac 9 күн бұрын
1:08:00 Не нужно заказчику или менеджеру ничего рассказывать про рефакторинг. Занимайтесь рефакторингом каждый раз когда требуется без исключений. Вы не должны никому отчитываться как правильно выполнять работу. Вся проблема только в том, что не правильно оцениваются сроки. Умножайте их на 3, на 2 точно мало. Тогда у вас будет время на непредвиденные ситуации. Менеджерам нужно лишь понимать, что подготовительные работы ведутся дольше, чем отделочные. Заказчик видит результат, когда уже поклеены работы, но клеится они за сутки, а вот стены создаются месяцами. Если же менеджер не может технически понять на каком уровне сейчас находится разработка и требует, чтобы программист создавал видимость разработки - вида сделал метр стены и сразу поклеил обоих - это проф. не пригодность менеджера и компании в целом.
@LidiyaHITS
@LidiyaHITS 9 күн бұрын
Благодарю за ваше мнение. Не стоит забывать, что компании бывают разные, у всех свои процессы. Как минимум странно будет на дэйлике менеджеру на вопрос "какую задачу делаешь" ответить "не скажу". Тимлиды есть не везде, иногда менеджер выполняет все роли сразу.
@hardlandingtac
@hardlandingtac 8 күн бұрын
@@LidiyaHITS Сейчас заметил, что у вас на слайде когда делать рефакторинг, не очень точно передается правило 3 ударов, там нужно слово "делаете" заменить на "натолкнулись". Так вот тогда, я говорю о том, что нужно взять это правило + встроить в процесс (по смыслу близко, что у вас как мнение 4). Ну и далее, у вас правильный список "Когда рефакторинг не делать". И вот тогда - объяснять кому то, что я делаю рефакторинг не нужно. Просто делайте, не выделяя в отдельную задачу. А вместо не скажу, говорить, что делаю все тоже, что и делал на прошлой неделе. Ну, или же нет у руководства понимания, отказывайтесь делать задачу, или говорите о нереалистичных сроках. Не делать нужный рефакторинг - такой опции нет, это все равно что врач будет спрашивать резать или не резать. Ну и чтобы не вставать два раза - слайд поиск места для рефакторинга - плохой. Тут нужно говорить о ревью проекта в целом, и находить самое уязвимое место. Ну и говорить про "дурные запахи по Фаулеру". А то ,что на слайде - это не практично, так экзотика. Ну а вообще все ок, мне нравится стиль ведения лекции ) ах, да - на вопрос "на дэйлике менеджеру " - еще лучше говорить, что он тратит мое время, хочет узнать пусть делает ревью коммитов. Это значит, что в правильно организованных процессах - менеджер - это сеньор, который делает ревью и на дейликах именно он говорит, что кому исправить, а не наоборот.
@TV-xj5ke
@TV-xj5ke 4 күн бұрын
Не соглашусь. У заказчика есть потребность в определенной ценности, которая решает его проблему. Если каждый раз проект будет сдвигаться вправо, то просто найдут ему замену. Всему своё место, в том числе и рефакторингу. Если потребность в рефакторинге реально есть (не выдумана), то любой менеджер это поймет и не надо будет ничего скрывать.
@hardlandingtac
@hardlandingtac 4 күн бұрын
@@TV-xj5ke Вообще, каждый отдельный рефакторинг занимает небольшое время, в идеале час-два. Есть рефакторинги, которые просто нельзя не делать, чтобы добавить функциональность. Например, устранение дублирования при добавлении аргумента в метод. Вообще я ищу конкретные примеры, чтобы продемонстрировать. Так можно говорить конкретнее. Но есть рефакторинги которые тянут изменения на пару недель. Такие я часто вижу, когда прихожу на новый проект, который делали джуниоры. Вот тогда и начинаются психи со всех сторон, так вот прежде чем ворошить эту кучу говна, нужно хорошо подумать ... можно остаться виноватым, что все перестанет работать :) Менеджерам нужно понимать, что после рефакторинга это нужно будет перетестировать, на что они не готовы.
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,8 МЛН
Walking on LEGO Be Like... #shorts #mingweirocks
00:41
mingweirocks
Рет қаралды 7 МЛН
Симбу закрыли дома?! 🔒 #симба #симбочка #арти
00:41
Симбочка Пимпочка
Рет қаралды 3,8 МЛН
Как в 44 года стать программистом на Python. Объясняю с чего начать.
19:32
Введение в язык программирования Go
1:36:18
Computer Science Center
Рет қаралды 90 М.
Собеседование в ВТБ с код-ревью: Middle Java разработчик справился!
1:08:56
ШОРТКАТ — менторская программа
Рет қаралды 3,8 М.
Как стать ЛУЧШИМ тестировщиком: от учителя до QA-инженера в Т-Банк
1:14:20
Руслан Масленников | Подкаст "экcпириенс"
Рет қаралды 7 М.
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 2,8 МЛН