SHOEISHA iD

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

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

特集記事(AD)

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

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

 アジャイル開発のための実践的な講座ラインナップがそろうアジャイルアカデミー。2015年6月24日には「実践リーダブルコード」講座が開講されます。本稿では、「実践リーダブルコード」っていったい何をするの? という方のために、CodeZine編集部員による第1回講座(2015年3月6日)の体験レポートをお送りします。

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

「実践リーダブルコード」講座とは

 書籍『リーダブルコード』は、翔泳社の「ITエンジニア本大賞2014」にて技術書部門大賞を受賞、ジュンク堂池袋本店コンピュータ書において3年連続で売上冊数第1位と、エンジニアの間で高い人気を誇っています。読者のみなさんの中にも、読んだことのある方が多いのではないでしょうか。

 講座「実践リーダブルコード」では、この書籍『リーダブルコード』の解説を執筆した、須藤功平さん(株式会社クリアコード)が講師を務めます。プログラムを書き始めた当初からオープンソースの開発に関わっていたという須藤さんは、学生の頃から「開発を続けられるコード」を書くことが大事だと感じていたそうです。

 例えば、普段開発をしている中で、このようなことはないでしょうか。

  • とりあえず動けばいいでコードを書いているけど、本当はもっといい書き方をしたい
  • チームで開発をしているときに、お互いのコードの理解に時間がかかってしまう
  • チームに新しい方が入ってきたときに、早く現場のコードの書き方になれてもらいたい

 こんな時は「リーダブル」を意識してみましょう。須藤さんの言葉を借りるなら「読む人が 読みやすいなら リーダブル」。読みやすいコードを書くのではなく、「読み手にとってリーダブルか?」という意識をもつのです。

 今回の講座は「自分の開発チームにリーダブルなコードが当たり前な文化の作り方を持ち帰る」ことを目標とし、課題に取り組みながら、「リーダブルなコードの探し方」や「リーダブルなコードの基準をチームで共有する方法」などを学びます。この講座で行われたワークショップを、チームに持ち帰り、同じように実践できる設計となっています。

 須藤さんの「実践リーダブルコード」講座に対する意気込みについては、以前掲載した記事『日々コードに触れる人にこそ体験してほしい ~アジャイルアカデミー「実践リーダブルコード」講座』をご覧ください。

講座の流れ

 以下、実際の講座の流れにそってレポートしていきます。

最初はいつもどおりのコードが書けるようにアイスブレイクから

 まずは、簡単な作業を通じ、自分がいつもどおり開発できるような状態にしていきます。GitHubにリポジトリをつくって、READMEに自己紹介を書いて、commitやpushをします。受講生の約半分の方が、今回の講座をきっかけにGitHubアカウントをつくったそうです。みなさんすぐに使いこなし「これは便利だ!」と感動していました。

リーダブルコードはなぜ必要?

 そして場も温まってきたところで、須藤さんから「なぜリーダブルなコードが必要なのか」ということについて解説していただきました。リーダブルコードが必要な理由は、下記の2点があります。

理由1 ソフトウェアは作って終わりじゃないから

 昔は、ソフトウェアは作って終わり、運用で頑張って回避してきました。しかし今は、機能は少なくてもまずは動くものを作り、それを改良・修正しながら開発するスタイルが当たり前になってきていると思います。リーダブルなコードで、既存のコードを理解しやすくすることで、自分たちが楽になる、そしてそれが開発スピードの向上につながります。

理由2 複数人で開発をしていくから

 昔は、1つのモジュールを1人の担当者という作り方をしていたのが、今は1つのモジュールに複数担当者というのも多いです。チームで改良するまえに、リーダブルなコードの基準を共有しておくと、チーム開発がしやすくなります。

 リーダブルコードをチームで共有するときに必要になるのが、下記の3ステップです。

  • コードを読む文化をつくる
  • チームのコードの中から、リーダブルなコードを見つける
  • リーダブルなコードをチームで共有

 次からこの3ステップを、具体的に実践していきます。

個人で開発

 課題を、まずは個人で開発していきます。14の仕様を順に実装し、最終的にレシピ管理プログラムのようなものを作っていくイメージです。最初は「Hello World!」のような簡単なコードから、少しずつ難しくなっていきます。ただし、難しいロジックは必要なく、言語の基本的な機能を理解している方なら大丈夫です。

 例えば、最初に実装する仕様1はこのようなものです。

仕様1:レシピ情報を出力できること

 レシピのタイトルとして「オムライス」と出力するプログラムを新しく作ってください。

 レシピのタイトルの出力先は問いません。コンソールに出力しても構いませんし、ファイルに出力しても、ウィンドウを作ってそこに出力しても、Webブラウザーに表示させても構いません。

 これを、私が選択したRubyで実装したものは、言わずもがな下記になります。

私の回答(Ruby)
puts "オムライス"

 ここで大事なのは、一つでも多くの機能を実装することではありません(仕様は時間内に作りきれないほど用意されています)。「自分が思う最高のリーダブル」を意識しながらコードを書くことと、「そのコードがリーダブルである理由」を考えて、メモすることです。ここで意識したこと、メモしたことは、午後にリーダブルコードの基準をチームで共有する際に必要になります。

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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング