스파게티 코드

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

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

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