Лучшая стратегия исправления ошибок / нахождения ошибок - все языки - PullRequest
1 голос
/ 05 апреля 2009

Я обнаружил во время серфинга некоторых других - гораздо более опытных программистов - что все они имеют разные стратегии в поиске (их) ошибок в (их) коде.

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

Проблема в том, что вещи стремительно растут. Я не могу следовать всем своим 3000 строкам кода и иметь в виду все, включая автоматически сгенерированный код для графического интерфейса. Даже если я разделю фрагменты, это все равно слишком много, чтобы начать все заново и перечитать все.

Мне просто интересно, каковы наиболее распространенные практики, чтобы заставить вещи работать :). Что делать, если вы не понимаете, почему компилятор выдает сообщения об ошибках?

Ответы [ 4 ]

4 голосов
/ 05 апреля 2009

Моя лучшая стратегия - иметь несколько стратегий. Тем не менее, мои лучшие стратегии:

  • Ничего не предполагай. Все, в чем вы уверены, вне всякого сомнения, - камень, под которым могут скрываться ошибки. Если вы никогда не перевернете камни, вы никогда не найдете жуков.
  • Формируйте гипотезы и проверяйте их. Под их проверкой я подразумеваю конкретный эксперимент, который вы можете выполнить, который покажет один результат, если (и только если) ваша гипотеза верна. и что-то другое, если это не так.
  • Один раз в несколько лет проводите выходные, наблюдая за старыми эпизодами Коломбо.
  • Не впадайте в комментарии; доверяйте только коду.
  • Сделай шаги ребенка. Откусывать больше, чем вы можете пережевать, значит, вы задохнетесь.
  • Определите проблему, пока на ней не появится острая бритва. Много раз, это даст вам право решения проблемы. В любом случае у вас мало шансов решить проблему, которую вы не можете определить.
  • Убедитесь, что вы можете воспроизвести проблему. Найдите самый простой случай, который будет воспроизводить его.
  • Найдите ближайший к вам простейший случай сбоя, который работает.
  • Регистрируйте данные, которые будут отвечать на вопросы, а не только заполняют пространство.
3 голосов
/ 05 апреля 2009

Ошибки компилятора - это не ошибки, это ваши друзья. Момент, которого все программисты боятся, - это когда их код компилируется и связывается без ошибок, и им приходится фактически выполнять эту чертову штуку. Именно тогда начинают появляться ошибки.

Ошибки компилятора указывают фактическую строку, в которой происходит ошибка (обычно плюс или минус одна). Они делают это путем анализа синтаксиса, они НЕ анализируют «поток кода» или семантику. Ваша задача как программиста - исправить синтаксис; ошибки живут в семантике, которую можно исследовать только после того, как программа была скомпилирована и запущена.

0 голосов
/ 05 апреля 2009

Разделите ваш код на маленькие значащие части.

Ключ имеет смысл, вы должны быть в состоянии вспомнить, что делает деталь, не читая заново ее код.

0 голосов
/ 05 апреля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...