Отладка в два раза тяжелее, чем написание кода в первую очередь. Поэтому, если вы пишете код как можно более умно, вы, по определению, недостаточно умны, чтобы отлаживать его.
Контроль сложности является сущностью компьютерного программирования.
Наиболее эффективным инструментом отладки все еще является осторожность, в сочетании с разумно размещенными печатными заявлениями.
Делайте то, что, по вашему мнению, интересно, делайте то, что, по вашему мнению, это весело и стоит, потому что в противном случае вы все равно не сделаете это хорошо.
90% предоставленной функциональности сейчас лучше, чем 100%, никогда не поставляя.
C-это бритвенный инструмент, с помощью которого можно создать элегантную и эффективную программу или кровавый беспорядок.
Еще одна эффективная [отладка] методика - объяснить ваш код кому -то другому. Это часто заставит вас объяснить ошибку себе. Иногда это требует не более нескольких предложений, за которым следует смущенная «не говоря уже о том, что неважно, я вижу, что случилось. Извините, что беспокоит вас». Это работает удивительно хорошо; Вы даже можете использовать не программистов в качестве слушателей. Один университетский компьютерный центр держал плюшевого мишка рядом с службой поддержки. Студенты с таинственными ошибками должны были объяснить их медведю, прежде чем они могли поговорить с человеческим консультантом.
Верь местности, а не карте
Не документируйте плохой код - переписывайте его.
... Это фундаментальный принцип тестирования, который вы должны знать заранее, ответ каждый тест должен производить. Если вы этого не сделаете, вы не тестируете; Вы экспериментируете.
Механические правила никогда не являются заменой ясности мысли.
Каждый новый пользователь новой системы раскрывает новый класс ошибок.
Эффективный способ тестирования кода - использовать его на естественных границах
Если вы делали что -то дважды, вы, вероятно, сделаете это снова.
Если вы настолько умны, насколько вы можете быть, когда пишете это, как вы когда -либо отлаживаете это?
Попытка перехитрить компилятор побеждает большую часть цели использования одного.
Как мы говорили в предисловии к первому изданию, C «хорошо носит свой опыт с ним». С десятилетием большего опыта, мы все еще чувствуем себя так.
Викторина редко влияет на эффективность. Стоит ли все махинации, когда их основной эффект - сделать код менее читаемым?
Получить странность в данные, где вы можете легко манипулировать ими, и регулярность в коде, потому что обычный код намного проще работать с
Некоторые компиляторы разрешают чек во время выполнения, что подписки не превышают размеров массива. Это помощь, но недостаточно. Во -первых, многие программисты не используют такие компиляторы, потому что они не эффективны. (Предположительно, это означает, что жизненно важно быстро получить неправильные ответы.)