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

Семантические ошибки в коде программы

FavoriteДобавить в избранное

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ошибки программирования

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

Попытка компиляции приведённого кода:

Будет сообщено о четырёх ошибках, но в действительности программа содержит две ошибки:

Поскольку одна ошибка часто будет приводить к показу множества ошибок компиляции в разных строках, хорошей практикой является исправление ошибок начиная с верхней строки и постепенно двигаясь вниз. Исправление ошибок, которые ранее возникли в программе, может также исправить дополнительные ошибки, которые произошли позже.

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

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

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

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

3. Логические ошибки

Логические ошибки происходят, когда программа неправильно выполняет то, для чего она была создана. Ошибки этого рода возникают по многим различным причинам. Допустим, вы написали программу, которая конвертирует 35 градусов Цельсия в градусы Фаренгейта следующим образом:

Вы получите 67 градусов по Фаренгейту, что является неверным. Должно быть 95.0. В Java целочисленное деление показывает только часть – дробная часть отсекается, по этой причине в Java 9 / 5 это 1. Для получения правильного результата, нужно использовать 9.0 / 5, что даст результат 1.8.

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

4. Распространённые ошибки

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

Частые ошибки 1: Пропущенные фигурные скобки

Фигурные скобки используются для обозначения в программе блоков. Каждой открывающей фигурной скобке должна соответствовать закрывающая фигурная скобка. Распространённая ошибка – это пропуск закрывающей фигурной скобки. Чтобы избежать эту ошибки, печатайте закрывающую фигурную скобку всякий раз, когда печатаете открывающую фигурную скобку как показано в следующем примере:

Если вы используете IDE такую как NetBeans и Eclipse, то IDE автоматически вставит закрывающую фигурную скобку каждой введённой вами открывающей фигурной скобки.

Частые ошибки 2: Пропуск точки с запятой

Каждая инструкция заканчивается ограничителем инструкции (;). Часто новые программисты забывают поместить ограничитель инструкции для последней инструкции в блоке как это показано в следующем примере:

Частые ошибки 3: Пропуск кавычки

Строки должны помещаться в кавычки. Часто начинающие программисты забывают поместить кавычку в конце строки как показано в следующем примере:

Если вы используете IDE, такую как NetBeans и Eclipse, то IDE автоматически вставит закрывающую кавычку каждый раз, когда вы ввели открывающую кавычку.

Частые ошибки 4: Неправильное написание имён

Java чувствительная к регистру. Неправильное написание имён – частая ошибка для новых программистов. Например, пишут слово main как Main, а вместо String пишут string. Пример:

Источники:

https://andreyex. ru/metodologiya-programmirovaniya/metodologiya-programmirovaniya-otladka/

https://java9.ru/?p=108

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: