Re: Как вы разбираетесь в чужом коде?
От: scf  
Дата: 02.10.22 18:10
Оценка:
Здравствуйте, magnum2005, Вы писали:

M>Вот взяли вас на работу (php, legacy). Как вы разбираетесь в чужом коде? Есть какая-то методика?


Сверху и снизу. Очень важно первым делом поймать кого-нибудь знающего и расспросить о структуре системы/приложения. Из каких условно модулей состоит, как эти модули между собой взаимодействуют, какими данными обмениваются.
Затем можно заняться реверс-инжинирингом снизу: взять конкретную задачу и разобраться, как оно работает. Можно параллельно делать работу, которую не сделали предыдущей программисты — откомментить модели данных и важные методы
Re: Как вы разбираетесь в чужом коде?
От: CRT  
Дата: 02.10.22 20:58
Оценка:
Вопрос непонятен. Берешь и разбираешься.
Это как если бы инженер-электронщик спросил: "а как вы разбираетесь в чужих принципиальных схемах?",
или инженер-механик спросил то же самое о чертежах.

Конечно, чем больше информации о коде тем лучше. Для чего он, что делает. Комментарии тоже неплохо бы
Отредактировано 02.10.2022 21:03 CRT . Предыдущая версия . Еще …
Отредактировано 02.10.2022 21:03 CRT . Предыдущая версия .
Re[2]: Как вы разбираетесь в чужом коде?
От: graniar  
Дата: 02.10.22 23:32
Оценка:
Здравствуйте, CRT, Вы писали:

CRT>Вопрос непонятен. Берешь и разбираешься.

CRT>Это как если бы инженер-электронщик спросил: "а как вы разбираетесь в чужих принципиальных схемах?",
CRT>или инженер-механик спросил то же самое о чертежах.

Ну ты же компьютерщик

Re: Как вы разбираетесь в чужом коде?
От: SkyDance Земля  
Дата: 02.10.22 23:48
Оценка:
M>Вот взяли вас на работу (php, legacy). Как вы разбираетесь в чужом коде? Есть какая-то методика?

Глазами читать.
Смотреть тесты. Проходить их под debugger'ом, если код линейный. Искать аналогии (очень мало какой код написан в первый раз, почти всегда это copy-paste откуда-то еще, часто со stackoverflow, и тогда можно понять, что код должен делать).
Re[4]: Как вы разбираетесь в чужом коде?
От: klopodav  
Дата: 03.10.22 07:18
Оценка:
N>>когда закорюку в одном месте поправишь — выстрелит в 10 местах, о существовании которых ты даже не подозревал.

_>code-review же есть, местные гуру тебе сразу скажут, где и как твоя правка может выстрелить


Тут скорее не code-review надо, а "нам бы схемку аль чертеж". Чтобы было разрисовано что от чего зависит и что с чем взаимодействует. Пусть даже не на формализованном языке вроде UML, а хотя бы на бумажке от руки нарисованную.
Впрочем, если такой схемки нет и нарисовать ему некому — можно попытаться воссоздать ее через code-review.
Re[5]: Как вы разбираетесь в чужом коде?
От: mike_rs Россия  
Дата: 03.10.22 07:42
Оценка:
Здравствуйте, Sheridan, Вы писали:

N>>>когда закорюку в одном месте поправишь — выстрелит в 10 местах, о существовании которых ты даже не подозревал.

_>>code-review же есть
S>Далеко не всегда. Особенно если легаси, которое не трогали некоторое время.

т.е. есть конторы, где позволяют править код не проводя code-review этих изменений? бежаааать...
Re[6]: Как вы разбираетесь в чужом коде?
От: Sheridan Россия  
Дата: 03.10.22 08:39
Оценка:
Здравствуйте, mike_rs, Вы писали:

_>т.е. есть конторы, где позволяют править код не проводя code-review этих изменений? бежаааать...

Есть конторы, которые "К нам пришол заказчик, у него есть древнее (веб)приложение, ему надо дописать...". Тоже бежать?
Matrix has you...
Re[7]: Как вы разбираетесь в чужом коде?
От: Privalov  
Дата: 03.10.22 10:38
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Есть конторы, которые "К нам пришол заказчик, у него есть древнее (веб)приложение, ему надо дописать...". Тоже бежать?


Вот за Web я бы не взялся. Я в нем практически полный если не гуманитарий, то теоретик.
На матан я бы посмотрел. Я многое успел основательно забыть. Помню только, что там не точность охрененная нужна, а относительная погрешность вычислений должна быть не более оговоренной. Многие сегодня считают, что это одно и то же.
А вот за проект эпохи динозавров на каком-нибудь Коболе я бы взялся. Хоть имел дело с Коболом заметно меньше, чем с Фортраном. Но опыт, приобретенный во время работы на Фортране (там как раз был уже неновый проект) мне бы безусловно пригодился.
Я к тому, что и предметная область имеет значение.
Re[8]: Как вы разбираетесь в чужом коде?
От: Sheridan Россия  
Дата: 03.10.22 10:42
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Я к тому, что и предметная область имеет значение.

Смотря что сделать нужно.
Matrix has you...
Re[9]: Как вы разбираетесь в чужом коде?
От: Privalov  
Дата: 03.10.22 11:05
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Смотря что сделать нужно.


Тут в голову приходит только "раньше было лучше". Раньше работали командой, в которую входили архитекторы, разработчики, тестировщики, админы (системные и баз данных), писатели доументации. А сегодня куда ни кинь, кругом одни айтишники.
Поэтому сегодня и вырос спрос на динозавров. Знаю дядьку, ему под 70, он на пенсии. Но его постоянно дергают. Среди современных айтишников нет ему замены.
Re: Как вы разбираетесь в чужом коде?
От: _AND Российская Империя За Русский мир! За Русь святую!
Дата: 03.10.22 17:16
Оценка: 5 (1) +2
Здравствуйте, magnum2005, Вы писали:

M>Вот взяли вас на работу (php, legacy). Как вы разбираетесь в чужом коде? Есть какая-то методика?


Просто начинаю делать небольшие задачи, править баги. Постепенно въезжаю, стараюсь сам разобраться, спрашиваю редко.
Re: Как вы разбираетесь в чужом коде?
От: akochnev Россия  
Дата: 03.10.22 17:42
Оценка: +2
Здравствуйте, magnum2005, Вы писали:

M>Вот взяли вас на работу (php, legacy). Как вы разбираетесь в чужом коде? Есть какая-то методика?


Я начинаю делать небольшие рефакторинги и улучшения. Причем, даже не все изменения в итоге попадают в основную ветку. Считаю, что таким образом повышается уровень владения кодом, что очень важно.
Re: Как вы разбираетесь в чужом коде?
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.10.22 19:43
Оценка: +2
Здравствуйте, magnum2005, Вы писали:

M>Вот взяли вас на работу (php, legacy). Как вы разбираетесь в чужом коде? Есть какая-то методика?


Так же, как и в своём, который не трогал существенное время. Нахожу точки входа, и оттуда прослеживаю выполнение. Или, если примерно известно место, где глючит (например есть стек трейс), то от этого места "раскручиваю" ход исполнения в обратную сторону до точки входа.
[КУ] оккупировала армия.
Re[3]: Как вы разбираетесь в чужом коде?
От: flаt  
Дата: 05.10.22 05:03
Оценка:
Здравствуйте, graniar, Вы писали:


M>>Сам очень мучился, ничего не мог понять.


G>Ага, тоже всегда ненавидел ковырять чужой код, вплоть до того, что предпочитал с нуля написать, чем разбираться.


Чукча не читатель, чукча — писатель (с)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.