技术开发 频道

不用静态类型函数式编程语言的十大理由

  不想死扣每个细节

  确保所有的类型匹配合适听起来就让我觉得累,事实上,我知道你得被迫去考虑各种可能出现的情况,所有可能的错误,所有别的可能出错的事情。而且你得至始至终去做这些——决不能偷懒也不能推脱到到后面。我更喜欢在一个相对愉快的环境下工作,然后再屁颠屁颠的去修复bug。

  喜欢检查空值

  我十分乐意为每个方法检查空值。那会给我很大的安全感,我知道我的代码运行结果是安全的。

void someMethod(SomeClass x)
{
    
if (x == null) { throw new NullArgumentException(); }

    x.doSomething();
}

  当然我不能总是要在每个地方都要放置检查空值的代码这种事情来打断我。这点我从来没有落到实处。我是仅去处理由NPE造成的灾难,而且即使我是在产品发布之后几个星期后才发现那些问题,对业务也没有影响。所以我不懂为啥这也算是个大问题。

  喜欢用设计模式

  第一次接触到设计模式是在《Design Pattern book》(由于一些原因,被称为“四人帮”,我实在搞不懂),自从那以后我就费劲心机用它来解决各种问题。这确实能使我的代码看起来严谨并且有团队性,给我的boss留下了很深的印象。

  但是我没有丝毫注意在函数设计中的这种模式。如果没有策略、工厂模式、装饰者模式、代理模式等,你怎么能整理好有用的材料。也许函数式编程没有注意到这些!

  它太数学范了

  这儿有更多关于计算平方和的代码。这个方法太难理解了,因为其中都是怪异的符号。

ss=: +/ @: *:

  我不知道为什么写函数的人不能坚持用我已经知道的东西——明白的符号如++和!=以及简单的概念“继承”和“多态”。

0
相关文章