作者丨Joey colon
译者丨核子可乐
策划丨小智
if…else 句子是许多程序员在写代码时最常用的办法之一。你甚至可以看到许多程序员的代码中嵌套着许多 else 句子。可这样,真的好吗?
一篇关于卫句子的有用介绍。
在刚开端触摸编程时,我多期望能有人在我探索着开发第一个网站的过程中,给我共享一点中肯的人生经历……
那会儿我犯下的第一个大过错,就是在编写条件时过度运用 else 关键字。不仅仅我,后来我发现许多开发者朋友都有这个问题,所以我打算在今日的文章里好好聊聊这件事。
免责声明:本文纯粹是我自己的片面感触。
在某些情况下,咱们或许没办法在代码里运用这类办法。有时候,运用 else 关键字确实是最好的解决计划。这些我都供认,本文仅仅想给咱们供给一点关于构建逻辑的新思路。
缩进动摇拳!
卫句子
依据维基百科的介绍,卫句子是对完整性前提条件查看。用于防止在履行期间发作过错。
望之不似人言,下面我就用普通话翻译翻译。咱们首要得先对前提条件(在代码最初)进行完整性查看,这样才干防止主逻辑流程傍边呈现过错。
在抱负的流程中(当验证正确时),咱们期望程序的主逻辑在验证之后才开端运转。
现在让咱们假定自己在运营一个网站,其间包括一个高档购买区域,仅限付费客户在每天夜里 12 点之后拜访。
在实践运用中,咱们或许会回来某种办法的反常。
尽管这是一种条件流计划,但即便其间只包括少数 else 关键字,咱们也很难跟上这样的条件思路。
这还仅仅条件逻辑的一个简略示例。在实践场景傍边,咱们必定遇到过对逻辑极为杂乱的类进行导航的情况。在我看来,这样的编码办法缺少可持续性,咱们应该采纳更好的办法。
运用卫句子,咱们可以遵从以下结构:
使用这套结构,咱们可以重构曾经的代码,详细如下所示:
在卫句子中,咱们通常将布尔表达式反转为咱们想要 assert 的内容。假如咱们期望用户在登录之后才干查看此页面,那么首要就得查看他们是否现已登录。
这种办法完成了相同的精确逻辑流程,但在我看来,这表现出了更为明晰的条件逻辑处理办法。
总结
在编程时,咱们应该一直紧记这样一个问题:“这些代码可以安稳履行至少 6 个月吗?”
就当下来讲,这些代码或许可以很好地解决问题。可是未来呢?在编写代码时不考虑后续需求,显然是种愚笨的行为。
考虑到这一点,我决断抛弃了那些现已修正过许多次的代码,从零开端编写功用。是的,这样才干彻底解决掉技能债款。
恰当运用卫句子,咱们将可以为自己甚至团队的开发效果奠定坚实的根底,从而在未来需求时随时满意种种新增需求。
https://medium.com/better-programming/why-you-need-to-stop-using-else-statements-5b1fd09dea9e
美团外卖日单量超越 3000W,具有近百万骑手数量,是全球最大的即时配送网络。与大多数互联网企业线上事务为主的形式不同,配送体系需求在实际国际中的实在环境和实在场景中“运转”,最大的应战是需求对骑手地点的环境和场景做到实时感知、精确了解和最优决议计划,这也是近几年职业常常说的“数字化”和“智能化”技能。
点个在看少个 bug