스파게티 코드

프로그램의 소스 코드가 그것을 제작한 프로그래머 이외의 사람에게 있어서 해독 곤란한 것을 나타내는 속어

스파게티 코드(spaghetti code)는 컴퓨터 프로그램의 소스 코드가 복잡하게 얽힌 모습을 스파게티의 면발에 비유한 표현이다. 스파게티 코드는 정상적으로 작동하지만, 사람이 코드를 읽으면서 그 코드의 작동을 파악하기는 어렵다.

스파게티 면발

스파게티 코드는 GOTO 문을 지나치게 많이 사용하거나, 프로그램을 구조적으로 만들지 않는 경우에 만들어지기 쉽다.

예제

편집

다음의 두 베이직 코드는 같은 작동을 한다.

 10 DIM i
 20 i = 0
 30 i = i + 1
 40 IF i <> 10 THEN GOTO 90
 50 IF i = 10 THEN GOTO 70
 60 GOTO 30
 70 PRINT "Program Completed."
 80 END
 90 PRINT i; " squared = "; i * i
 100 GOTO 30
 10 DIM i
 20 FOR i = 1 TO 9
 30     PRINT i; " squared = "; i * i
 40 NEXT
 50 PRINT "Program Completed."

이때 앞쪽의 GOTO 문을 사용한 코드에 비해 뒤쪽의 코드는 for 문을 사용했고, 작동 방식이 더 직관적이다.

같이 보기

편집