こんにちは!
Railsエンジニアのtakakudaです。
今回はエンジニアチームで取り組んだリーダブルコード読書会についてご紹介します!
目的
- 理解しやすいコードとは何かを知り[to know what is "readable" code like]
- 実際にそのようなコードを書けるようになることで[and to learn how to write "readable" code]
- 今後の開発効率を向上させ、バグや障害の発生を削減する[aiming to improve develepment productivity and reduce software bugs and system troubles]
以上のことを目的として、今回の読書会を実施しました。
実はこのリーダブルコードの読書会は3回目で、最初は「またやるの?」という気持ちでしたが、新しい発見がたくさんありました。
やはり『リーダブルコードは』何度読んでも良い名著ですね…。
自分のコードの質が上がったのではないかと感じています!
内容
読書会ですが、以下のような流れで進めました。
1. 座学
リーダブルコードを3章区切りで読みます。
読んだことがある人は、再度読み直します。
2. プルリク作成
リーダブルコードを参考に、改善できそうなコードを見つけてプルリクを作成します。
その際にセルフレビューのコメントで、
- リーダブルコードのどの章を参考にしたか
- 質問(ex..このように改善したが、もっと良い書き方はあるか?)
を追記していきます。
3. ピアレビュー
自分以外の参加者のプルリクを、1人2つ以上レビューします。
レビューの際は
- 良いと思った点
- こうしたほうが良いと思った点
- 質問
をコメントとして追記します。
4. 議論・講評
- 1 ~ 3が終わったら全員で顔を合わせるタイミングを作り、議論をします
講評
- コードオーナーが全体を通して気づいたことを話す
質問
- 直接プルリクに記載はなかったが、聞きたいことを質問する
議論
リーダブルコードに書いてある内容で、プロダクトコードに合わせて読み替えたほうが良い点などを話し合う
結果
この読書会は任意参加なのですが、ほぼ全員のメンバーが参加し、プルリクを送りあってくれています。
この取り組みはCTO自らが中心となり推し進めており、ZEALSでは3回目の実施となります。
初回から参加していたメンバーが、教えてもらっていた立場から教える立場へと変わっていく...、という良いサイクルが回っていて、とても良い文化だなと感じています。
ちなみに
実際に参加したメンバーからも良い反応をもらいました!
- 強制的にアウトプットする場を用意することで、リーダブルコードの内容を忘れてしまうことを回避できる
- 実際に普段触っているコードのbefore -> afterを見ることで、リーダブルコードに記載されている内容がより深く理解できる
- エンジニア同士のコミュニケーションやTIPSを共有する場として機能している
- 勉強会を開いた後から、PRレビューが活発になった
- 普段のPRで議論にならない細かい点についても議論できた
- アウトプットされたコードを見ることは多いが、その裏に隠れている、意図や良い習慣を垣間見れるのがとても良い
- 自分が普段メインで使っている言語以外のプルリクに対しても、非常に活発に議論が起きていた
- 普段だとあまり深く突っ込まないコードに対しても、メンバー全員で議論できていたので、改めて自分のコードを見直す良い機会になった
どの項目も、チーム開発においてとても大事なことですよね!
ちなみに、この読書会、この記事を書いている現時点でもまだ継続中です!
ZEALSのエンジニアチームは、きれいなコードをチームで書いていくために、これからも工夫して努力していきます!
今後も引き続き、よろしくお願いいたします。