azh*_*lov 4 language-agnostic software-quality
根据维基百科的说法,该术语最初是由数据库专家Joe Celko在1982年创造的,这里引用了他1997年的文章,揭示了他的意思:"标准的[结构化编程]解决方案是用嵌套的IF-THEN取代GOTO -ELSE语句和交换机分层如此之深,冗余太多,你有一个控制路径,看起来像一盘烤宽面条."
然而,相同的维基百科条目定义了不同的术语,明确指的是多层应用程序:"......不同的子系统,例如...... Web应用程序代码,业务逻辑和关系数据库." 因此,随着程序员开发新的方法和体系结构,术语的含义也随之发展.
我可以想到两个"烤宽面条代码"的现代定义:
这个词显然意味着批评(就像你可以通过称之为"意大利面条代码"来批评我的东西).但这对你意味着什么,你什么时候使用它?
太多的GOTO == Spaghetti Code
太多IF-THEN-ELSE/Switch == Lasagna Code
:)