Старый код на новом месте
От: Dair Россия https://dair.spb.ru
Дата: 17.11.16 10:32
Оценка: :)
disclaimer: я скорее жалуюсь, чем прошу совета, но совет тоже интересен


Я тут успешно сменил работу. Теперь работаю в "крупной международной компании" (не шутка).

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

С 1 числа вот копаюсь в коде, и уже три дня (когда более-менее разобрался в нём) бью себя по рукам от желания переписать ***** вообще всё.
А тут ещё общаюсь с соседними отделами, которые пишут библиотеки, которые вставляются в разные продукты, в том числе и в один из наших, так там ВООБЩЕ караул.

Доктор Форум, это нормально? Это пройдёт? Надо пить Новопассит?.. Или не стоит прогибаться, надо прогибать?.. С одной стороны, я уверен, что, как я придумаю, будет всем лучше (опыты прошлых работ это показывали), но я-то один, а тут десятки умных людей с высшими образованиями.

Теряюсь.
Re: Старый код на новом месте
От: Олег К.  
Дата: 17.11.16 10:39
Оценка: 4 (1) +8
D>Теряюсь.

Это нормально. Ты, как синьйор, должен бы понимать что такое было, есть и будет.

В Союзе, кстати, такое же было и в электронике. Принципиальные схемы, транзисторы, резисторы... Вместо того чтобы сделать просто, такое наворотят...

В общем, относись к этому проще и учись работать в рамках существующего кода. Это и отличает синьйора от не-синьйора.
Re: Старый код на новом месте
От: Privalov  
Дата: 17.11.16 10:47
Оценка: 6 (2) +1
Здравствуйте, Dair, Вы писали:

D>Теряюсь.


Помнится, я тоже в такое попадал. Сначала чесались руки все переписать к чертям. Но примерно через полгода я в том коде ориентировался совершенно свободно. Со всеми его прелестями: функциями со средним размером 1000 строк (максимальный — 3500), макаронами, константами с именами ONE, TWO, ..., FIFTY, переменными var1, var2. Править его было тяжеловато. Но ничего, справлялся.
Re[2]: Старый код на новом месте
От: Dair Россия https://dair.spb.ru
Дата: 17.11.16 10:51
Оценка: +5
Здравствуйте, Олег К., Вы писали:

ОК>В общем, относись к этому проще и учись работать в рамках существующего кода. Это и отличает синьйора от не-синьйора.


Ну вот, да, примерно те же мысли, пока так и собираюсь делать. Но мне "владеть" этим продуктом. Новые фичи буду по-своему уже делать, старое переделывать буду только если это будет непосредственно противоречить идеологии нового.
Re: Старый код на новом месте
От: turbocode  
Дата: 17.11.16 10:56
Оценка: :)))
D>Теряюсь.

Меняй работу, а то со временем не заметно для себя станешь таким же быдлокодером и больше никуда не возьмут.
Re: Старый код на новом месте
От: binnom  
Дата: 17.11.16 11:07
Оценка: 2 (1) +2
Здравствуйте, Dair, Вы писали:

D>Я тут успешно сменил работу. Теперь работаю в "крупной международной компании" (не шутка).

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

D>Тут, как и везде у меня на последних местах работы, есть долгоиграющий проект, который начат годы назад, сейчас в поддерживаемом и развиваемом состоянии.



D>С 1 числа вот копаюсь в коде, и уже три дня (когда более-менее разобрался в нём) бью себя по рукам от желания переписать ***** вообще всё.



D>А тут ещё общаюсь с соседними отделами, которые пишут библиотеки, которые вставляются в разные продукты, в том числе и в один из наших, так там ВООБЩЕ караул.



D>Доктор Форум, это нормально? Это пройдёт? Надо пить Новопассит?..

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

D>Или не стоит прогибаться, надо прогибать?..

Ты не первый такой.

D>С одной стороны, я уверен, что, как я придумаю, будет всем лучше (опыты прошлых работ это показывали), но я-то один, а тут десятки умных людей с высшими образованиями.

Это называется "пилить якорь за ипотеку".

D>Теряюсь.

Если через полгода будешь задаваться вопросом — какого х я тут делаю, в чем моя роль — ищи новую работу.
Re: Старый код на новом месте
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 17.11.16 11:14
Оценка: 6 (1) +7 -1
Здравствуйте, Dair, Вы писали:

D>Теряюсь.

