ExpandoObject(动态)我最好的朋友还是我最新的敌人?

WeN*_*ers 2 c#

是的我知道它不应该被滥用,并且C#主要用作静态语言.但是,如果你可以只是弄脏一些代码,在python风格中,或者创建一些动态的hicky,那么认真的人,不是吗?

花了一段时间喜欢蟒蛇的动力,我的脑子正在加班加点,c#是通过后门走向黑暗的一面吗?

静态类型的参数是否有明显的加法?

当我们都是成年人时,减少单位测试的论点有点愚蠢吗?

或者,动力学的增加破坏了强静态类型和精心设计的语言?

And*_*are 6

C#已经扩展到包括动态类型的某些方面,是的,但这并不意味着静态类型已经死亡.它只是意味着C#添加了一些工具,允许所有说服的开发人员以多种不同的方式解决各种问题.

我有一个类型系统的概念比另一个更"好"的问题.这就像说锤子比螺丝刀好.如果不了解手头任务的背景,就不可能做出决定!对于某些问题和情况,动态类型优于静态类型,反之亦然.该方法的优越性完全取决于手头的问题.

因此,坚持使用我的工具类比,最好有一个包含锤子和螺丝刀的工具箱,并知道如何有效地使用它们.这将使您成为更好的开发人员,因为您将最有能力解决您遇到的任何问题.C#的新动态类型添加只是通过在单个方便的包中提供这些工具来帮助您.


gra*_*bot 6

当我开始使用类型推断时,我失去了使用动态类型的愿望.

  • 就"打击类型系统"而言,我认为很多人在初次开始时都有这种体验,但是一旦你习惯了它,类型检查器就会成为你最好的朋友.我很希望F#支持结构类型和OCaml一样容易. (5认同)