give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

昨日Qiitaに投稿した記事は普段のコードレビューの副産物

はじめに: 技術ネタは最近Qiitaに書いています

このブログはもともと「技術系ブログ」としてスタートしました。
イメージとしては「技術的な問題に遭遇してググったら引っかかるようなサイト」です。
普段そういうページによく助けられているので、自分もgive&takeの精神で情報発信していこう、と思ったのが動機です。


しかし、去年の夏にQiitaに出会って以来、シンプルな技術的なネタはQiitaに書くようにしています。
理由はQiitaというサービスの方向性がまさに「技術的な問題に遭遇してググったら引っかかるようなサイト」だったことに加え、Qiitaの中の人に出会って「Qiitaにかける情熱」を直接聞いて、僕も応援したいな~と思ったからです。


そんなわけで、このブログが更新されていなくても、ときどきQiitaにポロッとTips的なネタを書いたりするときがあります。
気になる方はQiitaで僕のアカウントをフォローしてもらえるとうれしいです。

 

昨日QiitaにRubyやRailsの技術ネタを投稿した

ところで昨日、ちょっと大きめの技術ネタをQiitaに投稿してみました。


これが結構好評だったようで、Qiitaの「ストック」やはてなブックマークをたくさんもらっています。
ブックマークコメントやTwitterの反応を見ても、おおむね好意的な反応ばかりだったのでほっとしています。


f:id:JunichiIto:20131106060105p:plain:w500

ソニックガーデンや西脇.rb & 東灘.rbでのコードレビューが記事の情報源

なんでこんなにあれやこれやとイディオムやお作法が出てくるのかというと、普段頻繁にコードレビューをやっているからです。


僕が勤めているソニックガーデンでは、プログラムを本番リリースする前に必ず他のプログラマにコードレビューをしてもらう必要があります。
僕がコードレビューを受けて指摘をもらうこともありますし、逆に僕がコードレビューをして指摘をすることもあります。


また、僕は西脇.rb & 東灘.rbという地域Rubyコミュニティを主催していて、毎月「もくもく会」や「ペアプログラミング In Action」といった勉強会を開いています。
ここでも「みんなコードを書く」「書いたコードはみんなでレビューする」というルールにして、初心者も上級者もお互いのコードをレビューし合うようにしています。


コードレビューを頻繁にやっていると「初心者にありがちな遠回り」や「他のプログラマに指摘されて気付く意外な近道」によく出会います。
コードレビューを何度も繰り返すうちに最近ある程度の「よくあるパターン」が見えてきたので、それをまとめて記事にしてみた、というのが昨日の投稿までの経緯です。


まとめ: 書いたら終わり、ではなく「コードレビュー」もセットにしよう

Qiita記事の最後にも書きましたが、書籍やAPIドキュメントを読むだけでなく、自分の書いたコードに他のプログラマの知見を取り入れることは、プログラマとして成長するための大きな鍵だと思います。
特に初心者のうちは上級者にコードレビューしてもらえるかどうかで、今後の成長曲線が大きく違ってくるんじゃないでしょうか。


また、「誰がどう見ても悪いコード」を指摘するのは容易でも、「誰がどう見ても良いコード」を提示するのは意外と困難です。
なぜなら「良い」の基準は個人個人で微妙にバラつくからです。
そのバラつきをある程度収斂(しゅうれん)させるためにも、普段からのチーム内コードレビューは一番重要な開発プラクティスの一つになると思います。


あなたの開発チームでもコードレビューを繰り返せば、きっと新しい「イディオム集」や「お作法集」が生まれるはずです。
もしそんな情報が生まれたら是非ネットに公開して、みんなに共有してください!
楽しみに待っています♪


参考: オススメ書籍

コードレビューが重要なのは確かですが、書籍やAPIドキュメントの情報をないがしろにしても良い、という意味ではありません。
むしろ、書籍やAPIドキュメントの内容を熟知した上で普段のコードレビューにその知見を活かす、というのが望ましいスタイルだと思います。


あらゆるRubyプログラマにオススメできますが、「Rubyは現場でなんとなく覚えてきた」という人に特にオススメなのが、オライリーの「プログラミング言語 Ruby」です。
一度体系的にRubyの文法や標準ライブラリを学習すると「知らなかった!そんな方法があったのか!」と新しい発見がたくさん得られると思います。


プログラミング言語 Ruby

プログラミング言語 Ruby

  • 作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2009/01/26
  • メディア: 大型本
  • 購入: 21人 クリック: 356回
  • この商品を含むブログ (129件) を見る
 

お知らせ その1: ソニックガーデンのシステム運用の話がWebで聞けます!

2013/11/11 (月) 19:30から、「SonicGardenで実践しているシステム運用での11の常識 - SonicGarden Study #06」が開催されます。
これはUSTREAMを使って放送するオンライン勉強会です。


オンライン勉強会なので日本全国どこからでも参加できます。
また疑問点があればTwitterを使ってリアルタイムに質問を投げることもできます。


聞いてみたい方は是非以下のリンクから参加申込みしてください。
「その時間は用事があって聞けない」という方でも、申し込んでもらえば秘密の録画URLが届きますよ~。

 

お知らせ その2: 11/23(土)にKobe Rubyist Meetup 2ndを開催します!

2013/11/23 (土) 18:30 - 21:00に神戸カフーツKobe Rubyist Meetup 2ndを開催します!


Kobe Rubyist MeetupはRubyに興味のある方なら誰でも参加できるミートアップイベントです。
飲食しながら他のRubyistの活動内容や技術情報の発表を聞いたり、ワイワイガヤガヤと雑談したりできます。


告知ページは以下にあるので、他のRubyistと知り合って繋がりを広げたい方や、最近Rubyを始めたのでRubyをやっている知り合いが欲しい方はお気軽にご参加くださーい!


ちなみに西脇.rb & 東灘.rbの合同もくもく会も同日開催予定です(告知ページは準備中)。


お知らせ その3: 11/16(金)、17(土)に大阪で僕と倉貫が講演します

DevLOVE関西のイベントで11月16日(金)、17(土)に以下のような開発者向けのイベントが開催されます。


16日のイベントではソニックガーデン社長の倉貫(@kuranuki)が、17日のイベントでは僕と倉貫がそれぞれ講演します。


みなさんこちらにも是非いらしてくだい!・・・と言いたいのですが、2013/11/06現在、どちらも満席になっています。
でも、キャンセル待ちで参加できる可能性もあるので、興味のある方は申し込んでもらえると嬉しいです!
よろしくお願いします~。