Warning: mkdir(): No space left on device in /var/www/tgoop/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/code_and_travel/--): Failed to open stream: No such file or directory in /var/www/tgoop/post.php on line 50
Code&Travel@code_and_travel P.139
CODE_AND_TRAVEL Telegram 139
Как разобраться в чужом коде?

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

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. Анализируйте чужой код. Он не всегда идеален. Порою в нем встречаются неиспользуемые функции, устаревшие комментарии или непредусмотренные ситуации. Уточните еще раз у постановщика задачи, точно ли система сейчас работает ожидаемо, если что-то в текущем поведении программы кажется вам нелогичным. Возможно, что вы обнаружите баг, пропущенный до вас. Не бойтесь его исправлять!

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



tgoop.com/code_and_travel/139
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

Click “Save” ; The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar. Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. How to create a business channel on Telegram? (Tutorial)
from us


Telegram Code&Travel
FROM American