2009-07-27 91 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會被認爲是編程的烤寬麪條方法,但它聽起來很愚蠢,我絕不會使用它。此外,如果你告訴胖程序員他寫了千層麪應用程序,你冒犯了這個可憐的人。

    它也可以指由意大利人編寫的代碼,我猜想:)

    相關問題