提高代码质量的一个法则

六条线法则:应简化包含 6 条以上信息的一行代码。

六条线法则原理

  • 长期记忆 (LTM):存储信息以供长期检索,例如关键字、句法以及常用的成语和模式。
  • 短期记忆 (STM):存储用于短期检索(少于 30 秒!)的新信息,例如变量名称和特殊值。
  • 工作记忆 (WM):处理来自 LTM 和 STM 的信息以得出结论并获得新知识。

STM 和 WM 都很小。两者一次只能存储大约 4 到 6 件东西(这里引用维基百科)!超载它们,你就有了混乱的秘诀。

这是python的一个例子,它会让你明白具体的实践用法

map(lambda x: x.split('=')[1], s.split('?')[1].split('&')[-3:])

有时候,我们在写代码的时候,会为了处理某件事,使用连续的函数和调用方法,堆在一行上,就像上面的那一行代码一样。这看起来似乎很帅的处理了一些事情对不对

但是!这一行代码的每个部分都占用 STMWM 中的空间。而且这一行总共干了 十件事!你的大脑跟不上!

如果我在改别人代码时候,遇到这种代码,我唯一所想的,就是 鲨了他,
想鲨了他

那么,优化的方式~ 优雅的方式~:

将他们分开,拆分开。

url_query_string = s.split('?')[1]
query_params = url_query_string.split('&')[-3:]
map(lambda x: x.split('=')[1], query_params)

这样每一条线,也就是每一行代码上 处理的事情 不超过六件事来占用大脑STM与WM中的空间,随后,你的代码会变得十分容易理解,你的代码也不会被后续开发者感到头疼

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值