意大利面条代码
给编辑的信
CROSSTALK,《国防软件工程杂志》
在《Crosstalk》(1992 年 4/5 月刊)中提到“一堆意大利面条代码”(“计算机集体”)引发了这篇回应
几乎每位软件专业人士都听说过“意大利面条代码”这个词,它是一种贬义的说法,用来形容复杂、难以理解且无法维护的软件。但是,许多人可能不知道完整的软件意面理论的另外两个要素。
千层面代码用于描述具有简单、易懂和分层结构的软件。千层面代码虽然结构化,但不幸的是它是单片的,不易修改。尝试概念性地更改一层通常在实际操作中非常困难。
理想的软件结构是具有小型且松散耦合的组件;这种理想的结构称为馄饨代码。在馄饨代码中,每个组件或对象都是一个软件包,其中包含系统的一些肉或其他营养;可以修改或替换任何组件,而不会显着影响其他组件。
我们需要超越对意大利面条代码的谴责,积极鼓励馄饨代码。
Raymond J. Rubey
SoftTech, Inc.
这篇由 Luca Nanetti 贡献
- 纯 Java 代码:zuppa di fagioli 代码(意大利语,意为“豆汤”);
- 带有 HTML、XML 等的 Internet 应用程序,加上 Java 内容:pasta e fagioli 代码(意大利语,意为“带意大利面块的豆汤”);
- 不良的 OOP 编程—几个巨大且极其复杂的对象:canederli 代码(两个大煮面包丸子,鸡蛋、牛奶和肉;非常好吃!)
- 不良的 OOP 编程—一堆混乱的,非常非常小的对象相互作用:risotto 代码(米饭);
- 单片、非面向对象、非过程化、非结构化的代码,但却如此精彩、如此出色、如此辉煌,以至于它像一个又大又亮的黄色太阳一样闪耀:polenta 代码。
免责声明
这个笑话是从自由软件基金会的 GNU 项目电子邮件档案中获得的。自由软件基金会不对其主张版权。