tgoop.com/code_and_travel/139
Last Update:
Как разобраться в чужом коде?
На прошлой неделе я редактировала функционал системы, с которой не работала ранее. Написанный код показался запутанным и непонятным, и мне пришлось выявить для себя ряд принципов, чтобы быстрее разобраться с ним. Этим я и поделюсь сегодня с вами.
1. Используйте быстрый переход к функции (по-английски «jump to function»). Вы видите код, состоящий из 10 функций, которых нет в вашем файле. Чтобы разобраться, что делает каждая из них, нажимаете Ctrl (Command на Mac) и кликаете по ее названию мышью. Ура: вы оказываетесь внутри функции, не тратя время на то, чтобы найти ее среди всех документов папки.
Единственный нюанс: в Sublime Text 3 такая возможность не поддерживается по умолчанию. Но ее легко прикрутить. Подробнее о том, как это сделать и зачем оно надо, здесь. В Webstorm все работает из коробки.
2. Смотрите на историю изменений файла. Для этой цели используют git и специальную команду git log. С помощью нее легко понять, когда и какие изменения вносились в конкретный файл. Команда git blame покажет, кто конкретно этот коммит сделал. При необходимости познакомьтесь с этим человеком лично. Аналог консольных команд - сайт https://github.com/. Узнать гит подробнее можно здесь.
3. Ищите аналогии на сайте. Обычно проект состоит из схожих разделов. К категории «Студент» у вас будет меньше вопросов, если вы разобрались с тем, как работает функционал «Учителя». Логично предположить, что в каждом разделе своя специфика, но обчно на проекте присутствуют общие паттерны. Поймите досконально один раздел и вам будет гораздо проще со следующими.
4. Анализируйте каждую строку функции. Ставьте console.log или используйте debugger во всех непонятных местах. Таким образом, вы проследите, как меняется значение переменной с течением времени и от чего оно зависит.
5. Анализируйте чужой код. Он не всегда идеален. Порою в нем встречаются неиспользуемые функции, устаревшие комментарии или непредусмотренные ситуации. Уточните еще раз у постановщика задачи, точно ли система сейчас работает ожидаемо, если что-то в текущем поведении программы кажется вам нелогичным. Возможно, что вы обнаружите баг, пропущенный до вас. Не бойтесь его исправлять!
Разобраться в чужом коде не так долго и сложно, если придерживаться этих принципов. Старайтесь экономить время и применять описанные подходы, анализировать максимальное число проектов, и со временем умение понимать чужой код войдет в вашу привычку. Помните, что этот навык - один из самых полезных для программиста.
BY Code&Travel

Share with your friend now:
tgoop.com/code_and_travel/139