Почему? Просто когда фиксишь баги начинай проводить небольшой рефакторинг который сильно не влияет на соседний модули, а фичи изолируй и пиши уже в нормальном виде.
Sic luceat lux!
Re[2]: Старый код на новом месте
От: turbocode  
Дата: 17.11.16 11:37
Оценка:
D>>Теряюсь.
K>Почему? Просто когда фиксишь баги начинай проводить небольшой рефакторинг который сильно не влияет на соседний модули, а фичи изолируй и пиши уже в нормальном виде.

Баги нужно срочно фиксить максимум за два часа.
Re: Старый код на новом месте
От: El Camino Real США  
Дата: 17.11.16 11:43
Оценка: -6
Здравствуйте, Dair, Вы писали:

D>Теряюсь.

Какие нынче джуниоры впечатлительные пошли. Это у вас в институте можно было озаботиться качеством кода в рамках курса "Code-monkey skills 101", а у нас тут на заводе всё по-челябински сурово — тяп-ляп и в продакшн.
Попытайся что-нибудь новое сделать с правильной оргнизацией процесса, архитектурой и всем прочим. Будет возможность показать на наглядном примере, если в сроки уложишься. И если компания действительно "крупная и международная" лучше без резких движений. Возможно, те, кто этот огород нагородил уже продвинулись на хорошие должности и им будет неприятно слышать, какой гамокод они творили по молодости.
Re: Старый код на новом месте
От: licedey  
Дата: 17.11.16 11:46
Оценка: 2 (1) +1 -1 :))
Здравствуйте, Dair, Вы писали:

D>disclaimer: я скорее жалуюсь, чем прошу совета, но совет тоже интересен



D>Я тут успешно сменил работу. Теперь работаю в "крупной международной компании" (не шутка).


D>Тут, как и везде у меня на последних местах работы, есть долгоиграющий проект, который начат годы назад, сейчас в поддерживаемом и развиваемом состоянии.


D>Теряюсь.


Спрашивал 5 лет назад тоже самое
Автор: licedey
Дата: 18.03.11
. Часто тут такое спрашивают. Резюме:
— Спрашивать в деталях, что за проект и в каком он состоянии до оффера
— Создать отдельный брэнч и неспешно переписывать по своему
— Перенести критичные части в библиотеку, остальное писать по своему
— Перевестись на другой проект
— Если систему не сломать, что наиболее вероятно в "крупной бюррократической компании" — завести свой knowledgebase документ, куда выписывать
как ОНО работает, классы/модули/архитектура/преметная область/воркфлоу итд. Неделя, две, три — и вы уже в теме.
Re[2]: Старый код на новом месте
От: turbocode  
Дата: 17.11.16 11:58
Оценка:
L>как ОНО работает, классы/модули/архитектура/преметная область/воркфлоу итд. Неделя, две, три — и вы уже в теме.

В корпоративе даже отдельные модули могут весить сотни мегабайт кода с нетривиальной логикой но это еще не все потому что быдлокод может быть следствием быдлобазы данных менять структуру которой не просто (так как она уже используется тысячами сторонних клиентов).
Re: Старый код на новом месте
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 17.11.16 12:04
Оценка: 16 (5) +12
Здравствуйте, Dair, Вы писали:

D>Я тут успешно сменил работу. Теперь работаю в "крупной международной компании" (не шутка).


Поздравляю!

D>Тут, как и везде у меня на последних местах работы, есть долгоиграющий проект, который начат годы назад, сейчас в поддерживаемом и развиваемом состоянии.


Копролит мамонта – типичное состояние проекта в "крупной международной компании"

D>Доктор Форум, это нормально? Это пройдёт? Надо пить Новопассит?.. Или не стоит прогибаться, надо прогибать?.. С одной стороны, я уверен, что, как я придумаю, будет всем лучше (опыты прошлых работ это показывали), но я-то один, а тут десятки умных людей с высшими образованиями.


Надо понять кое какие вещи. Во-первых, оно работает и приносит компании деньги. Это самое важное. Во-вторых, слоев говна обычно много и неаккуратно тронув один ты по цепочке, с неопытности работы с этой субстанцией, можешь много что развалить. А оно приносит деньги. В-третьих, обычно, все понимают проблему, но помня о "во-первых" и "во-вторых" бздят что-либо менять. Поэтому, если хочется рискнуть и есть понимание того, как это сделать, то терпеть не нужно.

