ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

最初の方を少し読んだだけですが、目からウロコです。

早速リーダブルコードの序論と第1部を読んでみました。
序論では、誰のために綺麗なコードを書くのかについてです。当たり前ですが、このコードを再利用するであろう他人のため、将来メンテナンスする誰かのため、新しくプロジェクトに参加する人のためですね。その他にも、「半年前の自分は赤の他人」ということで、未来の自分のためにも綺麗なコードを書きましょう、とも言っています。このへんは昔の自分に綺麗なコード書いてくれと諭したくなる出来事がありましてですね、身を持って知っているつもりではあります。実践できているのかといえばできていませんけどね!(ドヤァ
第1部は、コードの構造を書き換えるようなことは書いていません。結論をいえば「意味のある識別子を命名しよう」ということで、どれも表面的なことだけです。うまくやれば機械的にこなせるくらい。ですが、影響がある範囲を考えると重要なことです。毎度悩む識別子の名付け方に、読みやすさの観点からセンスの良い方法論を示してくれています。
たとえば、startとか、waitとかいったありきたりでそれ以上の意味が特にない名前よりも、start_secだとか、wait_msecみたいに、時間の単位をつけたほうが好ましいですよね、みたいな感じです。他にも、

  • このtempは何なの?
  • このretvalって何を返すの?
  • このsizeって何のサイズなの?

こういったことがエディタに映る前後のコードを見てもわからなかったら、この変数は何が入っているのか、曖昧でないよう、わかるように書き換えましょう、と教えてくれています。
また、イテレータを複数使うとき、i、j、k…と書くよりももっといい方法がありますよとも教えてくれました。昨日のコンテストに参加する少し前から読んでいたので、最初の方の考え方はそのとき書いたコードに反映されているはずです。読める方は読んでみるといいかもしれません。