Идентификация и удаление ошибок из программы или программного обеспечения называется отладкой. Отладка – идеальная часть процесса тестирования, но на самом деле это делается на каждом этапе программирования. Программисты должны отлаживать самый маленький из своих модулей, прежде чем двигаться дальше. Это уменьшает количество ошибок, возникающих на этапе тестирования, и значительно сокращает время тестирования и усилия. Давайте посмотрим на типы ошибок, которые могут возникнуть в программе.
Синтаксические ошибки – это грамматические ошибки в программе. Каждый язык имеет свой собственный набор правил, таких как создание идентификаторов, написание выражений и т. д. при написании программ. Когда эти правила нарушены, ошибки называются синтаксическими ошибками. Многие современные интегрированные среды разработки могут идентифицировать синтаксические ошибки при вводе вашей программы. Иначе это будет показано при компиляции программы. Возьмем пример из Turbo Pascal 7.0:
В этой программе переменная prod не была объявлена, и генерируется компилятором ошибка.
Семантические ошибки также называются логическими ошибками. У оператора нет синтаксических ошибок, поэтому он будет компилироваться и запускаться правильно. Однако он не даст желаемого результата, поскольку неверна логика. Возьмем пример.
Посмотрите на строку 13. Здесь программист хочет проверить, равна ли переменная нулю, чтобы избежать деления на 0. Однако вместо использования оператора сравнения == использовался оператор присваивания =. Теперь каждый раз, когда выполняется выражение «if» будет оцениваться как true, а программа будет выдавать результат как «You cannot divide by 0». Определенно не то, для чего было предназначено!
Логические ошибки не могут быть обнаружены какой-либо программой; они должны быть идентифицированы самим программистом, когда желаемый результат не достигнут.
Ошибки выполнения – это ошибки, возникающие во время выполнения программы. Это означает, что программа не имеет синтаксических ошибок. Некоторые из наиболее распространенных ошибок времени выполнения, с которыми может столкнуться ваша программа:
Любой метод изменения кода для повышения его качества и эффективности называется оптимизацией кода. Качество кода определяет продолжительность жизни кода. Если код может использоваться и поддерживаться в течение длительного периода времени, переносится из продукта в продукт, его качество считается высоким и имеет более длительный срок службы. Напротив, если фрагмент кода можно использовать и поддерживать только для коротких периодов времени, скажем, до тех пор, пока версия не будет действительна, считается, что она имеет низкое качество и имеет короткий срок службы.
Надежность и скорость кода определяют эффективность кода. Эффективность кода является важным фактором обеспечения высокой производительности программного обеспечения.
Существует два подхода к оптимизации кода:
Код оптимизирован для времени выполнения и потребления памяти, потому что время мало и память дорогая. Должен быть баланс между ними. Если оптимизация времени увеличивает нагрузку на память или оптимизирует память, код замедляется, цель оптимизации будет потеряна.
Оптимизация кода времени выполнения необходима для обеспечения быстрого обслуживания пользователей. Вот несколько советов по оптимизации времени выполнения:
Как вы знаете, данные и инструкции потребляют память. Когда мы говорим данные, это также относится к промежуточным данным, которые являются результатом выражений. Нам также необходимо отслеживать, сколько инструкций составляют программу или модуль, который мы пытаемся оптимизировать. Вот несколько советов по оптимизации памяти: