Считать все непонятное истинным — вот залог подлинной веры (Тертуллиан).

Методология программирования. Отладка

3 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
14 октября 2018
Методология программирования

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

Ошибки синтаксиса

Синтаксические ошибки – это грамматические ошибки в программе. Каждый язык имеет свой собственный набор правил, таких как создание идентификаторов, написание выражений и т. д. при написании программ. Когда эти правила нарушены, ошибки называются синтаксическими ошибками. Многие современные интегрированные среды разработки могут идентифицировать синтаксические ошибки при вводе вашей программы. Иначе это будет показано при компиляции программы. Возьмем пример из Turbo Pascal 7.0:

Методология программирования. Отладка

 

В этой программе переменная prod не была объявлена,  и генерируется компилятором ошибка.

Семантические ошибки

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

Методология программирования. Отладка

 

Посмотрите на строку 13. Здесь программист хочет проверить, равна ли переменная нулю, чтобы избежать деления на 0. Однако вместо использования оператора сравнения == использовался оператор присваивания =. Теперь каждый раз, когда выполняется выражение «if» будет оцениваться как true, а программа будет выдавать результат как «You cannot divide by 0». Определенно не то, для чего было предназначено!

Логические ошибки не могут быть обнаружены какой-либо программой; они должны быть идентифицированы самим программистом, когда желаемый результат не достигнут.

Ошибки времени выполнения

Ошибки выполнения – это ошибки, возникающие во время выполнения программы. Это означает, что программа не имеет синтаксических ошибок. Некоторые из наиболее распространенных ошибок времени выполнения, с которыми может столкнуться ваша программа:

  • Бесконечный цикл
  • Деление на 0
  • Неверное значение, введенное пользователем (скажем, строка вместо целого)

Оптимизация кода

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

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

Существует два подхода к оптимизации кода:

  • Оптимизация на основе интуиции (IBO). Здесь программист пытается оптимизировать программу на основе ее собственного мастерства и опыта. Это может работать для небольших программ, но с трудом работает, когда сложность программы возрастает.
  • Оптимизация на основе доказательств (EBO). Здесь автоматизированные инструменты используются для определения узких мест производительности, а затем соответствующие части оптимизируются соответствующим образом. Каждый язык программирования имеет свой собственный набор инструментов оптимизации кода. Например, PMD, FindBug и Clover используются для оптимизации кода Java.

Код оптимизирован для времени выполнения и потребления памяти, потому что время мало и память дорогая. Должен быть баланс между ними. Если оптимизация времени увеличивает нагрузку на память или оптимизирует память, код замедляется, цель оптимизации будет потеряна.

Методология программирования. Отладка

 

Оптимизация времени выполнения

Оптимизация кода времени выполнения необходима для обеспечения быстрого обслуживания пользователей. Вот несколько советов по оптимизации времени выполнения:

  • Используйте команды, которые имеют встроенную оптимизацию времени выполнения
  • Используйте переключатель вместо условия
  • Минимизируйте вызовы функций внутри структур цикла
  • Оптимизация структур данных, используемых в программе

Оптимизация памяти

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

  • Используйте команды, которые имеют встроенную оптимизацию памяти
  • Сохраняйте использование переменных, которые необходимо хранить в минимальных регистрах
  • Избегайте объявления глобальных переменных внутри циклов, которые выполняются много раз
  • Избегайте использования интенсивных функций CPU, таких как sqrt()

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 29

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close