株式会社クリアコード > ククログ

ククログ


2014/6/22(日)に学生向けリーダブルコード勉強会を開催予定

要約:6/22(日)に学生向けリーダブルコード勉強会を開催する予定なので、興味のある学生の人は予定を空けておいてください。興味のありそうな学生を知っている人は教えてあげてください。

SEプラスさんがプログラミング好きな学生のためのリーダブルコード勉強会を企画しています。その勉強会の講演者・トレーナーをリーダブルコードの解説を書いた須藤が務めます。

リーダブルコードは内容が評価されていて、さらに、実際に広く読まれている本です。例えば、ITエンジニアに読んでほしい!技術書・ビジネス書 大賞 2014の技術書部門大賞を受賞したり、ジュンク堂書店池袋本店のコンピュータ書売上冊数ランキングで2012年2013年で2年連続1位になっています。学生のうちからこの本に書かれていることを理解し、実践していると、今後、プログラミングをする上で大きな力になるでしょう。

内容

SEプラスさんのページではまだ内容について触れていません。もうしばらくしたら公開されるでしょうが、ここでは一足早く少しだけ紹介します。

内容はリーダブルコードの解説に書いていることの体験です。解説では、本文に書いているリーダブルコードを書くための方法をどうやって実践するか、その方法を説明しています。つまり、この勉強会では学生がリーダブルコードに書いていることを単なる知識ではなく、実際に自分の技術や考え方として身に付けるきっかけとなる内容を目指します。

リーダブルコードを書くには読む人の視点を持っていることが重要です。リーダブルかどうかは読む人の視点での基準だからです。読む人の視点を持たずに書いているうちは、単に「想像して」リーダブルだろうコードを書いているだけです。読む人の視点を持っていれば、「事実に裏付けされた」リーダブルコードを書けます。

しかし、学生で読む人の視点を持っている人は少ないです。仕事では複数の人が同じソフトウェアを開発することが多く、また、リリースしたあとに継続して開発を続けることも多いので、コードを読む機会が増え、読む人の視点が身につきやすいです。一方、学生は自分ひとりで開発し、作って動かして研究成果が得られたらコードに触れることはない、というケースがほとんどです。そうすると、自分が書いたにしろ他の人が書いたにしろ、コードを読む機会がほとんどなく、読む人の視点を身につけることができません。

今回の勉強会ではこの「読む人の視点」を体験を重視します。具体的には次の流れで勉強会を進めることで、「読む人の視点」を体験します。

  1. 参加者全員にこの勉強会で開発するプログラムの仕様を伝える。
    • 参加者全員が同じプログラムを開発する。
    • プログラムは段階的に改良していくもので、どの時点でも動作する*1
    • プログラムの難易度は簡単なものにする*2
  2. 参加者全員が一定時間で各自プログラムを開発する。
    • 一定時間経過後、みんな途中まで開発を進めている状態にする。
  3. 参加者同士で開発しているプログラムを交換し、交換したプログラムを元に開発を継続する。
    • 開発を継続するためには交換したプログラム(= 他の人が書いたコード)を理解する必要がある。
      • 複数人での共同開発や作って終わりではない開発の疑似体験となり、コードを読む機会となる。これで「読む人の視点」を体験する。
      • 自分が書いたコードよりもリーダブルに書いているコードを見つけることを重視してもらう。ダメなところ探しに終始してグチグチ言っていたら終わっていたとなったら失敗。
  4. 実際に開発をし、「読む人の視点」を体験してみて感じたことをまとめ、整理する
    • 「面白かった」、「難しかった」だけで終わらせず、「なぜ難しかったか」など理由まで落としこむ。理由まで落としこめれば今回だけの体験で終わらず、自分に身についた今後も活かせる財産になるはず。

「コードを読む」というと「コードレビュー」というイメージが根強いので、どうしても「悪いところはないか?」という視点で読んでしまいがちです。そうではなく、「コードから学ぶ」という視点で読めるようになると、コードの理解も速くなりますし、読んでいる人の成長スピードもあがります。日々新しい技術が生まれ、学ぶことが増えている昨今、コードから学べるようになると重宝されることでしょう。

参加する学生の人には「読む人の視点」、もっと言うと「悪いところはないか?」ではなく「コードから学ぶ」という「読む人の視点」を身につけ、コードを読み、よい書き方を身につけ、それを自分が書くコードにも活かす、という習慣を体験してもらいたいです。

まとめ

6/22(日)に開催する学生向けリーダブルコード勉強会を紹介しました。リーダブルなコードを書くには読む人の視点をもつこと、ということを体験できる勉強会です。興味のある学生の人は予定を空けておいてください。興味のありそうな学生を知っている人は教えてあげてください。

学生ではないけど参加したい、新人研修や自分の開発チームでもやってみたいという人は相談してください。

この内容とは関係なく、リーダブルコードの社内勉強会をやっているからゲストで来て欲しいという場合は須藤 <kou@clear-code.com>に連絡してください。タイミングがあえばおじゃまします。

*1 例えば、電卓プログラムを作るということにしたら、最初は足し算しかできないが、次は掛け算ができるようになる、という感じ。最初の段階では足し算しかできないかもしれないが、動くことは動く。

*2 難しいプログラムを開発するためのテクニックを学ぶことが目的ではない。

2014-04-16

«前の記事: GitHubのWikiが変更されたら差分付きで通知する方法 最新記事 次の記事: Jekyllで複数言語のコンテンツを継続してメンテナンスする方法»
タグ:
年・日ごとに見る
2008|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|