Урок №3. Введение в разработку программного обеспечения



Книга Урок №3. Введение в разработку программного обеспечения

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

План создания программного обеспечения (ПО):

Шаг №1: Определите проблему, которую хотели бы решить

Это первый этап - "Что?". На данном этапе необходимо определить цель вашей программы. Это может быть как простая, так и сложная задача. Главное - четко сформулировать свою идею. Только после этого можно переходить к следующему этапу.

Ниже представлены несколько примеров выполнения первого шага:

Шаг №2: Определитесь, как вы собираетесь решить эту проблему

Здесь мы рассматриваем вопрос "Как?". Как можно найти решение для проблемы, описанной на первом этапе? Этот этап часто пропускается при разработке программного обеспечения. Главное понять, что существует множество способов решения задачи, но не все из них являются оптимальными. Важно научиться отличать хорошие решения от плохих. Часто бывает, что программист получает идею и сразу же приступает к программированию. Однако, как правило, такой подход не приводит к желаемым результатам.

Обычно, качественные решения обладают следующими признаками:

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

Согласно принципу Парето, программист использует около 20% времени на создание программы и 80% на отладку или улучшение кода. Поэтому целесообразнее потратить больше времени на планирование решения проблемы перед началом написания кода, чем затем тратить 80% времени на поиск и исправление ошибок.

Шаг №3: Напишите программу

Для создания программы требуется обладать двумя ключевыми навыками:

Для написания программы можно воспользоваться любым текстовым редактором, даже таким как Блокнот в операционной системе Windows или Vi в Unix. Однако, я настоятельно рекомендую использовать специализированный редактор, предназначенный именно для программирования. Если у вас его еще нет, не стоит беспокоиться. На следующем занятии мы рассмотрим процесс установки подобного приложения.

Характерные черты редактора обычного программиста обычно включают в себя следующие особенности, которые упрощают процесс программирования:

Для обозначения программ на C++ рекомендуется применять формат name.cpp, где name заменяется на название вашего проекта. Расширение .cpp указывает компилятору (и вам), что это исходный файл с кодом на языке C++. Стоит отметить, что некоторые разработчики предпочитают использовать .cc вместо .cpp, однако я советую придерживаться .cpp.

Также стоит отметить, что множество программ, разработанных на языке C++, могут быть разделены на несколько файлов .cpp . Хотя большинство программ, которые вы будете создавать в рамках этих уроков, не будут очень объемными, в будущем вы освоите создание программ, включающих десятки, а то и сотни отдельных файлов .cpp .

Шаг №4: Компиляция

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

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

Происходит преобразование каждого исходного файла с кодом в объектный файл на машинном языке, который также можно назвать "объектным модулем". Обычно объектные файлы имеют расширения name.o или name.obj, где name совпадает с именем исходного файла .cpp. Если ваша программа состоит из трех файлов .cpp, то компилятор создаст три объектных файла.

Важно отметить, что в операционных системах Linux и macOS уже есть встроенный компилятор C++, который называется g++. Для компиляции файлов из командной строки с использованием g++ необходимо выполнить следующие действия:

Компиляция файлов file1.cpp, file2.cpp и file3.cpp с помощью g++

Путем этого действия мы сформируем file1.o, file2.o и file3.o. Опция -c подразумевает "только компиляцию", то есть просто создание .o (объектных) файлов. Помимо g++, существует ряд компиляторов для различных операционных систем, таких как Linux, Windows, macOS и другие.

Шаг №5: Линкинг (связывание объектных файлов)

Линковка - это процесс объединения всех объектных файлов, созданных компилятором, в одну исполняемую программу, которую вы сможете запустить. Этот процесс выполняется с помощью специальной программы, известной как линкер (или "компоновщик").

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

Когда компоновщик завершит процесс линковки всех объектных файлов без ошибок, вы получите исполняемый файл. Для наглядности, чтобы связать .o файлы, созданные ранее в операционных системах Linux или macOS, можно снова воспользоваться командой g++:

g++ -o prog file1.o file2.o file3.o

Команда -o в g++ указывает на необходимость создания исполняемого файла с именем prog из файлов file1.o, file2.o и file3.o. Если нужно, можно объединить компиляцию и линковку в один шаг:

g++ -o prog file1.cpp file2.cpp file3.cpp

После завершения процесса создания будет получен исполняемый файл под названием "prog".

Шаг №6: Тестирование и отладка

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

Обратите внимание, для выполнения шагов с №3 по №6 вам потребуется специализированное программное обеспечение. Хотя можно воспользоваться отдельными программами на каждом из этих этапов, существует один пакет программного обеспечения (IDE, что расшифровывается как Integrated Development Environment), который объединяет все необходимые инструменты. Обычно в IDE включен редактор кода с нумерацией строк и подсветкой синтаксиса, а также компилятор и линкер. При необходимости отладки программы, в IDE имеется встроенный отладчик. Кроме того, IDE предоставляет и другие полезные функции, такие как комплексная помощь, автодополнение кода и в некоторых случаях система контроля версий.

158   0  

Comments

    Ничего не найдено.