クリアなコード(4)
SEゼミ - リーダブルコード勉強会(2回目)を開催
2014/07/06にプログラミングが好きな学生のためのリーダブルコード勉強会の2回目を開催しました。内容を知りたい方は資料やこれまでの記事を読んでください。
SEゼミ - リーダブルコード勉強会(1回目)を開催
2014/06/22にプログラミングが好きな学生のためのリーダブルコード勉強会を開催しました。後述の通りチャレンジングな目標設定にしたので、学生のみなさんがついてこられるのかという点が不安でしたが、9割以上の参加者が満足し1、半数以上の人がこれからコードを読んでいこうという思いを持ってくれたようです2。このため、この勉強会で目指していたことは達成できたと言えます。よかったです。
学生向けリーダブルコード勉強会の参加者募集を開始
2014/6/22(日)にSEプラスさんが学生向けリーダブルコード勉強会を開催します。リーダブルコードの解説を書いた須藤がトレーナーをします。会場提供はクックパッドさんで、ランチも提供してくれます。
2014/6/22(日)に学生向けリーダブルコード勉強会を開催予定
要約:6/22(日)に学生向けリーダブルコード勉強会を開催する予定なので、興味のある学生の人は予定を空けておいてください。興味のありそうな学生を知っている人は教えてあげてください。
Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入
最近、fluent-plugin-droongaという分散データストリームエンジンを書いています。その中で、RubyでDSLを実現するときに工夫していることに気づきました。それは、値を設定するときは代入する字面にするということです。代入する字面にするために、グループ化用のオブジェクトを作っていました。
わかりやすい設定ファイルの項目名:否定形で修飾しない
数週間ほど前、コミットをみていたら「ひっかかる」APIがありました。それについてコメントし、わかりやすいAPIについてやりとりしました。そのやりとりの中で、設定ファイルの項目名をわかりやすくするために、いままであまり意識せず工夫していたことに気付きました。それは「設定ファイルの項目名を否定形で修飾しない」というものです。「否定形」という言い回しではなく、「ネガティブな単語を使う」というような言い回しの方が近いような気がしますが、あまりしっくりくる言い回しを思いつかないので、ここでは「否定形」ということにします。
メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか
毎日他の人のコミットをながめる文化で生活していると、理由は浮かばないけど「ん?このコミットはなんか気になる」と感じるようになります。それは、新しいことを知ることができたコミットだったり、真似したくなるようなコードが入っているコミットだったり、なんかまずそうな気がするコミットだったり、様々です。
インターンシップで学んだこと1:コメントを書きたくなるときはコードを見直す機会
RubyKaigi 2013で発表したらインターンシップの応募があり、6/17から7/29まで1ヶ月半くらい週3日でインターンシップを実施しました。インターンシップでやったことはメモに残して公開していました。ただメモに残すだけではなく、まとめておき、次のインターンシップや新しくクリアコードのメンバーになった人に伝えるために役立てようと試みています。
クリアコードの開発の様子をフォローしやすくしました
クリアコードでは、社名からわかる通り、日頃からクリアなコードを書くべく日々コードと向き合っています。そのために「みんながみんなのコードを読む文化」を維持しています。