Сообщения с тегом ‘string’
Организация интерфейса (II)
Написано admin в 20 Июнь 2008 – 21:56 -Организация интерфейса (II)
Обработчики событий устроены достаточно просто – они вызывают соответствующий метод, передавая ему нужные аргументы в нужном порядке. Рассмотрим метод, переносящий множество отобранных пользователем элементов из одного списка в другой: Read more »
Tags: AddInheritedForm, Debug, dll, DoubleClick, InterfacesAndDrawing, Picker, string, Studio
Находится в Учебник | No Comments »
Отладка
Написано admin в 20 Июнь 2008 – 21:52 -Отладка
Что должно делать для создания корректного и устойчивого программного продукта? Как минимум, необходимо:
- создать надежный код, корректность которого предусматривается с самого начала;
- отладить этот код;
- предусмотреть в нем обработку исключительных ситуаций.
Создание надежного кода
Большинство вопросов, затрагиваемых в этой лекции, в том числе и проблемы создания надежного кода, заслуживают отдельного и глубокого рассмотрения. К сожалению, придется ограничиться лишь высказыванием ряда тезисов.
Для повышения надежности нужно уменьшить сложность системы, и главное в этом процессе – это повторное использование. В идеале большая часть системы должна быть собрана из уже готовых компонентов. Объектная технология проектирования вносит свой вклад в повышение надежности кода. Наследование и универсализация позволяют, не изменяя уже существующие классы, создать новые классы, новые типы данных, придающие проектируемой системе новые свойства при минимальных добавлениях нового кода. Статический контроль типов позволяет выявить многие ошибки еще на этапе компиляции. Динамическое связывание и полиморфизм позволяют автоматически включать объекты классов-потомков в уже существующие схемы работы – методы родителя могут вызывать методы потомков, ничего не зная о появлении этих новых потомков. Автоматическая сборка мусора позволяет снять с разработчика обязанности управления освобождением памяти и предотвратить появление крайне неприятных и опасных ошибок, связанных с некорректным удалением объектов.
Крайне важную роль в создании надежного кода играют спецификации методов класса, класса в целом, системы классов. Спецификации являются частью документации, встроенной в проект, и вообще важной его частью. Их существование облегчает не только создание корректного кода, соответствующего спецификации, но и создание системы тестов, проверяющих корректность кода. Нужно сказать, что существуют специальные инструментальные средства, поддерживающие автоматическое создание тестов на основе спецификаций. Незаменима роль спецификаций на этапе сопровождения и повторного использования компонентов. Невозможно повторно использовать компонент, если у него нет ясной и полной спецификации. Read more »
Tags: COMPLEX, ComplexMethod, DebugPrint, DefaultTraceListener, InMethod, PrintExit, PrintObject, PubMethod, string, TextWriter, ToString, TraceListenerCollection, virtual
Находится в Учебник | No Comments »
Проектирование класса Rational
Написано admin в 20 Июнь 2008 – 21:28 -Проектирование класса Rational
В заключение этой лекции займемся проектированием класса Rational, описывающего известный в математике тип данных – рациональные числа. По ходу проектирования будут вводиться новые детали, связанные с описанием класса. Начнем проектирование, как обычно, с задания тега <summary>, описывающего назначение класса, его свойства и поведение. Вот этот текст: Read more »
Tags: Abs, Console, Minus, Mult, operator, param, Plus, PrintRational, return, string, summary, TestCreateRational, Testing, TestOperRational, TestPlusRational
Находится в Учебник | No Comments »
