Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
64ヶ月オンプレ運用したシステムを aws移行した話
Next
Download to read offline and view in fullscreen.

0

Share

Download to read offline

プロダクトにおけるScala

Download to read offline

Scalaとsansyoの話

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

プロダクトにおけるScala

  1. 1. プロダクトでどうやって SCALAと付き合っていく か CYBERZ INC. YUTO SUZUKI
  2. 2. 自己紹介 Yuto Suzuki Server Side Engineer Twitter: @moc_yuto GitHub: moc-yuto
  3. 3. Scala好きですか?
  4. 4. Scala使ってますか?
  5. 5. 私は好きです!
  6. 6. でも好きってだけで、 プロダクトで好き勝手やると大変で す。
  7. 7. プロダクト=ビジネス
  8. 8. ビジネス的な観点での Scala
  9. 9. プロダクトにおける コードでの大事なこと
  10. 10. コードを いかに速く理解できるか?
  11. 11. コードが速く理解できる 引き継ぎが速い ロジックの変更がわかりやすい 読みやすい 保守性も結果上がる
  12. 12. 理解しやすくするコード Scala編
  13. 13. レビューポイントを紹介 レビュー時に指摘すること、気にしていることを 紹介 →レビューポイントと命名 レビューポイント =自分が実装しているときに気をつけていること
  14. 14. レビュー時によく見るところ すぐOptionに逃げてないか? mapとかの入れ子が深くないか? 疎結合かどうか
  15. 15. Optionに逃げる ロジックとしてOptionが入り得ないのに、 とりあえずidOptなどのOptionで引数を受けてしまう
  16. 16. Optionが入ると一段ロジックが複雑に。 用法用量を守って使いましょう。
  17. 17. mapの入れ子深くない? 入れ子が深いと何をやってるかよくわからなくなる
  18. 18. mapの入れ子深くない? 入れ子が深いと何をやってるかよくわからなくなる なるべくmap内にはブロック式はいれない
  19. 19. 入れ子を減らして関数に !
  20. 20. 入れ子を減らして関数に ! getNameを定義して 処理を分離する。 mapを1階層にしてあげることで 見通しをよくする。
  21. 21. 入れ子を減らして関数に ! mapを1階層にしてあげることで 見通しをよくする。 できるならmap{} ではなくmap() getNameを定義して 処理を分離する。
  22. 22. 疎結合?? if での分岐は対象以外を除いているだけ
  23. 23. 疎結合?? if での分岐は対象以外を除いているだけ ブロック化しよう
  24. 24. 一つの中でやることを減らす
  25. 25. 一つの中でやることを減らす withFilterなら、 複数並べてもループ回数は増えない
  26. 26. ちょっとした操作に使える メソッドがない
  27. 27. 作りました
  28. 28. sansyo https://github.com/moc-yuto/sansyo
  29. 29. sansyo 由来:「山椒は小粒でもぴりりと辛い」 背景 毎度メソッド定義するには面倒。 けど、なんだかんだ使うものを集めた
  30. 30. emptyOrElse
  31. 31. プルリクお待ちしてます !
  32. 32. ありがとうございました 。

Scalaとsansyoの話

Views

Total views

682

On Slideshare

0

From embeds

0

Number of embeds

64

Actions

Downloads

4

Shares

0

Comments

0

Likes

0

×