你说你是专业程序员,那你了解DSL吗?程序员进阶必备专业知识

前言

先看下面这段代码:input =~ /d{ 3} -d{ 3}-d{4}/

你是不是会嘲笑一句,不就是个正则表达式匹配,也许你还知道它匹配的是什么。

正则表达式常常由于过于费解而遭受指责,但试想一下,如果你所能够使用的都是普通的正则控制代码,这段模式匹配会变成什么样子。而这段代码跟正则表达式相比,又是何等容易理解,容易修改?

这就是**DSL(Domain-Specific Language,领域特定语言)**想想前面的那段正则表达式,为什么我要在这里给大家说DSL这个东西,因为他的两大优势

1、DSL的第一个优势是它擅长在程序中的某些特定地方发挥作用,并且让它们容易理解,进而提高编写、维护的速度,也会减少bug。

2、DSL的第二个优势就不仅仅限于程序员的范畴了。因为DSL往往短小易读,所以非程序员也能看懂这些驱动他们重要业务的代码。把这些真实的代码暴露在理解该领域的人们面前,可以确保程序员和客户之间有非常顺畅的沟通渠道。

但是当人们说起DSL的时候,他们常说DSL可以让你不再需要程序员。我对这一论调极度不认同,毕竟那是说COBOL的。不过也确实有些语言是由那些自称不是程序员的人来用的,比如CSS。对这种语言来说,读比写要重要得多。如果一个领域专家可以阅读并且理解核心业务代码中的绝大部分,那他就可以跟写这段代码的程序员进行深入细节的交流。

第二个原因是使用DSL并非易事,不过回报也是相当丰厚的。软件开发中最狭窄的瓶颈就是程序员和客户之间的沟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值