Sapporo RubyKaigi 2012 スペシャルレポート

札幌Ruby会議2012,3日目レポート[更新終了]

この記事を読むのに必要な時間:およそ 25.5 分

須藤功平さん「クリアなコードの作り方」

須藤功平さんによる「クリアなコードの作り方」です。須藤さんはフリーソフトウェアプログラマーであり,株式会社クリアコードの代表取締役です(スライド等はこちら⁠。

クリアなコードと私

須藤さんは,クリアなコードは自然なコードだといいます。かっこいいコードは「これ,すごいなぁ」と思うことがありますが,クリアなコードはパッと見てそうだと気づくものではなく,しばらく読んでから「あれ?ずいぶんするっと読めるなぁ」と感じるコードであるとのことです。

これは須藤さんがとても大事にしていることで,それはたのしく開発を"続けたい"からです。須藤さんはプログラミングが好きで,開発は"たのしい"ことであり,たのしいからこそ続けられます。

ただ,楽しくない開発もあり,汚いコードではたのしくないと言います。また,rubyだから楽しいというわけではなく「すごい汚いrubyのコード見たことあるよね?」と問いかけます。

もっとたのしくないこととして,今の開発がどん底だと思っていたけど,さらにコードが汚れていくのは辛いこと。直しても直しても,他の人が汚していくようでは,掃除しているそばからゴミを捨てられているように感じます。それでは続けることができません。

"みんな"でたのしく開発をつづけたいから。そのために,みんながクリアなコードを書いて,たのしくしてほしい。今はたのしくないかもしれないけれど,楽しかったことがあったはず。それを日常にしてほしいと訴えました。

クリアなコードの作り方

みんなでクリアなコードにするためには,他人のコードを読み,他人の事を考えてコードを書くことが大事であると話します。須藤さんは書籍「リーダブルコード」の解説を書かれており,リーダブルコードを実践するための3つのステップについて説明しました。

  • 実際にやる
  • 当たり前にする
  • コードで伝える

詳細についてはCreative Commonsライセンスで公開されているので,ぜひご覧ください。

コードを書く

意識の高い人を見てカッコいいと思うだけではだめで,まずは自分で動かないといけない,自分で"コードを書く"ことが大事だといいます。そして,リーダブルなコードができたら広めることや,まわりにはまだまだ汚いコードがあるはずなので油断してはならないとアドバイスしました。

ふつうにコードを書いていると,1時間に1回もコミットできないというのは危ない状態です。そういうときは相談をするといいと言います。普段からクリアなコード,良いコードを書こうという姿勢を見せていれば,一緒に考えてくれるはずです。

コードを読む

次に,いいコードをかけるようになるには"コードを読む"ことも重要であり,当たり前であると言及しました。少なくとも自分が関わっているプロジェクトのコミットくらいはすべて見るべきと訴えます。自分のコードではないから関係ないと思われるかもしれませんが,自分のコード以外も"自分たち"のコードであるから関係ないわけがないのです。

また,コードレビューについて須藤さんは,よくないコードを防ぐなどのネガティブなものではなく,コードを読むことはたのしいことであるはずと言います。自分がスッキリしたコードを書けなかったとしても,他のメンバーがスッキリしたコードを書いていれば真似をする,学びになると指摘しました。そしてそれは,コードを読むモチベーションに繋がります。

コードで伝える

今のチームがクリアなコードをみんなで書けるようになり,そこに新しい人が来たときに,どのように想いを伝えるかについて話しました。コードを書いているだけで人に影響を与えることができる,コードを通じて伝えられることは多いと言います。言葉にするというのも伝えやすさの面では大事でもありますが,⁠コードで伝えることを忘れてないですか?」と問いかけていました。コードに書いて伝えるのは特別な能力でもなく,伝えようとしているかが重要であるとのことです。

よいプログラマになりたいと思って進んでいく人がいるならば,一緒にその道を歩んで行きたいと須藤さんは言います。自分がセンセイになってしまうと,一緒に学ぶのには障壁になってしまう。そうではなく,あくまで仲間として一緒に歩んでいきたいとのことです。そうしていくうちに,綺麗なコードが当たり前になればいいと思うとセッションを結びました。

画像

画像

クロージング

しまださんによるクロージングの挨拶がありました。しまださんは,本イベントが無事終了したことことに対し,参加者や発表者,スポンサー,スタッフに感謝しました。特に本イベントの開催にあたってはPaul McMahonさんとAndrew Grimmさんにお世話になったとし,2人を壇上に招いてお礼を述べました。最後は参加者の皆さんの拍手でイベントが閉じられました。

画像

画像

try(:english)

本日お昼,英語のネイティブスピーカーと英語で話しをしてみよう!という趣旨のもと,原田洋子さんが主催となり,英語を話すRubyistたちとのミートアップが催されました。大盛況で,いくつもの5,6人の小さなグループをつくり,ピザを囲んで英語で会話していました。皆さん,楽しんでいたようです。

画像

ぬRubyKaigi

本日も,ぬRubyKaigiがありました。本イベントをどう思ったかを振り返ってプラスマイナスのタイムラインを描く「タイムライン」やプレゼンテーションのための「Rabbitはじめる♥⁠⁠,⁠RubyistのためのSqueak Smalltalk超入門」など,様々なセッションが行われていました。

画像

画像

画像

フィードバック&スタッフ寄せ書き

イベント開催中は,参加者からのフィードバックボードが立てかけられており,感想やコメントを寄せていました。また,最終日には,スタッフによる寄せ書きが作られていました。

画像

画像

以上が最終日3日目のレポートになります。最後までお読みいただきまして,ありがとうございました。

著者プロフィール

KaigiFreaks レポート班

KaigiFreaksとは,会場に来れなかった人にも雰囲気や内容を楽しんでもらえることをミッションとする特別編成チーム。配信班とレポート班の2班で構成される。レポート班の作業はエクストリームスポーツとして知られていたが,今回はその評判を覆すべく史上最大規模の編成で臨む。


前鼻毅(まえはなつよし)

Ruby札幌,アジャイル札幌,CLR/Hなど札幌のコミュニティで活動中。RICOH IT SOLUTIONSにてRubyやObjective-Cのコードを書いている。

twitter:http://twitter.com/sandinist


にく

北海道出身で沖縄や東京に住んだ後,今は札幌在住のプログラマ。コンサドーレ札幌が好き。Ruby,Emacsが心のメインツール。最近はHaskellを試している。

twitter:https://twitter.com/niku_name
blog:http://niku.name/


小野寺大地(おのでらだいち)

北海道大学大学院,一般社団法人LOCAL,Ruby札幌あたりで活動中。普段は複雑ネットワークの研究をしていて,肉チャーと二郎系ラーメンをこよなく愛している。

twitter:http://twitter.com/onodes
facebook:https://facebook.com/onodes


H.Hiro

北海道大学大学院在籍。Ruby札幌,札幌C++勉強会などで活動中。コレクションの要素数を数えるのに便利なライブラリ「multiset」などを作っている。Rubyで好きなものは「ブロック付きメソッド呼び出し」「Domain-Specific Languageの文化」。

twitter:http://twitter.com/h_hiro_


小玉直樹(こだまなおき)

生まれも育ちも札幌のプログラマ。RubyにハマってからはWebアプリを作るのが楽しくて日課になっている。1年ほど前からコミュニティ活動にも参加を開始し,素敵な技術者と出会える日々に感謝。

twitter:https://twitter.com/volpe_hd28v
blog:http://d.hatena.ne.jp/koda_hd28v/


うさみけんた

いまをときめく自宅警備員…だったのですが,Ruby会議の半月前に退職して東京に移住しました。Python札幌などでも活動。セキュリティ&プログラミングキャンプ2011言語クラスチューター。函数型言語の浅瀬で溺れる。

twitter:http://twitter.com/zonu_exe
blog:http://d.hatena.ne.jp/zonu_exe


すずきゆうすけ

札幌市に隣接する風の街・江別市で働く自営業。Ruby札幌にときどき顔を出す。Garage Labsにもときどき出没。プリキュアと朝ドラをこよなく愛し,日々変動する体重に怯えるごくごく普通のアラフォー。

twitter:https://twitter.com/yuskesuzki


みぃお

一般社団法人LOCALで主に活動中。お家でRubyをちょくちょく書いている。男の娘。お仕事はPHPでソーシャルゲームを作っている。

twitter:https://twitter.com/ayako119
homepage:http://miio.info/


永沼智比呂(ながぬまちひろ)

首の長いプログラマー。達人プログラマー読書会を主催したりしていた。Ruby札幌やSapporo.js,アジャイル札幌に参加。Ruby界隈の文化って面白い!

twitter:https://twitter.com/onjiro_mohyahya
blog:http://onjiro.blogspot.jp/


わたなべしゅうじ

札幌在住のプログラマ。札幌Javaコミュニティ代表。Java,Ruby,Python,JavaScriptなどを扱い,ユニットテストが好物。

twitter:https://twitter.com/shuji_w6e/
blog:http://d.hatena.ne.jp/shuji_w6e/


菅井祐太朗(すがいゆうたろう)

北海道から上京して一年。ようやく仕事でRubyを使えそう。Ruby札幌,Asakusa.rb,Yokohama.rbなどに顔を出している。

twitter:https://twitter.com/hokkai7go
blog:http://d.hatena.ne.jp/lncr_ct9a