把事情简单化

不要过度复杂的简单任务。大多数时候你只需要:

  • 代数数据类型
  • 结构递归
  • monad-like api(mapflatMapfold

Scala 中有很多复杂的东西,例如:

  • Cake patternReader Monad 用于依赖注入。
  • 传递任意值作为 implicit 参数。

对于新手来说,这些事情并不清楚:在理解之前避免使用它们。在没有实际需要的情况下使用高级概念会混淆代码,使其难以维护。