Подтвердить что ты не робот

Как улучшить чтение и понимание кода?

В течение последних 5 или около того лет я работал с совершенно разными проектами и системами. Код для этих проектов значительно отличается по качеству, стилю, размеру. Я видел примеры как: чистые, так и отвратительные 1000-строчные функции и код условий.

Я до сих пор не очень компетентен в чтении кода других людей, понимании внутренних систем и т.д.

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

Позвольте мне ответить на этот вопрос, что многие из вас просто будут пистолетом: вы можете улучшить навыки чтения кода, прочитав код

Существует соответствующая должность для улучшения навыков программирования, которая может быть полезна и подходит к этой должности: Какая самая эффективная вещь, которую вы сделали, чтобы улучшить свои навыки программирования?

4b9b3361

Ответ 1

То, что помогло мне, больше всего на свете, было рефакторинг.

Возьмите проект (это может быть рабочий проект, персональный проект, проект с открытым исходным кодом, что угодно) и начать рефакторинг.

С течением времени, чем больше вы реорганизуете код других людей, тем лучше вы "пойдете в их голову" и поймете, как они думают, хорошо или плохо.

Ответ 2

я лично верю в

"Любой дурак может написать код, который может понять компьютер. Хорошие программисты пишут код, который люди могут понять". -Мартин Фаулер

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

Ответ 3

То, что помогло мне, больше всего на свете, тестировало рефакторинг и. Вы не можете сказать: "Я понимаю этот код", пока вы не знаете, как разбить его с помощью теста.

Ответ 4

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

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

Ответ 5

Помимо простого опыта, ведущего к чтению кода лучше, я предлагаю подключить отладчик к приложению, добавить некоторые точки останова и проанализировать данные по мере прохождения системы. Таким образом, вы ЗНАЕТЕ, что происходит, вместо того, чтобы предполагать (по логике или любым другим способом), что происходит.

Ответ 6

"вы можете улучшить навыки чтения кода, прочитав код"

Правильно.

Какой код читать?

Любой проект с открытым исходным кодом, который обращается к вам. Большинство кодировок с открытым кодом замечательно хороши.

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

Ответ 7

2 вещи в частности

Рефакторинг Когда вы видите код, который омрачает воды вашей IDE, рефакторинг, чтобы он имел смысл, чтобы его было легко читать.

Комментарий Используйте рефакторинг, чтобы разделить "как", но используйте свои комментарии, чтобы показать почему.

Как сказал Стив Макконнелл в Code Complete 2, следуйте процессу программирования Psuedocode (в данном случае после написания кода). Это поможет вам и любым будущим разработчикам прочитать код.

Ответ 8

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

Я начал делать это с помощью чтения кодов Python code.activestate.com по моим любимым темам (математика, алгоритмы и т.д.).

Преимущества:

  • Коды Python более чистые, поэтому вы не расстраиваетесь с первой попытки.
  • Начиная с небольших управляемых вещей (много).
  • Использование инструментов, таких как FREEMIND, чтобы организовать ваши мысли, также помогает.
  • Затем вы можете перейти к более сложным и грязным кодам.

Ответ 9

Я согласен с чтением кода с открытым кодом. Существует книга O'reilly on Beautiful Code - но это отстойно, на мой взгляд. Я бы предложил книги, которые я прочитал, чтобы подготовиться к программированию интервью, и это часто предлагается (все ссылки, которые я установил, это ссылки в Google Книгах:

[Programming Pearls] - хороший (получить более новое издание, хотя понятия одинаковы), [Практика программирования] - еще одна классика.

Это довольно практичные книги с примерами реальных примеров кода

Кроме того, практика написания тестового кода для уже существующих проектов. Это, как правило, помогает вам, заставляя вас быть вынужденным точно понимать, что делает функция. Если результаты не так, как вы ожидали, вы вынуждены думать о том, почему код человека не работает так, как вы ожидали для этих тестов. Просмотр StackOverflow и просмотр того, что говорят люди с высокой репутацией, всегда помогают.