Eiffel 编程/未实现特性
外观
自从结构化编程出现以来,goto 就被认为是邪恶的,但许多编程语言都支持它。 Eiffel 则不支持。该语言旨在维护单入口/单出口原则。
有些人认为这是一种严重的低效率,并会不懈地努力证明一些用 goto 可以更快实现的神秘算法,或者它需要更少的变量或更少的代码行。其他人则认为这严重限制了他们的编写风格。
然而,单入口/单出口原则有两个明显的优势。首先,它鼓励程序员清晰地思考实现过程。在其他语言中,如果你发现自己陷入多重嵌套循环的深处,你会用 goto 退出。在 Eiffel 中,你必须重新思考代码的结构,这通常会让最终的程序受益。
其次,源代码的阅读频率远高于编写频率。没有 goto 语句可以更容易地理解实现过程。在内部循环中没有隐藏的巧妙技巧可以跳到任意位置。
State shared via the once statement Allows precise control over sharing data
下划线_符号_表示法_更易于阅读
对比
驼峰命名法可能看起来很聪明
True = true = TRUE
重载名称,也称为运算符重载,会给人类程序员和源代码阅读者带来歧义,在某些情况下,也会给编译器带来歧义。 Eiffel 通过不实现它来避免这种错误来源。