洞察动态语言与静态语言之争
Steve Yegge最近将自己在斯坦福大学关于动态语言的一个发言发表在了博客上。这个发言对动态语言进行了深入的阐述,在博客圈子里也引发了一系列的讨论。Cedric Beust, Ted Neward, Ola Beni和Greg Young分别从不同的角度出发,阐述了他们对动态语言和静态语言之争的观点。
Steve Yegge最近将自己在斯坦福大学关于动态语言的一个发言发表在了博客上。这个发言对动态语言进行了深入的阐述,在博客圈子里也引发了一系列的讨论。Cedric Beust, Ted Neward, Ola Beni和Greg Young分别从不同的角度出发,阐述了他们对动态语言和静态语言之争的观点。
虽然人们明知为了在静态语言中强行实现动态类型检查而采取的各种权宜之计会对代码质量产生负面的影响,但往往仍然认为在复杂项目中动态类型检查是不可避免的。根据Debasish Ghosh所说,静态语言中的一些特性(比如Java泛型)有利于避免运行时类型检查,并有利于充分利用静态类型。
未处理的异常是任何应用程序的克星,特别发生在那些无用户交互的应用程序中的。Red Gate开发了一个产品来检测并警告开发人员这些潜在的问题,但是它确实能达到效果吗?
由FindBugs、PMD、CheckStyle以及IntelliJ IDEA等等提供的静态代码分析(Static code analysis,SCA)工具可以帮助开发团队捕捉到代码中的问题,来保证程序的高质量。但是当SCA工具标记了一个问题之后,团队应该如何作出反应呢?Vikas Hazrati在“静态代码分析仅仅是冰山一角”一文中建议:深入探索。
Ruby世界又增加了一个保证代码质量的新工具:dcov,用来分析Ruby的代码并且分析测定文档的覆盖度。我们联系到dcov项目的开发者Jeremy McAnally来讨论他的计划。
本月上旬,随着Coverity发布了Prevent SQS,Java代码质量/静态分析领域有又多了一位新成员。Prevent SQS是一个代码分析工具,通过分析字节码并建立所有可能的执行路径的内部图谱,来完成跨程序的缺陷分析,发现可能导致运行时异常、安全漏洞、不可预测行为和使性能下降的缺陷。