ОБЗОР 

ОБЗОР 

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

     Следует обратить внимание на самый существенный момент:

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

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

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

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

R.1.1 Обзор

Из книги Справочное руководство по C++ автора Страустрап Бьярн

R.1.1 Обзор Это руководство содержит следующее:1. Введение.2. Соглашения о лексических понятиях.3. Основные понятия.4. Стандартные преобразования.5. Выражения.6. Операторы.7. Описания.8. Описатели.9. Классы.10. Производные классы.11. Контроль доступа к членам.12. Специальные


Обзор XML

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Обзор XML Язык XML предназначен только для работы с данными. Точнее говоря, он предназначен для создания набора сведений, или метаданных, которые описывают данные. Рассмотрим приведенный ниже простой фрагмент кода на языке HTML.<form name="frmMain" action="mypage.aspx" method="POST"> </form>Этот


12.1.1. Обзор

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

12.1.1. Обзор В 2001 году Tk был, наверное, самым популярным графическим интерфейсом для Ruby. Он был первым и долгое время входил в состав стандартного дистрибутива Ruby. Сейчас он, пожалуй, не так распространен, но все еще широко применяется.Кто-то скажет, что Tk уже устарел. Те, кому


12.2.1. Обзор

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

12.2.1. Обзор Ruby/GTK2 — это библиотека, позволяющая приложениям, написанным на языке Ruby, обращаться к средствам библиотеки GTK+ 2.x. GTK+ распространяется в исходных текстах на условиях лицензии GNU LGPL, поэтому может бесплатно использоваться в коммерческих приложениях.Как и в


12.4.1. Обзор

Из книги Компьютерная обработка звука автора Загуменнов Александр Петрович

12.4.1. Обзор Привязки QtRuby — результат работы многих людей, прежде всего Ричарда Дейла (Richard Dale). Эшли Уинтерс (Ashley Winters), Жермен Гаран (Germain Garand) и Давид Форе (David Faure) написали большую часть инструмента генерации кода привязки (он называется SMOKE). Другие отправляли отчеты о


25.1. Обзор

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

25.1. Обзор qdbm предлагает несколько различных API-интерфейсов. Самый основной из них, Depot, является низкоуровневым API, который мы и рассмотрим в этой главе. Интерфейс Curia позволяет разбивать базу данных на несколько файлов (для повышения масштабируемости или с целью работы в


Обзор

Из книги Как тестируют в Google автора Уиттакер Джеймс

Обзор Модули фирмы Twelve Tone Systems, Inc.Пакет DirectX-эффектов Cakewalk Audio FX1 оперирует при обработке звука 32-разрядными числами с плавающей точкой и включает в себя четыре модуля динамической обработки сигнала: компрессор/гейт, экспандер/гейт, лимитер и отдельный процессор


11.1. Обзор

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

11.1. Обзор Демонстрационная программа является частью пакета мониторинга Linux-системы и предоставляет следующие возможности.? Программа реализует минимально необходимые функции Web-сервера. Локальные и удаленные клиенты получают доступ к системной информации, запрашивая


Обзор тем

Из книги Секреты приложений Google автора Балуев Денис

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


31.2. Обзор

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

31.2. Обзор Потоки обеспечивают двустороннее соединение между процессом и драйвером, как показано на рис. 31.1. Хотя нижний блок на этом рисунке мы и называем драйвером, его не следует ассоциировать с каким-либо аппаратным устройством, поскольку это может быть и драйвер


Обзор

Из книги автора

Обзор Солидный набор встроенных опций совершенно не мешает Таблицам оставаться простыми и понятными, давая пользователям возможность начать работу с данными без каких-либо знаний об особенностях системы. Выбирая команду «Новый – Таблица» в основном экране Документов


Обзор

Из книги автора

Обзор Первое, что видит пользователь, зашедший по очевидному адресу http://calendar.google.com, – предложение ввести базовую информацию о себе: имя пользователя, которое будут видеть участники ваших публичных календарей (о них чуть позже), а также ваш основной часовой пояс. Ввели?


Обзор

Из книги автора

Обзор В самом деле – почему Reader? Дело в том, что адекватного перевода для этого английского слова так и не нашлось. Читатель? Чтец? Все не то! В итоге было принято решение оставить название без перевода, а русские пользователи уже привыкли к незнакомому термину «Ридер».С


Обзор

Из книги автора

Обзор Сервис под названием «Сайты» позволяет любому желающему, не обладающему даже начальными знаниями о премудростях языка разметки HTML, не говоря уже о более продвинутых технологиях и языках вроде PHP, Python или Java, самостоятельно создавать отлично выглядящие и


UCK: обзор

Из книги автора

UCK: обзор Программа UCK в виде одноимённого пакета имеется в официальном репозитории, и потому может быть установлена любым из стандартных способов. После этого в секции Администрирование главного меню Cinnamon появляется пункт, который, как ни странно, называется Ubuntu Customization