【読書】リーダブルコード

読んだ本

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

  

概要

より良いコードを書くための実践的テクニックの本。

なぜ読んだか

開発をしているときに、改行をどこでするか悩むことが多かったためよみました。

下のように、普通に書くこともできれば

func Hoge(parameter1: Int, parameter2: String) -> Bool {

}

こうやって、パラメーターに改行もできるし

func Hoge(parameter1: Int,
          parameter2: String) -> Bool {

}

返却の型に対しても、改行ができます。

func Hoge(parameter1: Int,
          parameter2: String)
    -> Bool {

}

何が良いのかよく分からなくなったため、指針を探すために本を読みました。

学んだこと

リーダブルコード第4章(美しさについての章)がとても参考になりました。

ソースコードの美しさを守るための3つの原則

  • 読み手が慣れているパターンと一貫性のあるレイアウトを使う。
  • 似ているコードは似ているように見せる
  • 関連するコードをまとめてブロックにする

この原則を守るために、以下のことを心がける必要がある。

  • 複数のコードブロックで同じようなことをしていたら、シルエットも同じようなものにする
  • コードの「列」を整列して、概要を把握しやすくする
  • ある場所でA・B・C・Dのように並んでいるものは、他の場所でもその順番を守る
  • 空行を使って大きなブロックを論理的な「段落」に分ける

最初に思っていた疑問への答え

最終的には好み

冒頭にあげていた、改行への疑問は、最終的にプログラマーの好みになるということがわかりました。

しかし、同じプロジェクト上で2つの書き方が混在していると、ソースコードが読みにくくなるということも学びました。

疑問点

プロジェクト内で2つ以上の思想がある場合は、どのように解決していくのが良いのかなと思いました。

書き方について、こだわりのあるエンジニアがいた場合は、良い感じに話し合っていくのが良いのかもしれません。

また、余計な衝突を防ぐためにも、「1行に100文字以上は書かない」などのルールを設けておくことも大事なのかなと思いました。