97-things-every-programmer-should-know-11: 使用领域语言开发

两段代码进行比较:

if (portfolioIdsByTraderId.get(trader.getId())
  .containsKey(portfolio.getId())) {...}

if (trader.canView(portfolio)) {...}

    很明显看第一段代码你需要进行思考,理解代码的意图,而第二段一眼就能看出代码的意图。不需要深度去理解内部的业务逻辑实现。

    从前,我们仅有非常基础的数据结构:二进制位,字节和字符(本质也是字节,我们假装他们是字母和符号),基于十进制的浮点数在二进制中表示困难,所有会分出几种精度浮点型,接着出现了数组和字符串(本质也是数组)。接着出现栈,队列,哈希表,链表,跳表等有用的数据结构。这些数据结构在真实世界是不存在的。“计算机科学”就是花费巨大的努力实现现实世界和受限数据结构之间的映射。真正的编程大师甚至能清晰的知道是如何一步步做到的。

    接着我们能实现自定义的数据类型。他彻底改变了编程世界。你能使用领域定义逻辑,能通过领域建模他们之间的关系。

    如果不使用领域术语编程,而采用算法片段代替,这对非业务人员非常不利。

    使用领域语言开发意味着其他程序员能更容易的理解代码的意图,而不是试图通过算法片段去理解一个领域。加上良好的封装,业务变化的部分能集中在系统中的同一个地方。

小结

    使用领域语言开发系统,可读性,可维护性都有质的提高。数月之后维护你代码的人会感谢你,而且大概率那个人还是你自己。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值