Этапы работа: написание, отладка, прогон

Создание класса на практике, то есть в виду файла, на компьютере, состоит из трех этапов.

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

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

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

Второй этап – отладка написанного кода. В профессиональных терминах этот этап называется компилированием. На этом этапе программа-редактор, в которой пишется класс, обращается к механизмам языка Java и проверяет правильность кода с точки зрения правил языка.

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

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

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

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

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

Еще один важный момент: именно при первой компиляции происходит запись текста класса (кодов) в файл – и именно здесь следует обращать внимание на необходимость соблюдать правило "имя класса=имя файла".

Третий этап – прогон класса, его исполнение. На этом этапе главной сложностью является выявление ошибок в логике программы (программа вычисляет разность чисел вместо вычисления суммы), которые не являются ошибками с точки зрения правил языка Java. Строго говоря, именно этот этап и есть самый главный и самый сложный в работе с классом, потому что выявить логические ошибки ("все работает – но результаты не соответствуют тому, что должно быть") всегда чрезвычайно сложно.

Именно на этом этапе важно "выловить" наиболее сложные логические ошибки, то есть те, которые возникают только при определенном наборе значений, а иногда и вообще при одном единственном значении. Ведь правильный класс – это такой, который правильно работает всегда.

Например, в ситуации, когда класс на вводимые положительные числа реагирует сообщением Это положительное значение, а на отрицательные – сообщением Это отрицательное значение, важно проверить, как класс реагирует на значение 0!

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

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

· какие данные следует использовать, чтобы проверить все(!) варианты работы класса;

· какие результаты должен давать класс (в частности, в виде вывода информации разного рода и вида на экран) в качестве реакции на эти данные;

· какими способами и инструментами следует воспользоваться для проверки результатов работы класса;

· какие инструменты следует задействовать на промежуточных этапах – а затем убрать из класса…

Очень важно представлять, причем с полной точностью, как должен работать класс – особенно еще до того, как вы начнете писать коды.

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: