첫 번째 C++ 프로그램을 작성하고 실행하기 전에 C++ 프로그램이 어떻게 개발 되는지 더 자세히 이해해야 합니다. 다음은 단순한 접근 방식을 설명하는 그래픽입니다.
Step 1: 해결 하고자하는 문제에 대한 정의 (Define the problem that you would like to solve)
이것은 "무엇" 단계로, 해결하려는 문제가 무엇인지 파악합니다. 프로그래밍하고 싶은 것에 대한 초기 아이디어를 떠올리는 것이 가장 쉬운 단계일 수도 있고 가장 어려운 단계일 수도 있습니다. 그러나 개념적으로 가장 간단합니다. 필요한 것은 잘 정의될 수 있는 아이디어 이며 다음 단계를 위한 준비가 된 것입니다.
다음은 몇 가지 예입니다.
- "많은 숫자를 입력한 다음 평균을 계산할 수 있는 프로그램을 작성하고 싶습니다."
- "저는 2D 미로를 생성하고 사용자가 미로를 탐색할 수 있도록 하는 프로그램을 작성하고 싶습니다. 사용자가 끝까지 도달하면 승리합니다."
- "저는 주가 파일을 읽고 주가가 오를지 내릴 지 예측하는 프로그램을 작성하고 싶습니다."
Step 2: 문제를 어떻게 해결할 것인가 결정 (Determine how you are going to solve the problem)
이것은 1단계에서 제기한 문제를 어떻게 해결할 것인지 결정하는 "방법" 단계입니다. 소프트웨어 개발에서 가장 간과되는 단계이기도 합니다. 문제의 핵심은 문제를 해결하는 방법에는 여러 가지가 있다는 것입니다. 그러나 이러한 솔루션 중 일부는 좋고 일부는 좋지 않습니다. 너무 자주 프로그래머는 아이디어를 얻고 자리에 앉아 즉시 솔루션 코딩을 시작합니다. 이것은 종종 나쁜 범주에 속하는 솔루션을 생성합니다.
일반적으로 좋은 솔루션에는 다음과 같은 특성이 있습니다.
- 그것들은 직관적입니다(지나치게 복잡하거나 혼란스럽지 않음).
- 그것들은 잘 문서화되어 있습니다(특히 가정이나 제한 사항에 대해).
- 모듈식으로 제작되어 프로그램의 다른 부분에 영향을 주지 않고 나중에 부품을 재사용 하거나 변경할 수 있습니다.
- 강력하고 예기치 않은 일이 발생했을 때 복구하거나 유용한 오류 메시지를 제공할 수 있습니다.
앉아서 바로 코딩을 시작하면 일반적으로 "<무언가>를 하고 싶다"고 생각 하므로 가장 빠르게 도달할 수 있는 솔루션을 구현합니다. 이로 인해 취약하거나 나중에 변경하거나 확장하기 어렵거나 버그가 많은 프로그램(기술적 결함)이 발생할 수 있습니다.
여담으로… 버그라는 용어는 1870년대에 Thomas Edison에 의해 처음 사용되었습니다! 그러나 이 용어는 1940년대 엔지니어들이 초기 컴퓨터의 하드웨어에 실제 나방이 끼어 합선을 일으키는 것을 발견하면서 대중화되었습니다. 오류가 보고된 일지와 나방은 현재 스미소니언 미국 역사 박물관의 일부입니다. 여기에서 볼 수 있습니다. |
연구에 따르면 프로그래머의 시간 중 실제로 초기 프로그램을 작성하는 데 소요되는 시간은 20%에 불과합니다. 나머지 80%는 디버깅(버그 제거), 환경 변화에 대처하기 위한 업데이트(예: 새 OS 버전에서 실행), 향상(사용성 또는 기능 향상을 위한 사소한 변경)으로 구성될 수 있는 유지 관리에 사용됩니다. 내부 개선(신뢰성 또는 유지보수성을 높이기 위해).
따라서 코딩을 시작하기 전에 문제를 해결하는 가장 좋은 방법, 어떤 가정을 하고 있는지, 자신을 구하기 위해 미래를 계획하는 방법에 대해 미리 생각하는 데 많은 시간과 어려움을 줄이기 위해서 약간의 추가 시간을 할애할 가치가 있습니다.
문제에 대한 솔루션을 효과적으로 설계하는 방법에 대해서는 다음 수업에서 더 자세히 이야기할 것입니다.
Step 3: 프로그램 작성 (Write the program)
프로그램을 작성하려면 두 가지가 필요합니다. 첫째, 프로그래밍 언어에 대한 지식이 필요합니다. 이것이 이 튜토리얼의 목적입니다! 둘째, 작성된 프로그램을 작성하고 저장하려면 텍스트 편집기가 필요합니다. 우리가 C++ 명령어를 사용하여 작성하는 프로그램을 소스 코드(종종 단순히 코드로 줄임)라고 합니다. 원하는 텍스트 편집기를 사용하여 프로그램을 작성할 수 있습니다. Windows의 메모장이나 Unix의 vi 또는 pico처럼 간단한 것까지도 가능합니다. 그러나 프로그래밍용으로 설계된 편집기(코드 편집기라고 함)를 사용하는 것이 좋습니다. 아직 없으시더라도 걱정하지 마세요. 곧 코드 편집기를 설치하는 방법을 다룰 것입니다.
코딩용으로 설계된 일반적인 편집기에는 다음을 포함하여 프로그래밍을 훨씬 쉽게 만드는 몇 가지 기능이 있습니다.
1. 줄 번호 매기기. 줄 번호 매기기는 컴파일러가 오류를 제공할 때 유용합니다. 일반적인 컴파일러 오류는 다음과 같습니다. 일부 오류 코드/메시지, 줄 64. 줄 번호를 표시하는 편집기가 없으면 줄 64를 찾는 것이 정말 번거로울 수 있습니다.
2. 구문 강조 및 채색. 구문 강조 및 색상 지정은 프로그램의 다양한 구성 요소를 더 쉽게 식별할 수 있도록 프로그램의 다양한 부분의 색상을 변경합니다. 다음은 줄 번호 매기기와 구문 강조 표시가 있는 C++ 프로그램의 예입니다.
#include <iostream>
int main()
{
std::cout << "Colored text!";
return 0;
}
이 자습서에서 보여 주는 예제에는 더 쉽게 따를 수 있도록 항상 줄 번호 매기기와 구문 강조 표시가 둘 다 있습니다.
3. 모호하지 않은 글꼴입니다. 프로그래밍되지 않은 글꼴은 종종 숫자 0과 문자 O, 또는 숫자 1, 문자 l(소문자 L) 및 문자 I(대문자 i)을 구별하기 어렵게 만듭니다. 좋은 프로그래밍 글꼴은 이러한 기호를 시각적으로 구분하여 한 기호가 다른 기호 대신 실수로 사용되지 않도록 합니다. 모든 코드 편집기는 기본적으로 이 기능을 활성화해야 하지만 표준 텍스트 편집기는 그렇지 않을 수 있습니다.
당신이 작성하는 프로그램은 일반적으로 이름이 something.cpp이며, 여기서 무언가는 프로그램에 대해 선택한 이름(예: 계산기, hi-lo 등)으로 대체됩니다. .cpp 확장자는 이것이 C++ 명령어를 포함하는 C++ 소스 코드 파일이라는 것을 컴파일러와 사용자에게 알려줍니다. 일부 사람들은 .cpp 대신 .cc 확장자를 사용하지만 .cpp를 사용하는 것이 좋습니다.
모범 사례 (Best Practice) 코드 파일의 이름을 something.cpp로 지정합니다. 여기서 something은 사용자가 선택한 이름이고 .cpp는 파일이 C++ 소스 파일임을 나타내는 확장자입니다. |
또한 많은 복잡한 C++ 프로그램에는 여러 .cpp 파일이 있습니다. 처음에 만들 대부분의 프로그램에는 단일 .cpp 파일만 있지만 수십 또는 수백 개의 .cpp 파일이 있는 단일 프로그램을 작성할 수도 있습니다.
프로그램을 작성하고 나면 다음 단계는 소스 코드를 실행할 수 있는 것으로 변환한 다음 작동하는지 확인하는 것입니다! 다음 강의에서 이러한 단계(4-7)에 대해 논의할 것입니다.
reference : https://www.learncpp.com/cpp-tutorial/introduction-to-cpp-development/
'C++ (learncpp) > Introduction - Getting Started' 카테고리의 다른 글
0.6 — Installing an Integrated Development Environment (IDE) (0) | 2021.10.19 |
---|---|
0.5 — Introduction to the compiler, linker, and libraries (0) | 2021.10.18 |
0.3 — Introduction to C/C++ (0) | 2021.10.16 |
0.2 — Introduction to programming languages (0) | 2021.10.15 |
0.1 — Introduction to these tutorials (0) | 2021.10.15 |