basyura's blog

あしたになったらほんきだす。

リーダブルコード - 再び

新しく人がワラワラと入ってきたので紹介と共に「リーダブルコードを買って読んで」再び。ブログを読み返すとちょうど 4 年前にエントリがあった。

本を読む習慣がある人が少数のようで・・・こちらが何を言ったところで買う人はマレだったりするんだけど強制するものでもないので各自に任せる。これをきっかけに色々漁って読んでくれると嬉しい。ググれば書き方はだいたい出てくるんだけど本としてまとまってるのはやっぱりいい。チーム全体としていい感じに書こうっていう意識自体はだいぶ浸透してきていて、汚く書いてると「○○ (僕) さんに怒られる」といった感じでネタ的に言われることもある。地道にやってきたことでみんなの底上げになっているんではないかと思う (たぶん)。他チームと比べても整ってるし。

紹介したものの 5月 に実施した「自宅の本を一掃する活動」によって BOOKOFF に売り払ってしまっていた。とは言いづらいのでオライリーから電子書籍版を購入。だいぶマシになったけど kindle で pdf は読みづらいので epub 版が欲しい。ちなみに BOOKOFF での技術書の売値は割りと高い印象。人気があるのだろうか?

久々に読み返しても勉強になる。

僕がリファクタリング等でよくやってるのは「解決策を言葉で説明する」にある手法。

一番汚いのは「一致するまで行を進める」部分だ。これをもっとキレイにするには、汚いロジックを新しい関数 AdvanceToMatchingTime() に抽出すればいい。

説明を書いてみるのもそうなのだけどロジックを見渡して

  • 重複がないか
  • 無駄な変数がないか
  • メソッド化できないか

をちらちら考えて整理、分離させていく。もちろん Vimmer なので ijkl<C-d><C-u> でカーソルを動かしながら思考しつつ編集する。

GitLab を導入できたので手元で対象のブランチを見ながらはもちろん、MergeRequest 上でやりとりできるようになったのはいいのだけど、さらにいい感じにレビューができないものかなぁ。要望は付きない。最近は仕様書のレビュー記録が指摘ごとに Redmine でチケット化されるのが気に入らないのでなんとかしたいと思っている。