
前面第 114 篇讲的是函数式思维的"不可变 + 纯函数 + 副作用边界",这一节落到一条最具体也最容易被 code review 挑出来的编码纪律上:卫语句(guard clause)与早返回。它的价值不在语法,而在于把"正常路径"和"异常路径"在视觉上分开,从而降低嵌套深度与认知负担。先把结论放在前面:卫语句的本质是把不满足前提的情况尽早处理掉,让剩下的代码不必再考虑它。Kotlin 提供了三件套让它写起来自然:?.与let做空值卫语句、?:(Elvis)做默认值/早返回、require/check/error做显式契约。判据很简单——当一个函数里出现第三层以上的嵌套时,通常说明该改成早返回了。机制背后的执行路径先看"嵌套地狱"与"早返回"在同一段逻辑上的差别:// 嵌套版:正常路径被埋在最深处 fun submit(name: String, phone: String, code: String?) { if (name.isNotBlank()) { if (phone.length = 6) { if (code != null) { if (code.length == 6) { api.submit(name, phone, code)