본문으로 이동

스파게티 코드

위키백과, 우리 모두의 백과사전.

스파게티 면발

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

같이 보기[편집]