延續昨天的goto,今天要講一種你一直用goto就有可能出現的產物:spaghetti code
(義大利麵好ㄘ)
什麼是spaghetti code
一種好ㄘ的code(並不是)
我們前幾天講到了goto,那個酷酷的傳送門
傳送們會把大家到處傳來傳去,code跑起來就常常不照順序,下一秒跑到哪ㄚ找不到 這樣
用了太多 goto 而亂七八糟的 code 就是 spaghetti code
所以在使用上,這種 code會建議加編號,例如危機的示範:
10 i = 0
20 i = i + 1
30 PRINT i; " squared = "; i * i
40 IF i >= 10 THEN GOTO 60
50 GOTO 20
60 PRINT "Program Completed."
70 END
在goto後面接的就是第60行,而不會是某個你不知道該往哪找的名字。
這樣看起來雖然義大利麵,但會好ㄘ一點,不會在你面前打結。
那除了goto,其他如exception等也可能造就出義大利麵codeㄛ
註:其實我一直不知道義大利麵為什麼比其他麵貴這麼多
雖然拉麵更貴但我把他歸類在文化因素(?