我并不真正使用动态/脚本语言。所以我不知道缺点,好的部分等。在与某人交谈时,他提到python可以隐含地将对象转换为你想要的但是甚至不尝试。
人们似乎喜欢python。那么动态语言中的隐式转换是不是很糟糕?这不好吗? (他想要)动态语言中隐式转换的优点和缺点是什么?
答案 0 :(得分:2)
优点:
缺点:
false
的习惯。如果strpos($a, $b)
返回0,则在$ a的开头找到$ b; false
表示根本找不到它。但隐式转换使0和false
比较相等。 (幸运的是,PHP有===
运算符来缓解这种情况。)答案 1 :(得分:0)
我喜欢在用例方面看到这一点;所以我的答案是,它真的取决于你想做什么
如果你正在编写一个Web应用程序,那么这将帮助你编写更干净的代码(代码没有很多函数和方法调用只转换类型),向下是它可能会产生一些神秘的错误,并在这种情况下(Web应用程序)写更清晰,更易理解的代码有助于降低开发和更改的成本,因此可以忽略修复这些潜在错误的成本。
但是,例如,如果您正在为安全关键硬件(例如航天飞机)编写固件,任何潜在的错误都可能耗费数百万美元以及数年和数年的时间和精力,因此在这种情况下,忍受痛苦是适当的。编写一些转换函数和方法来保护项目的整个目的。