powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Чтение чужого кода.
22 сообщений из 22, страница 1 из 1
Чтение чужого кода.
    #38786955
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Можешь кто даст совет/поделится опытом изучения чужого кода/проекта?

С чего начинать, на что обращать внимание, как лучше понимать.

Спасибо.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38786974
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787255
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут варианты. Если есть модульные тесты - то можно смотреть некую часть юзкейсес. Посмотеть
покрытие. Изучить выделенный код.

Есть-ли возможность стартовать приложение (stand-alone) или загрузить его в веб-контейнер?
Если да - то запускать отладчик и смотреть. В любом случае выделить "ядерную часть" или
ядро и отделить его от мусора (entities, pojo-s e.t.c) и понять что это ядро делает.

Смотреть логи старта. Обычно в самом начале происходят важные вещи. Инициализация
компонент.

Посмотреть какие датчики и какие органы управления выведены во внешний мир. JMX компонеты?
Какие. Понажимать на них. Веб-листенеры? Зайти на них. Понажимать.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787340
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

хм, интересно. Спасибо!
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787386
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
второй подход - Снаружи <-> изнутри.
Очертить границы ИС по ТЗ. Если есть - прочитать его)).
Что в коде является вашим, а что - соисполнителем.
Найти вот этих самых на картинке )) actor

Дальше уже понятно ЧТО код делает. Т.к. часто в старых системах столько мусора годами плавает)
.....
Посмотреть БД любым вьювером. Т.е. модель предметки.
Упс. форум масштаб картинки не вписывает...растянул.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787388
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusПривет!

Можешь кто даст совет/поделится опытом изучения чужого кода/проекта?

С чего начинать, на что обращать внимание, как лучше понимать.

Спасибо.

Начинать надо с установки хорошей IDE и конфигурирования проекта.
Потому что главное в этом деле -- code browsing...


Раньше я бы рекомендовал Eclipse.
Теперь рекомендую IntelliJ IDEA.
Она пожалуй более тормозная чем даже Eclipse, но она лишена Eclipse-овых идиотизмов, что радует.
И потом, эстетически - Darcula -- очень хорошо.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787391
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНачинать надо с установки хорошей IDE и конфигурирования проекта.
подпишусь.
Это первое, что надо просить\требовать по приходу на новую работу\проект.
Чтобы тебе запустили проект с нуля...деплой до заказчика. Это "они" обязаны.
А потом, старайся не сломать) воссоздать весь проект "с нуля" на чистой машине.
Потом можно не бояться.....) по 1 строчке дописывая проект....пока не въехал...
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787395
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

спасибо,

да, intellij idea, сейчас очень популярна.

мне самому она нравиться, хорошо сделана.

на счет чтения кода, я думаю тут как и в любом деле - нужно время и опыт, привет кэп :)

чем больше читаешь, тем дальше быстрей понимаешь о чем речь в новых кусках кода, опять привет кеп :)
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787396
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

ну да, без конфига проекта дальше совсем некуда :)
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787820
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusПривет!

Можешь кто даст совет/поделится опытом изучения чужого кода/проекта?

С чего начинать, на что обращать внимание, как лучше понимать.

Спасибо.

По опыту, "понимать" код имеет мало смысла.
Лучше в начале понять задачу и что должен делать код.
Тогда, даже не понимая код, можно что-то изменять.

Единственный инструмент для "понимания" кода - это отладчик.
Используя его вы точно будете что и как делает код.
Иногда даже точнее, чем кто его написал. :-)
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787850
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,

Спасибо, про отладчик понятно.

Знаю, что отладчиком далеко не всегда удается воспользоваться, особенно в javaEE.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787854
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusmad_nazgul,

Спасибо, про отладчик понятно.

Знаю, что отладчиком далеко не всегда удается воспользоваться, особенно в javaEE.

Это кто вам сказал?
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787868
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

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



авторmr_virtus
mad_nazgul,

Спасибо, про отладчик понятно.

Знаю, что отладчиком далеко не всегда удается воспользоваться, особенно в javaEE.


Это кто вам сказал?

А в вашей практике всегда все можно было быстро и надежно отладчиком проверить?
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787872
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusзабыл ник,

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