Я обычно делаю следующее. Так как весь этот копролит обычно никакими тестами не покрыт стараюсь донести идею полезности автоматического тестирования. Если удалось (пока не удалось только в Самсунге), то начинаем добавлять тесты для новых модулей и для того, за что отвечаешь лично ты. Если лезешь в какой-то кусок, то пишешь тесты и начинаешь не только новые фичи прикручивать, но и делать рефакторинг, не спеша, по чуть-чуть. Дальше зависит от твоей настойчивости и навыка влияния на людей, будут слушать или нет, не забросят ли это дело и так далее, но это уже тема для отдельного разговора.
Re[2]: Старый код на новом месте
От: Privalov  
Дата: 17.11.16 12:16
Оценка: +1
Здравствуйте, Kernan, Вы писали:

K>Почему? Просто когда фиксишь баги начинай проводить небольшой рефакторинг который сильно не влияет на соседний модули, а фичи изолируй и пиши уже в нормальном виде.


Да в том-то и дело, что какая-нибудь переменная внезапно™ может оказаться чуть юолее глобальной, чем она выглядела. И в результате отвалится что-нибудь, казалось бы, никак не связанное с редактируемым модулем.
И чаще всего проблемный модуль обкладывают костылями. Это, на первый взгляд, проще. И народ не задумывается о том, что такие костыли со временем превращаются в грабли.
Re[2]: Старый код на новом месте
От: Skorodum Россия  
Дата: 17.11.16 14:41
Оценка:
Здравствуйте, El Camino Real, Вы писали:

ECR>Здравствуйте, Dair, Вы писали:


D>>Теряюсь.

ECR>Какие нынче джуниоры впечатлительные пошли.
-1
Re: Старый код на новом месте
От: Skorodum Россия  
Дата: 17.11.16 14:49
Оценка: +1 -1
Здравствуйте, Dair, Вы писали:

D>Теряюсь.

А вот мне такое даже нравится, если временных ресурсов хватает на попутный рефакторинг, главное сильно не увлекаться.

Это как уборка: легко и сразу виден результат. Ну и еще чувствуешь себя умнее и лучше предшественника
Re[2]: Старый код на новом месте
От: turbocode  
Дата: 17.11.16 14:55
Оценка:
S>А вот мне такое даже нравится, если временных ресурсов хватает на попутный рефакторинг, главное сильно не увлекаться.
S>Это как уборка: легко и сразу виден результат. Ну и еще чувствуешь себя умнее и лучше предшественника

Предшественника гнали в шею, а тебе подавай временные ресурсы -> значит что ты ничем не лучше.
Re[3]: Старый код на новом месте
От: Skorodum Россия  
Дата: 17.11.16 14:59
Оценка: +1 :)
Здравствуйте, turbocode, Вы писали:

T>Предшественника гнали в шею, а тебе подавай временные ресурсы -> значит что ты ничем не лучше.

Вы своими предположениями говорите о себе гораздо больше, чем стоило бы.
Re[3]: Старый код на новом месте
От: Dair Россия https://dair.spb.ru
Дата: 17.11.16 15:02
Оценка:
Здравствуйте, turbocode, Вы писали:

T>Предшественника гнали в шею, а тебе подавай временные ресурсы -> значит что ты ничем не лучше.


Никто моего предшественника в шею не гнал. Рынок труда такой рынок — человек нашёл себе место лучше и ушёл туда.
Re[2]: Старый код на новом месте
От: Skorodum Россия  
Дата: 17.11.16 15:04
Оценка: 1 (1)
Здравствуйте, licedey, Вы писали:

L>- Спрашивать в деталях, что за проект и в каком он состоянии до оффера

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

L>- Создать отдельный брэнч и неспешно переписывать по своему

L>- Перенести критичные части в библиотеку, остальное писать по своему
Если временные ресурсы есть.

L>- Перевестись на другой проект

Редко возможно, ИМХО.

L>- Если систему не сломать, что наиболее вероятно в "крупной бюррократической компании" — завести свой knowledgebase документ, куда выписывать

L>как ОНО работает, классы/модули/архитектура/преметная область/воркфлоу итд. Неделя, две, три — и вы уже в теме.
+1
Расслабится, в смысле не стремится переписать все за один день, и постараться получать удовольствие от работы.
Re[4]: Старый код на новом месте
От: turbocode  
Дата: 17.11.16 15:10
Оценка:
D>Никто моего предшественника в шею не гнал. Рынок труда такой рынок — человек нашёл себе место лучше и ушёл туда.

Я не о том что его выгнали, возможно предшественник был под жестким прессингом сроков и поэтому качество его волновало меньше всего.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.