SLAP原则——单一抽象层次原则

SLAP

英文:Single Level of Abstraction Principle

中文:单一抽象层次原则

是什么

在编写代码时,我们要将高级别的抽象化概念和低级别抽象化概念分离。

在分离时不能只有高低两层,我们要根据功能的复杂程度对抽象化概念进行分离,然后统一各层的抽象级别。

我们要根据抽象级别对函数进行分割,并且将同一函数中的代码统一为同一个抽象级别。

统一各抽象级别之后,代码就可以像图书一行供人阅读了。

function 高级(){  //1级目录
    中级1();
    中级2();
}
function 中级1(){  //2级目录-1
    低级1();
    低级2();
}
function 低级1(){  //正文内容
    //处理
}
function 低级2(){  //正文内容
    //处理
}
function 中级2(){  //2级目录-2
    低级3();
}
function 低级3(){  //正文内容
    //处理
}

为什么

将代码分割成级别统一的函数,能使代码具有概括性和可读性。也就是说,函数一览起到了目录的作用,从而使代码拥有概括性。分割后的函数是小块的代码,这就是提升了代码的可读性。

代码统一之后,抽象度相同的处理都在同一个地方。于是,代码变得更加顺畅,更容易让人理解。

相反,如果读到一半代码的抽象度突然发生了改变,流畅感会戛然而止。

怎么做

我们要将函数结构化。

将处理转换为意图清晰、由抽象化级别一致的多个步骤组成的函数。

将函数结构化之后,各函数的处理将以调用比自己低一个级别的函数为中心,这种由其他函数调用组成的函数称为复合函数。

复合函数要尽量小,另外不要在复合函数中调用不同抽象级别的函数,也就是说,一个函数中不能既有“连接数据库”这种低级处理,又有“执行业务逻辑”这种高级处理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值