авторmr_virtus
mad_nazgul,

Спасибо, про отладчик понятно.

Знаю, что отладчиком далеко не всегда удается воспользоваться, особенно в javaEE.


Это кто вам сказал?

А в вашей практике всегда все можно было быстро и надежно отладчиком проверить?

В целом понял, что вы имеете ввиду. Не поверите, но и для игр и для драйвера какого-нибудь иногда бывает намного труднее подобрать окружение. Меня смутило упоминание javaEE.
По-хорошему проблема решается написанием тестов и настройкой qa энвайрнмента, это спасает в 95% случаев. В остальных 5 - ведь всегда можно добавить логирование, определить как минимум строку и файл, в которой содержится ошибка, и оттуда уже плясать, и глубокое понимание нужно очень и очень редко. Конечно если приложение многопоточное, то все становится гораздо сложнее, но все равно никогда не было большой необходимости перелопачивать тонну чужого кода
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787875
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusА в вашей практике всегда все можно было быстро и надежно отладчиком проверить?
На северах - да. Конечно, если приходится дебажить продакшн, это уже что-то не так в датском королевстве. Но какой-нибудь UAT - всегда пожалуйста. Какие проблемы?
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787902
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

ну да, сам заметил, что чтение всего чужого кода не часто бывает нужно, можно решать задачу, локально разбираясь в участках кода и понимая, что нужно получать на выходе.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787908
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

авторНо какой-нибудь UAT - всегда пожалуйста. Какие проблемы?

проблем нет. и все-таки в некоторых ситуациях ревью кода оказывается эффективней и быстрей дебага.

для дебага нужно подбирать данные(проблема особенно острой становится когда данные специфичные и допустим, чтоб смоделировать ситуацию нужно изменять наборы в нескольких бд), плюс если дебажить через intellij ce, то там нет реверсного дебага, а сам процесс отлаживаемый долгоиграющий. А делая ревью, можно все ускорить, перемещаться по коду опять же быстрей будет, чем когда дебаггер включен.

Я понимаю, что дебаг отличная штука, но хотел выяснить для себя кто как работает с незнакомым кодом.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787912
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusзабыл ник,
Например, есть специфичный кейс, среду и данные для которого подобрать очень ресурсоемко. Но тем не менее для него нужно понимать как будет отрабатывать код. Читаешь код и разбираешь.


Как будет отрабатываться код может помочь только отладка.
Да и то с различными опциями оптимизации могут быть веселые моменты (например в GCC)
Эту истину я понял, посопровождав код на Clipper (да и остальные xBase не далеко ушли).
Когда по коду видишь "буйвол", а при выполнении получается "слон".

Так что либо "поднимать окружение" для отладки всегда менее ресурсоемко, чем понять что по настоящему делает код.
А не то что думал, даже тот, кто этот код написал.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787936
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,

понятно, спасибо.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787938
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mr_virtusBlazkowicz,
Я понимаю, что дебаг отличная штука, но хотел выяснить для себя кто как работает с незнакомым кодом.

Проблема в том, что тот кто писал код не до конца понимает как работает код.
Иначе бы не надо было его править.
Да и написано может быть по разному.
И не факт, что вы можете правильно понять.

Ну еще есть "индусский" код.

Я при работе с "унаследованным" кодом в начале либо узнаю ТЗ, что нужно сделать, либо пытаюсь понять, что код должен делать, без чтения кода.
А потом уже "смотрю" в код.
Делаю "предположения" и проверяю их в отладчике.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787942
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,

авторПроблема в том, что тот кто писал код не до конца понимает как работает код.
Иначе бы не надо было его править.

ну бывают же ситуации, когда логику нужно поменять, либо дополнить.
...
Рейтинг: 0 / 0
Чтение чужого кода.
    #38787948
mr_virtus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,

авторЯ при работе с "унаследованным" кодом в начале либо узнаю ТЗ, что нужно сделать, либо пытаюсь понять, что код должен делать, без чтения кода.
А потом уже "смотрю" в код.
Делаю "предположения" и проверяю их в отладчике.

интересная мысль, спасибо.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Чтение чужого кода.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]