みんなでお昼ごはん
お昼はお弁当が準備されています。私も講師のみなさん、受講者のみなさんと一緒にいただきました。
私のいたチームでは、「リーダブルなコードを書く必要性をどう上司に説得するか」「ドキュメント作成で本質でないところを突っ込まれる件について」などの話で盛り上がりました。なんと名古屋や新潟から来られた受講者の方もいました。
午後はリーダブルなコードを見つけながら他の受講生とコードを交換
午後からは、受講生同士でコードを交換します。他の方のリポジトリをforkし、他の方のコードの中にリーダブルなコードを探しながら、開発を継続していきます。
他の人のコードを読むと、どうしてもリーダブルじゃないコードに目がいきがちですが、今回はそこを気にしてはいけません。とにかくリーダブルなコードを探すことに集中します。
例えば、実行手順を記したドキュメントについて、私が気をつけたリーダブルな工夫と、コードを交換して見つけたリーダブルな点は下記のようなものがありました。
私が気をつけたリーダブルな工夫
気をつけた点:実行手順を汎用的にし、他の名前のファイルを参照する場合にも分かりやすくなるように気をつけた。
ファイルのあるディレクトリに移動し、コンソールで以下を入力する。
ruby recipi.rb [データファイル名]今回の仕様の例だと下記の通り。
ruby recipi.rb recipi-data.txt
コードを交換して見つけた、他の方のリーダブルな点
リーダブルな理由:自分とは違う環境、パスが通ってない場合にも配慮している。
引数にデータファイルを指定して、Rubyインタープリターでrecipe.rbを実行してください。
以下はコマンドライン(bashやコマンドプロンプトなど)で実行する例です。
$ ruby recipe.rb recipe-data.txtUnixやLinuxなどの環境では、以下のように実行することもできます。
$ ./recipe.rb recipe-data.txtもし環境変数のPATHが通っていない場合、絶対パスで指定してください。
$ /path/to/ruby recipe.rb recipe-data.txt
いいコードの基準をチームで共有する
チームにリーダブルコードを広げるための最後のステップは、リーダブルの基準を共有することです。
まずは、自分たちのグループ内で、自分の見つけたリーダブルなコードを共有し、一つのメモにまとめます。それをさらに、今回の参加者全員に広げられるよう、全体に向けて発表します。
例えば、Javaのチームだと「インデントが揃っている」「インデントが最大3階層で浅い」「一次変数に意味のある名前をつけている」「不要なコメントがなく、コードで意図を伝えられている」……など、数多くのリーダブルな工夫が発表されました。
その後、このようにして作られた「リーダブルなコードの基準」をチームでどのように育てていくか、そのノウハウについて教えていただきました。
詳しくは講座に参加してのお楽しみとして、一つだけご紹介。チームメンバーのリーダブルなコードを継続的に見つけるには、継続的に「コミットを読む」ことが最適とのこと。コミットをわざわざ読みに行くのではなく、コミットのメール通知機能などを使って、流し読みする感覚でやるのが、読むコストが下がってよいそうです。
そして講座終了後は希望者の方で打ち上げへ。須藤さん受講者のみなさんが連れ立って、夜の荒木町へと繰り出して行ったのでした……。
講座終了後も面談でフォローアップ
今回、この講座に参加した方向けの特典として、フォローアップ面談を受けることができます。今回のリーダブルコードのワークショップを持ち帰り、チームで実践してもうまくいかないことが色々と出てくるかと思います。ここで出てきた問題をどう解決するか、直接相談できるいい機会なので、受講の際はぜひご活用ください。
私が思う、この講座のよいところ
1. 課題の難易度が適切
講座中に実装する課題は、新人プログラマーでも分かるようなプログラミングの基礎的な知識のみでできます。したがって「読みやすいコードを書く」「リーダブルなコードを探す」ことに集中できます。
さらに、同じワークショップを現場に持ち帰って実践してみる際にも、新人さんからベテランさんまで一緒になって取り組むことができます。
2. 講師やチューターさんが話しかけやすい
講座のはじめにアイスブレイクを設け、声をかけやすいような雰囲気作りをしているので、私のように引っ込み思案な方でも講師・チューターさんに助けを求めやすいです。さらに、ちょくちょく覗きこんで「どうですか?」と声をかけてくれ、自分でも気づかないような、リーダブルなコードの工夫を教えてくださいました。
3. ワークショップの資料が作りこまれているので、現場で再現できる
ワークショップで何をすればいいかの手順が丁寧なので、現場に持ち帰って、指導者としてワークショップを開催することができます。もちろん、復習にも活用できます。
4. GitHubに慣れていない方もOK。基本的な使い方が分かる
リポジトリの作り方やcommit&push、他人のリポジトリをforkして開発を進めるところまでを、ステップ・バイ・ステップ形式で進めていくので、Gitに初めて触る方も安心です。このワークショップを現場に持ち帰ることで、GitHub初心者さんに慣れてもらうこともできるかと思います。commitの頻度やメッセージなどの手順書あるので、オープンソースの開発に慣れている方の流儀を追体験できるのもいいところ。
参加者の声
最後に、講座のアンケートに書いていただいた参加者の声をご紹介します。
- ワークショップ形式でリーダブルなコード作りを体験できるので、どうしたらリーダブルなコードが書けるようになるか、チーム内でどのように展開するかを考える、良いきっかけになると思います。
- 「リーダブルなコードをうちのチームでも書こう!」と思っても、どういう活動をしたらいいか悩むことも多いと思います。このセミナーではそれを学ぶことができ、明日からあなたひとりでも始めることができます。
- 簡単なコード(Hello World!の出力等)からスタートし、動作するコードではなく、リーダブルなコードについて考えることを主題にされていたため、初心者でもわかりやすかったです。
- 自分のコードを見なおす良いきっかけとなりました。
「実践リーダブルコード」講座、次回は6月24日に開催します。1人あたり3,240円割引になるペア割もあるので、チームでの受講もオススメです。ぜひ受講して、チーム全体のコードの質を高める、いい機会にしませんか。
最後にあらためて、須藤さんの言葉で締めましょう。「読む人が 読みやすいなら リーダブル」。
「読み手」の視点を実際に体験することで、読みやすいコードを見極める力が身に付き、効率化や組織の開発力の底上げにも役立ちます。
- 日時:2015年6月24日(水)10:00~18:00(受付開始は9:30)
- 場所:翔泳社(東京/四谷三丁目)
- 参加費:64,800円(税込)【一人あたり3,240円引のペア割有】
▼詳細・申込はこちらから ⇒ 実践リーダブルコード