复杂而难以理解的面条式代码，细节可参照视为有害及结构化编程。虽然一些版本的BASIC仍要求标註行号，但多半会将GOTO改为更结构化的流程控制指令，如for回圈及while回圈。像是C语言及C++之类的语言仍保留GOTO指令，不过GOTO的目的地已改用标记标示。这类的GOTO指令一般也不建议使用，只建议在少数情形下使用，例如跳出多重回圈：while(1) {freedom:上述的程式可以和以下不使用GOTO的程式比较，以下的程式需在不同位置依done变数值进行判断，相较之下，上述的程式可读性较高。