作家
登录

编程语言中的一些邪恶咒语,千万不要用

作者: 来源: 2018-03-15 10:07:22 阅读 我要评论

有奖调研 | 人脸辨认功能在互联网行业认知度情况


-->

下面是我最爱好的、惊奇的、滑稽的并仍然有效的咒语集合。一般来讲,应用这些古怪的行动被视为坏事,因为代码不该该出乎料想。值得光荣的是,如不雅你测验测验以下大年夜多半蠢事,有很多代码校检对象(linters)已经预备好嘲笑你了。说了这么多,常识就是力量,那就开端吧。

Python 2 中对 True 险恶的重赋值

  1. >>> True = False 
  2. >>> True 
  3. False 
  1. Integer a = 100; 
  2. Integer b = 100; 
  3. System.out.print(a == b); // prints true 
  4.   
  5. Integer c = 200; 
  6. Integer d = 200; 
  7. System.out.print(c == d); // prints false 

谢天谢地,这在 Python 3 中会导致 SyntaxError,因为 True、False 和 None 如今是保存字。它仍远没有 C++ 的那个恶作剧那么险恶,把 #define true false 静静写进同事的开辟机械的标准头文件中。

… and>

  • if 0 then print 'thanks, ruby' end # prints thanks, ruby 
  • Java 和 Python 中的诡异行动实例

    对 Java 新手段度榜样员来说,== 的语义往往使仁攀困惑。甚至在眇乎小哉的情境下,这个操作符的前后抵触也会使情况变得复杂,即使机能效益是值得的。

    JVM 会对区间 [-128, 127] 内的值应用雷同的引用。更奇怪的是,Python 中也有同样的行动。

    1. >>> x = 256 
    2. >>> y = 256 
    3. >>> x is y 
    4. True 
    5.   
    6. >>> x = 257 
    7. >>> y = 257 
    8. >>> x is y 
    9. False 

    今朝为止,还没有特别出乎料想的。

    1. >>> x = -5 
    2. >>> y = -5 
    3. >>> x is y 
    4. True 
    5.   
    6. >>> x = -6 
    7. >>> y = -6 
    8. >>> x is y 
    9. False 

    似乎 python 说冥器应用雷同例子的下限是……-5。区间 [-5, 256] 内的┞符数有同样的 ID。不知怎地,这变得更奇怪了。

    1. >>> x = -10 
    2. >>> y = -10 
    3. >>> x is y 
    4. False 
    5. >>> x, y = [-10, -10] 
    6. >>> x is y 
    7. True 

    自负年夜我看了 Gary Bernhardt 备受推许的一个视频 Wat,就惊奇于特定编程说话的怪异行动。相较于其他编程说话来说,某些编程说话的行动更出乎料想。例如,有一整本书是针对 Java 的边沿案例和古怪情况。同样,差不犊旎要 200 美元你就可以浏览 C++ 规范说清楚明了。


      推荐阅读

      10个技巧,让你更专业地使用console进行JS调试

    Tip #3 console.memory 有奖调研 | 人脸辨认功能在互联网行业认知度情况写了这么多的日记之后,你可能想对它们进行组织。一个小而有效的对象是console.group()和console.groupEnd()。应用控制台组,将控>>>详细阅读


    本文标题:编程语言中的一些邪恶咒语,千万不要用

    地址:http://www.17bianji.com/lsqh/40727.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)