- 구조적 프로그래밍은 프로그램의 가독성과 유지보수성을 향상시키기 위해 프로그램을 함수 또는 모듈로 나눕니다.
- 순차, 선택 및 반복을 사용하고 GOTO를 무분별하게 사용하는 것을 피하십시오.
- 이는 함수와 서브루틴을 통해 모듈화 및 재사용성을 촉진하여 테스트 및 디버깅을 용이하게 합니다.
- 논리적 명확성과 코드 이식성을 위해 하향식 설계와 의사 코드를 적용합니다.
구조적 프로그래밍은 프로그래머가 프로그램을 작성할 때 사용하는 규칙들의 집합으로, " 분할 정복 "이라는 모토를 따릅니다. 프로그램을 함수나 프로시저로 나누어 이해하고 수정하기 쉽게 만듭니다. 또한, 구조적 프로그래밍은 프로그램에 대한 진입점을 하나로 제한함으로써 무한 루프와 같은 흔한 오류를 방지하는 데 도움을 줍니다. 이 글에서는 구조적 프로그래밍이 무엇인지, 어떻게 작동하는지, 그리고 코드 품질을 장기적으로 향상시키는 데 왜 유용한지 살펴보겠습니다.
구조화된 프로그래밍의 특징
구조적 프로그래밍은 순차문, 조건문(if/else), 반복문(for, while)과 같은 제어 구조만을 사용하여 소프트웨어의 명확성, 품질 및 개발 시간을 향상시키는 것을 목표로 하는 프로그래밍 패러다임입니다. 이 접근 방식은 GOTO와 같은 점프문을 무분별하게 사용하는 프로그래밍 방식의 대안으로 제시되었는데, 점프문의 남용은 코드의 가독성과 유지보수성을 저해할 수 있습니다. 구조적 프로그래밍은 논리적이고 명확하게 정의된 제어 흐름을 강조함으로써 오류 발생 가능성이 낮은, 이해하기 쉬운 프로그램을 작성할 수 있도록 합니다.
구조화된 프로그래밍의 주요 특징
- 제어 구조 사용: 세 가지 기본적인 제어 구조 유형이 사용됩니다. 순서형, 선택(결정), 반복(루프)입니다.
- GOTO 사용 제거: 코드에서 제어되지 않는 점프 사용을 방지하여 구조를 더 명확하고 유지 관리하기 쉽게 만듭니다.
- 모듈식 프로그램: 프로그램을 독립적으로 개발하고 테스트할 수 있는 작은 단위나 모듈로 나누는 것을 권장합니다.
- 가독성 및 유지 관리성: 결과 코드는 다음과 같은 이유로 읽고 유지 관리하기가 더 쉽습니다. 구조 명확하고 체계적입니다.
- 서브루틴 및 함수 사용: 특정 작업을 수행하기 위해 서브루틴이나 함수를 사용하는 것이 장려되며, 코드 반복을 피합니다.
- 탑다운 제어 흐름: 프로그램 설계는 복잡한 문제를 더 작고 관리하기 쉬운 문제로 분해하는 상향식 접근 방식을 따릅니다.
- 논리적 명확성에 집중하세요: 프로그램의 논리적 흐름을 명확하게 하는 데 중점을 두어 이해와 디버깅을 용이하게 합니다.
- 의사코드와 흐름도 사용의사코드나 흐름도와 같은 도구는 종종 프로그램 구조를 계획하고 시각화하는 데 사용됩니다.
- 촉진한다 테스트 및 디버깅: 명확하고 모듈화된 구조 덕분에 프로그램의 각 부분을 독립적으로 테스트하고 디버깅하기가 더 쉽습니다.
- 이식성: 이 패러다임에 따라 작성된 프로그램은 더 쉽게 이식할 수 있는데, 그 이유는 명확한 논리적 구조 덕분에 다양한 하드웨어나 운영 환경에 쉽게 적용할 수 있기 때문입니다. 소프트웨어.
구조화된 프로그래밍: 알아야 할 모든 것
구조화된 프로그래밍
구조적 프로그래밍은 프로그래머가 프로그램을 작성하는 데 사용하는 일련의 규칙입니다. 구조적 프로그래밍의 주요 규칙은 "코드는 한 가지 일만 해야 한다"는 것입니다. 즉, 나중에 이해하고 디버깅하기 쉽도록 프로그램을 점프나 분기문으로 작성하면 안 된다는 의미입니다.
프로그래머는 이 도구를 사용하여 프로그램을 더 쉽게 이해하고, 디버깅하고, 수정할 수 있도록 만들 수 있습니다.
구조적 프로그래밍은 프로그래머가 프로그램을 더 쉽게 이해하고, 디버깅하고, 수정할 수 있도록 하는 데 사용할 수 있는 도구입니다.
구조적 프로그래밍은 프로그래머가 프로그램을 더 쉽게 이해하고, 디버깅하고, 수정할 수 있도록 하는 일련의 규칙입니다.
루프와 조건문 같은 제어 구조를 사용하여 모듈성, 일관성, 가독성을 강화하므로 코드를 이해하고 디버깅하기가 더 쉽습니다.
프로그램의 여러 부분(모듈)이 명확하게 분리되므로 코드 수정이 용이해집니다. 즉, 필요한 경우 다른 모듈에 영향을 주지 않고 한 모듈을 쉽게 수정할 수 있으며, 이는 레거시 코드를 리팩토링할 때 특히 유용합니다.
주요 규칙
구조적 프로그래밍의 주요 규칙은 "코드는 한 가지 일을 해야 한다"는 것입니다. 즉, 각 코드 줄은 단일 목적을 가져야 하며, 다른 코드 줄에 의존하지 않고 그 한 가지 일을 수행해야 합니다. 장점은 많습니다.
- 모듈성. 프로그램을 잘 정의된 인터페이스(다른 모듈이 사용하는 부분)를 갖춘 모듈로 나누면, 나머지 시스템에 영향을 주지 않고 해당 모듈을 다른 프로그램에서 재사용하거나 심지어 내부 작동 방식을 변경하는 것이 훨씬 더 쉽습니다. 이렇게 하면 코드베이스의 각 부분 간의 종속성이 적어 시간이 지나도 소프트웨어를 유지 관리하기가 더 쉬워집니다. 만약 당신이 읽기에만 전념할 수 있는 100줄이 있다면 기록 디스크에서 내용을 변경하고 텍스트 파일로 다시 쓴 다음, 같은 100줄을 변경하더라도 다른 부분에는 아무런 영향을 미치지 않습니다. 같은 100줄 내에 다른 부분에도 필요한 변경 사항이 있는 경우는 예외입니다.
- 가독성 및/또는 이해성: 함수가 "true"나 "false"와 같은 값을 반환할 때, 이는 무엇을 의미합니까? 이 함수는 아무것도 반환하지 않나요? "return null;"은 무슨 뜻인가요? 일반적으로 이런 유형의 진술은 상황을 예상보다 더 어렵게 만든다고 말할 수 있습니다. 필요한 어떤 조건은 충족되고 다른 조건은 충족되지 않는 이유를 이해하려고 할 때.
기능 또는 절차.
구조적 프로그래밍에서 코드는 함수 또는 프로시저로 나뉩니다 . 함수는 특정 작업을 수행하고 값을 반환하는 문장들의 집합이며, 다른 함수나 프로시저에서 호출될 수 있습니다. 프로시저는 값을 반환하지 않으며, 다른 프로시저나 함수에서 호출될 수 없습니다.
함수는 재사용 가능한 코드입니다. 다른 곳에서 사용할 때마다 다시 작성하지 않고도 프로그램의 어느 곳에서나 호출할 수 있습니다. 프로시저는 재사용이 불가능하기 때문에 이런 기능을 제공할 수 없습니다. 프로시저를 사용할 때마다 다시 작성해야 합니다!
기본 접근 방식
구조적 프로그래밍의 기본적인 접근 방식은 프로그램을 간단하고 모듈식으로 유지하는 것입니다. 즉, 한 가지 일을 하기 위해 가능한 가장 작은 코드 조각을 만든 다음, 그 작은 조각들을 모아 더 큰 조각으로 만드는 것이 좋습니다.
예를 들어, 두 개의 숫자를 더하는 함수를 작성하고 싶다고 가정해 보겠습니다.
def sumar_numeros(a, b): return a + b
오류를 수정할 수 있습니다
이러한 구조를 사용하면 여러 파일에 걸쳐 오류를 수정하는 대신 한 곳에서 오류를 수정할 수 있습니다. 즉, 버그가 발생했을 때 빠르고 쉽게 수정할 수 있다는 뜻입니다. 또한 , 하나의 기능을 제대로 수행하는 작고 간단한 함수를 만들면 다른 개발자는 물론이고 개발자 자신도 나중에 코드를 유지 관리하기가 더 쉬워지므로 장기적으로 시간을 절약할 수 있습니다.
한 가지 일을 잘 처리하는 작고 간단한 함수를 만들면 코드의 유지 관리가 더 쉽습니다.
구조적 프로그래밍은 모든 코드를 한 가지 일을 잘 처리하는 작고 간단한 함수로 나누어 코드의 복잡성을 최소화하는 코딩 스타일입니다. 예를 들어, 페이지의 버튼을 눌렀을 때 경고 메시지를 표시하는 함수가 있는 경우, "alertButtonClicked()"라는 또 다른 함수를 만들 수 있습니다. 이 함수는 버튼을 누를 때마다 호출됩니다.
이렇게 하면 나중에 다른 프로그래머가 기능을 수정하거나 추가하기 쉽습니다. 변경할 수 있는 곳이 한 군데뿐이고, 변경하더라도 이미 함수에 작성된 내용에 따라서만 제한되기 때문입니다!
구조화된 코드를 작성하는 데 익숙해질 때까지는 한 가지 일을 잘 수행하는 작고 간단한 함수를 만드는 데 집중하세요.
구조적인 코드를 작성하는 법을 배울 때는 , 익숙해질 때까지 하나의 기능을 제대로 수행하는 작고 간단한 함수를 만드는 데 집중하는 것이 가장 좋습니다.
- 하드코딩된 값 대신 상수를 사용하세요. 상수는 값이 절대 변하지 않는 변수이며 프로그램에서 숫자나 문자열 대신 사용할 수 있습니다. 예를 들어:
const MAX_SIZE = 10; // Crea una constante llamada 'MAX_SIZE' con el valor 10 // Puedes usar esta constante de la siguiente manera var number = MAX_SIZE * 2; // number será ahora igual a 20
결론: 구조화된 프로그래밍: 알아야 할 모든 것
구조적 프로그래밍은 프로그래머가 프로그램을 더 쉽게 이해하고, 디버깅하고, 수정할 수 있도록 하는 데 사용할 수 있는 도구입니다. 구조적 프로그래밍의 주요 규칙은 "코드는 한 가지 일만 해야 한다"는 것입니다. 구조적 프로그래밍은 프로그램을 함수나 프로시저로 나눕니다.