#目的
実は簡単にOSSにContributionsできるんだよって事を書いてみました。
#先に結果から
playframeworkに対して、Contributionsしちゃいました♪
https://github.com/playframework/playframework/pull/6783
framework/src/play-server/src/main/scala/play/core/server/ProdServerStart.scala
- if (!(httpPort orElse httpsPort).isDefined) throw ServerStartException("Must provide either an HTTP or HTTPS port")
+ if ((httpPort orElse httpsPort).isEmpty) throw ServerStartException("Must provide either an HTTP or HTTPS port")
framework/src/play-server/src/main/scala/play/core/server/ServerConfig.scala
- if (!port.isDefined && !sslPort.isDefined) throw new IllegalArgumentException("Must provide either an HTTP port or an HTTPS port")
+ if (port.isEmpty && sslPort.isEmpty) throw new IllegalArgumentException("Must provide either an HTTP port or an HTTPS port")
!(isDefined)になっている所を、isEmptyに変えただけですww
コードの意味が分からなくても、等価である事だけ分かっていれば十分ですよね♪
#Contributionsチャンスの見つけ方
さて、ここからが本題です。
どうやってスマートに(簡略化)できる所や、バッドノウハウな書き方を見つけるかですよね??
見つけてしまえば、後はプルリク送って完了です♪
##IntelliJに頼る
IntelliJのショートカットを覚えまくりましょう。
http://qiita.com/suisuina/items/2bedd2ac3fd16d820871
便利な機能が満載です!!!
バッドノウハウな書き方の場所を見つける方法ですが、
おかしな書き方がされているところでは、IntelliJ様が赤色で警告を示してくれます。
それを見つけたらチャンス!!!該当箇所で、「Alt + Enter」を押してみましょう。
警告・問題の解決策を表示してくれますので、それに従えば修正できちゃいます♪
##静的チェックツールを使ってみよう
http://qiita.com/ocadaruma/items/28cbfa3fda3681bc2550
にあるような静的解析ツールを使用しますと、山のように警告が出てきます。
それらのうちで、自分が直せそうな警告を修正していきますと、コードへの理解も深まり、Contributionsチャンスも見つかり、いい勉強方法だと思っています。
##勉強会に参加したりして、情報収集を頑張る
初心者のうちは、ガンガン勉強会に参加して、ギークの方々に色々教えてもらいましょう!
質問の仕方は気をつけましょうね!!
http://qiita.com/seki_uk/items/4001423b3cd3db0dada7
実は私のContributionsも、勉強会で得た情報をパクって使用して、実行してみましたww
#まとめ
意外と簡単にContributionsチャンスを見つけられるんだよって事を記載させて頂きました。
他にもこんな方法でContributionsチャンスは見つけられるんだよって方法がありましたら、是非ご教示頂けますと、幸いでございます!!!
当方、scala歴3ヶ月の初心者なので、間違いありましたら、ガンガン鉞投げてください優しくご教示ください。