Отладка: ошибки высокого и низкого уровня - PullRequest
0 голосов
/ 01 ноября 2009

Каково примерное соотношение времени, которое вы обычно тратите на отладку ошибок высокого уровня по сравнению с ошибками низкого уровня?

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

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

Кроме того, для сравнения, какой язык (языки) вы в основном используете и какой тип программирования вы в основном используете?

Ответы [ 3 ]

1 голос
/ 02 ноября 2009

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

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

0 голосов
/ 02 ноября 2009

Если я правильно понимаю ваш вопрос, вы разделяете ошибки на два типа: те, которые вызваны плохой практикой программирования, и те, которые вызваны проблемами в дизайне и спецификации. Если предположить, что мое понимание действительно правильное, я бы сказал, что как разработчик я трачу больше времени на отслеживание ошибок низкого уровня, особенно если их трудно воспроизвести (да, чертовски многопоточная ошибка, которая возникает только в производственной среде, я говорю с вы!). С другой стороны, ошибки на уровне разработки и спецификации обычно вызывают серьезные задержки для проекта, но их проще воспроизвести и найти в коде.

0 голосов
/ 02 ноября 2009

Ошибки низкого уровня обычно исправляются только компилятором. Итак, сначала посмотрите на ошибки высокого уровня, а затем ошибки низкого уровня (если это вообще необходимо). Потому что пытайтесь построить здание и подумайте о том, чтобы сделать крепкие стены на Созданная база совершенно бесполезна.

Смешно, но это правда. Подумай об этом.

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