SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事(AD)

「実践リーダブルコード」参加レポート ~リーダブルなコードをチームに広め、開発効率を上げよう!

  • このエントリーをはてなブックマークに追加

みんなでお昼ごはん

 お昼はお弁当が準備されています。私も講師のみなさん、受講者のみなさんと一緒にいただきました。

お昼ご飯の様子
お昼ご飯の様子

 私のいたチームでは、「リーダブルなコードを書く必要性をどう上司に説得するか」「ドキュメント作成で本質でないところを突っ込まれる件について」などの話で盛り上がりました。なんと名古屋や新潟から来られた受講者の方もいました。

午後はリーダブルなコードを見つけながら他の受講生とコードを交換

 午後からは、受講生同士でコードを交換します。他の方のリポジトリをforkし、他の方のコードの中にリーダブルなコードを探しながら、開発を継続していきます。

 他の人のコードを読むと、どうしてもリーダブルじゃないコードに目がいきがちですが、今回はそこを気にしてはいけません。とにかくリーダブルなコードを探すことに集中します。

 例えば、実行手順を記したドキュメントについて、私が気をつけたリーダブルな工夫と、コードを交換して見つけたリーダブルな点は下記のようなものがありました。

私が気をつけたリーダブルな工夫

 気をつけた点:実行手順を汎用的にし、他の名前のファイルを参照する場合にも分かりやすくなるように気をつけた。

 ファイルのあるディレクトリに移動し、コンソールで以下を入力する。

ruby recipi.rb [データファイル名]

 今回の仕様の例だと下記の通り。

ruby recipi.rb recipi-data.txt

コードを交換して見つけた、他の方のリーダブルな点

 リーダブルな理由:自分とは違う環境、パスが通ってない場合にも配慮している。

 引数にデータファイルを指定して、Rubyインタープリターでrecipe.rbを実行してください。

 以下はコマンドライン(bashやコマンドプロンプトなど)で実行する例です。

$ ruby recipe.rb recipe-data.txt

 Unixや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円割引になるペア割もあるので、チームでの受講もオススメです。ぜひ受講して、チーム全体のコードの質を高める、いい機会にしませんか。

 最後にあらためて、須藤さんの言葉で締めましょう。「読む人が 読みやすいなら リーダブル」。

6/24(水)開催!「実践リーダブルコード」参加者募集

 「読み手」の視点を実際に体験することで、読みやすいコードを見極める力が身に付き、効率化や組織の開発力の底上げにも役立ちます。

  • 日時:2015年6月24日(水)10:00~18:00(受付開始は9:30)
  • 場所:翔泳社(東京/四谷三丁目)
  • 参加費:64,800円(税込)【一人あたり3,240円引のペア割有】

▼詳細・申込はこちらから ⇒ 実践リーダブルコード

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

近藤 佑子(編集部)(コンドウ ユウコ)

株式会社翔泳社 CodeZine編集部 編集長、Developers Summit オーガナイザー。1986年岡山県生まれ。京都大学工学部建築学科、東京大学工学系研究科建築学専攻修士課程修了。フリーランスを経て2014年株式会社翔泳社に入社。ソフトウェア開発者向けWebメディア「CodeZine」の編集・企画・運営に携わる。2018年、副編集長に就任。2017年より、ソフトウェア開発者向けカンファレンス「Developers...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8755 2015/06/11 14:26

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング