2009-07-27 90 views
4

根据维基百科,这个词最初是由一位数据库专家Joe Celko在1982年提出的,下面是his 1997 article的一段引文,揭示他的意思:“标准的[结构化编程]解决方案是用嵌套的IF- THEN-ELSE语句和开关的层次如此之深,并且有很多冗余,所以您的控制路径看起来像一盘烤宽面条,而不是。术语“千层面代码”对你来说意味着什么?

The same Wikipedia entry然而,定义了术语不同,显然指的是多层次的应用:“......不同的子系统,如... Web应用程序代码,业务逻辑和关系数据库。”随着程序员开发新的方法和体系结构,这个术语的含义已经发展。

我能想到的“烤宽面条代码”两个现代化的定义:这是过度的,过度设计或微不足道的(明显)的软件应用程序缺乏单元的

  • 层的软件应用程序的

    1. 层测试与适当的隔离。开发人员只通过一次切片并消耗多个图层来测试系统。

    这个词显然意味着批评(很像你可以批评我的东西称为“意大利面代码”)。但是这对你意味着什么以及何时使用它?

  • +7

    社区wiki? – 2009-07-27 12:51:19

    +1

    但是,在一个不错的烤宽面条的所有层都很好吃...:p – DeadHead 2009-07-27 12:56:15

    +3

    哈哈,我爱你的解释#2; +1一次品尝多层烤宽面条。 :-) – molf 2009-07-27 13:00:33

    回答

    0

    我以前从来没有听说过烤宽面条代码,但首先想到的是“意大利面代码”。我的猜测是其中的一部分,但大部分是一个有凝聚力的单位。不是一个意大利面代码不好,但不够好,不会被叫出来。

    6

    太多的GOTO ==面条代码

    太多的IF-THEN-ELSE /开关==宽面条代码

    :)

    +2

    过度使用管道 - Penne代码 – 2009-07-27 16:13:23

    +2

    过度穿线 - Capellini代码:) – 2009-07-27 16:14:05

    +2

    过度使用Spring Framework - Fusilli代码 – 2009-07-27 16:17:09

    2

    Spaghetti code参考维基百科has this to say

    千层面代码是一种程序结构,其特征在于几个明确定义和可分离的层,其中每层代码通过定义良好的接口访问以下各层的服务。
    该术语与意大利面代码比较,将程序结构与面食进行比较。

    类比从烤宽面条,的板的层状结构的茎
    其中不同的成分(肉,酱,蔬菜或奶酪)各由面食的条带分离。

    1

    一个精心制作的烤宽面条,我老婆的那种,是很好的分层和整齐,而另一方面面条是一个纠结的混乱得一塌糊涂,所以我会认为后者是一种侮辱,而前者将只是描述在孤立层中开发的代码的一种方式。我想MVC会被认为是编程的烤宽面条方法,但它听起来很愚蠢,我绝不会使用它。此外,如果你告诉胖程序员他写了千层面应用程序,你冒犯了这个可怜的人。

    它也可以指由意大利人编写的代码,我猜想:)

    相关问题