

最近、コップ本を読み進めて後半戦にさしかかろうかと思っているところなのですが、その後の展開を考えていまして、なにかちょっとした規模のプロダクトのコードを読んだ方がいいかと考えています。恐らく、規模が大きい物はSpark当たりでは無いかとは思っていますが、CLI前提で、小・中規模でおすすめのプロダクトは無いでしょうか？


CC BY-SA 3.0
2015-02-23T07:11:39.870
6955
2015-02-24T08:36:34.403
3508
question
scala
Scalaで小・中規模のCodeReadingしておいた方がいいプロダクト


個人的に、[n8han](https://github.com/n8han) (と NY系の仲間たち)
が書いたコードはコードがきれいにまとまっててセンスがあると思います。HTTP のためのライブラリ [dispatch
reboot](https://github.com/dispatch/reboot) とかどうでしょう。

CLI縛りで考えると、json parsing のための [sjson](https://github.com/debasishg/sjson)
などがあります。実用的には json4s (と jawn) などを使いますが、読む素材としては確か sjson
が型クラスを使った例になってるはず。型クラスというパターンに影響を受けた実装になってるのが、拙著のコマンドライン・オプションの
[scopt](https://github.com/scopt/scopt)（とそれに関して書いた [scopt
3.0](http://eed3si9n.com/ja/scopt3)）とか [repatch-
twitter](https://github.com/eed3si9n/repatch-twitter) ([Dispatch
プラグインの書き方](http://eed3si9n.com/ja/howto-write-a-dispatch-plugin)) などです。

twitter
つながりでいくと、twitter社は[いくつもライブラリを公開している](https://github.com/twitter)ので、興味があるものを眺めてみるのもいいかもしれません。

他に CLI と言うとログのための [Scala Logging](https://github.com/typesafehub/scala-
logging) とか。

中規模か大規模かの区別が不明ですが、読めるようになっておくと役立つのは[標準ライブラリのコード](https://github.com/scala/scala/tree/v2.11.5/src/library)と[Reflection
API](https://github.com/scala/scala/tree/v2.11.5/src/reflect/scala/reflect)及び[コンパイラの実装のコード](https://github.com/scala/scala/tree/v2.11.5/src/compiler)です。


CC BY-SA 3.0
2015-02-24T08:36:34.403
7020
2015-02-24T08:36:34.403
3913
6955
answer