跳转到内容

Eiffel 编程/未实现特性

来自 Wikibooks,开放的书籍,开放的世界

Eiffel 未实现特性 — 你在语言中不会看到的

[编辑 | 编辑源代码]

Goto,break 或等价语句

[编辑 | 编辑源代码]

自从结构化编程出现以来,goto 就被认为是邪恶的,但许多编程语言都支持它。 Eiffel 则不支持。该语言旨在维护单入口/单出口原则。

有些人认为这是一种严重的低效率,并会不懈地努力证明一些用 goto 可以更快实现的神秘算法,或者它需要更少的变量或更少的代码行。其他人则认为这严重限制了他们的编写风格。

然而,单入口/单出口原则有两个明显的优势。首先,它鼓励程序员清晰地思考实现过程。在其他语言中,如果你发现自己陷入多重嵌套循环的深处,你会用 goto 退出。在 Eiffel 中,你必须重新思考代码的结构,这通常会让最终的程序受益。

其次,源代码的阅读频率远高于编写频率。没有 goto 语句可以更容易地理解实现过程。在内部循环中没有隐藏的巧妙技巧可以跳到任意位置。

全局变量

[编辑 | 编辑源代码]
    State shared via the once statement
       Allows precise control over sharing data

驼峰命名法

[编辑 | 编辑源代码]


下划线_符号_表示法_更易于阅读
对比
驼峰命名法可能看起来很聪明

大小写敏感

[编辑 | 编辑源代码]
    True = true = TRUE

重载名称

[编辑 | 编辑源代码]

重载名称,也称为运算符重载,会给人类程序员和源代码阅读者带来歧义,在某些情况下,也会给编译器带来歧义。 Eiffel 通过不实现它来避免这种错误来源。

华夏公益教科书