k4200’s notes and thoughts

Programmer side of k4200

コードを晒してフィードバックを得よう

Scala勉強会に参加してます

去年の9月からScala勉強会に参加しています。勉強会に参加しようと思ったキッカケは、アプレンティスシップパターンという本を読んだことです。その辺の経緯に関しては以前@IT書いたので興味のある方はそちらをどうぞ。

アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得 (THEORY/IN/PRACTICE)

アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得 (THEORY/IN/PRACTICE)

さて、諸事情によりScala勉強会は前回から秋葉原で開催となっています。場所が変わったせいか初参加の人が結構多く、新鮮な感じで個人的には良かったと感じています。

無知を晒してフィードバックを得る

また、会場を提供して下さる事になった株式会社シェアリングス様の中の人(玉置さん)が、発表までしてくれました。普段はRubyを使っていてScalaは始めたばっかりだそうです。ご存知の通りScalaJavaとの親和性が高いため、Scalaプログラムの多くはJavaのバックグラウンドを持つ人のようなので、Rubyistからの視点というのは参考になるのではないかと思います。

前述のアプレンティスシップパターンには「無知を晒す」とかそんな感じの名前のパターンがあります。その名の通り、分からないことは分からないことでどんどん表に出して、フィードバックをもらって成長しよう、というような話なのですが、今回の玉置さんの発表でも彼は「つっこみ歓迎」みたいな事を仰ってましたが、その他の人もどんどん発表して欲しいと思ってます。

コードの晒し方

公開ソースコードレポジトリに上げればOK。私個人的には、特に大した理由はなくBazaarを使っていたのでLaunchpadを少しだけ使っていたのですが、Scala勉強会に来ている方は殆どGithubを使っているようなので、最近はGithubしか使っていません。どれを使えばいいか迷っている方はとりあえずGithubがいいのではないかと。

Githubでのフィードバックの仕方(初心者向け)

さて、誰かが晒したコードを見て「ちょっと直してみよう!」と思った時に、どうすればいいのかを簡単に説明(先ほどの玉置さんのコードを例にさせてもらいます)。

コードのクローンをローカルに持ってくる。

git clone https://github.com/qtamaki/ryutsu.git

コードを修正して、コミット(この時点ではローカルのレポジトリにコミットするだけ)。

git add src/main/scala/Foo.scala
git commit

Githubで「Fork」する。プロジェクトのページの右上の方のボタンを押せばOK。この時点で、元の作者にはメール通知が行く。

ローカルのレポジトリをフォーク先のレポジトリにpushする。

git remote add myfork git@github.com:k4200/ryutsu.git
git push

で、後は元の作者に「フォークして、こんな変更したから、もし良かったらそっちにマージして」って通知する。これはPull requestというらしい。やり方はフォーク先のプロジェクトの右上の方の「Pull request」のボタンを押す。

とまぁこんな感じで、みんなコードをどんどん晒して、他の人はどんどんフィードバックをしてみるといいと思いますよ。