세 정수를 입력받아 과목별 학생별 반별 총점을 출력하는 구조화된 프로그램을 작성해야하는데
구조화된 프로그램이 도대체 뭐임? 그냥 코딩하는 거랑 뭐가 다른거지?
일단 책에는 main에 로직없이 함수로 도배하고(성적 입력함수 성적 출력함수 성적에서 평균구하는 함수) 구조화된 프로그램은 깔끔하고 디버깅도 쉽다. 이러던데
함수 많으면 디버깅 힘들어지고 코드읽기도 개빡치는데 왜 함수가 많으면 디버깅이 쉬워지거 버그잡기가 쉽다는 거?
일단 함수 떡칠로 해결해서 제출함. 근데 찝찝함이 안 사라진다.
아니 대체 구조화된 프로그램이 뭔데?
그냥 성적을 구하는 기능 등은 main에서 처리하지말고 특정 함수를 만들라고 명확하게 말하면 안됨?
int main() {
do() /* 대충 모든 일을 처리해주는 함수 */
}
이런 식으로 짜면 깔끔한 코드임?
구조화된 프로그램이 도대체 뭐임? 그냥 코딩하는 거랑 뭐가 다른거지?
일단 책에는 main에 로직없이 함수로 도배하고(성적 입력함수 성적 출력함수 성적에서 평균구하는 함수) 구조화된 프로그램은 깔끔하고 디버깅도 쉽다. 이러던데
함수 많으면 디버깅 힘들어지고 코드읽기도 개빡치는데 왜 함수가 많으면 디버깅이 쉬워지거 버그잡기가 쉽다는 거?
일단 함수 떡칠로 해결해서 제출함. 근데 찝찝함이 안 사라진다.
아니 대체 구조화된 프로그램이 뭔데?
그냥 성적을 구하는 기능 등은 main에서 처리하지말고 특정 함수를 만들라고 명확하게 말하면 안됨?
int main() {
do() /* 대충 모든 일을 처리해주는 함수 */
}
이런 식으로 짜면 깔끔한 코드임?
미안합니다
https://ko.wikipedia.org/wiki/%EA%B5%AC%EC%A1%B0%EC%A0%81_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D
함수가 많으면 재사용성도 높아지고 무결성이 검증된 함수는 굳이 고칠 필요가 없어지고 유지보수하기 편해짐
ㅇㅇㅇ 그건 나도 암. 근데 중복코드가 아닌데 왜 함수를 씀? 예를 들어 n길이의 값을 받아서 배열에 저장할 때 이걸 왜 함수로 만듬. 이 짓을 여러번 해야하면 함수로 만드는 게 맞지만 딱 한 번만 하고 말거라면 main에 로직짜고 끝 아님?
저걸 예를 들어 굳이 성적표 입력 & 성적표 출력으로 함수로 나누면(어차피 2번이상 호출 안되므로 의미 없음.) 구조적인가? 근데 또 배열을 함수의 매개변수로 넘기는 것도 안배움. 알아서 쓰면 되지만. 기껏 내가 볼때 겹치는 부분은 반별, 학생별, 과목별에서 for문 겹치는 것만 함수로 빼는 것 밖에 안 보임. 그래서 이렇게 하면 구조적 프로그램?
프로그램이 간단하면 크게 의미가 없어보이긴 하겠지 그냥 생활체조하는 느낌으로 연습시키는거라고 보셈