스파게티 코드

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

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

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