章节摘要:会写语言与会交付项目之间隔着构建、测试与生态选型三道工序。本章把 sbt 的构建模型、两大测试框架的实操、以及生态选型的判断框架一次讲完——这是把前七章能力落进生产的"下撤装备"。
金句:构建工具决定项目的"新陈代谢"速度,测试框架决定重构的胆量,生态选型决定三年后的去留。
三节是交付流水线的三段:8.1 把代码变成可运行物,8.2 保证改动不破坏语义,8.3 决定往流水线里装哪些别人的成果。全书在此收口——从 1.1 的第一个 REPL 回显,到能独立评估一个 Scala 技术方案。
[sbt 构建] -> [测试护航] -> [生态选型] | 路线终点:可以独立承接 Scala 项目
前置:全书各章(测试样例会用到 Option、Future、类型类等全部装备)。延伸:到社区仓库读开源库源码,是这条路线之后的自主攀登段。
从山脚到山脚走完一圈,用最后一份清单检验装备是否真正上身:
// 一段综合了八章能力的收尾代码 val report: Either[String, String] = readings .groupBy(_.day).view.mapValues(_.map(_.asCelsius).sum / 24) // 第四章集合 .toList.sortBy(-_._2).headOption // 最热一天 .toRight("无数据") // 第三章 Either .map(d => f"峰值日 $d%d,告警已投递") // 第五章类型安全
一行链路里集合操作、Option/Either、格式化各司其职——能不查资料读懂并改写它,本次攀登就算毕业。之后的路在工程里:把模块交给 sbt 管、把行为交给测试锁、把依赖按选型纪律引入,形成正循环。
第八章的每个工具都对应着前面某段岩壁的保障:sbt 的增量编译让你敢在类型系统里大改(第五章),测试夹具把第三章的纯函数变成可回归资产,选型纪律决定了第六、七章学到的并发与互操作能力落在哪个运行时上。工具不是攀登之外的事,它决定你爬过的路能不能被别人接着走——这正是"下撤路线"四个字的含义:把自己攀过的路线修成步道。
收官还差最后一格:把你这八周敲过的所有代码归档成一个仓库,配上 README 写清每章对应目录——两个月后回头看,那份仓库就是你对"类型系统攀岩路线"最好的复盘材料,也是下一座山峰的出发营地。欢迎回来看。
最后再叮嘱一句工具修养:本地跑通的命令写进 README,团队约定写进构建文件而不是聊天记录——让工程本身成为文档,是下撤阶段真正要修成的步道质量,也是这份文集最后想留给你的话。