스파게티 코드

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
스파게티 면발

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

스파게티 코드는 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 문을 사용했고, 작동 방식이 더 직관적이다.