Как разобраться в чужом коде?

vitrolov

Постоялец
Регистрация
10 Июн 2012
Сообщения
132
Реакции
131
Нужны советы, как разобраться в чужом коде.
Есть чат боты для вайбера и телеги.
Код можно поделить условно на три части, публичные библиотеки, которые подключаются композером. Самописная часть, сделанная с использованием ООП, (контролеры, вьюшки, модели). Админка тоже самопис
Комментариев немного, но все же есть
У меня опыт в части работы с чат ботами не очень большой, вернее даже отсутствует.
Стоит задача понять код и внедрить новый функционал. Какие советы и что вы делаете для понимания чужого кода? Как можно дебажить данный код, ведь все происходит в чате меседжеров? Насколько это реально разобраьтся в проекте, ведь несколько файлов еще зашифровано.
Первым делом думаю пройтись по коду, начиная от индексного файла, далее по цепочке вызовов. Еще вариант создать небольшой вики. Дальше хз, думаю по ходу вникать что и как.
 
Сначала разберись с закодированными файлами. Расшифруй, а потом уже пытайся вникать по любой удобной схеме.
 
Сначала разберись с закодированными файлами. Расшифруй, а потом уже пытайся вникать по любой удобной схеме.
base64 + еще чем-то. Большую часть разобрал, но когда закоментил эти файлы ,все работает. Возможно, разработчики оставили бекдоры, на всякий случай. Но без этих файлов ошибок в работе пока не увидел

на чем написаны?
Это раздел PHP, то логично что все на нем написано.
Просто не знаю, как более ефективно организовать это дело
 
Я начинаю с разбора какой-то конкретной функции. Начиная от index.php и по цепочке.

ведь все происходит в чате меседжеров
Ничего там не происходит. Ты скрипт отправляет скольки список кнопок, после на адрес callback мессенджер отправляет нажатую кнопку, скрипт обрабатывает, другие кнопки/мемасики в ответ шлет
 
Никогда не видал проблем в понимании чужого кода.
На мой взгляд более реалистичной помощь будет если показать код и задавать предметные вопросы по тому, что непонятно.
 
1я проблема, с который я столкнулся, - незнание синтаксиса. Лечится чтением манов - Для просмотра ссылки Войди или Зарегистрируйся
2я вроде и синтаксис понятен, а хз по какому пути идёт выполнение - для облегчения этого процесса есть дебагеры, а для лечения рефакторинг в соответствии с clean code.
 
Всегда разбирал чужой код вручную. Дебагами не пользовался. Если это ООП - то ещё проще, идёшь по нити и всё. Сначала ты цепляешься за функцию, которая тебя заинтересовала, затем по нити смотришь откуда она идёт и куда. Обычно мне этого достаточно.
Иногда вставляю в код закладки в духе "echo('111111');" чтоб знать какие функции задействованы при выполнении.
base64 + еще чем-то. Большую часть разобрал, но когда закоментил эти файлы ,все работает.
Рисковано. Может сломаться в самый неподходящий момент. Лучше всё равно расшифровать.
 
Если разработчик был грамотный и комментировал код, ознакомьтесь с такой штукой, как Для просмотра ссылки Войди или Зарегистрируйся. В целом Вам также поможет хорошая IDE, тот же PHPStorm даст много подсказок. Отладчики/профайлеры помогут просмотреть графики вызовов функций и т.п. Для просмотра ссылки Войди или Зарегистрируйся, Для просмотра ссылки Войди или Зарегистрируйся и так далее.
 
Назад
Сверху