リーダブルコードを読む part4
こんにちはかわです。
アドベントカレンダー19記事目です
以下の続きです。
4章 美しさ
- 読み手が慣れているパターンと一貫性のあるレイアウトを使う
- 似ているコードは似ているように見せる
- 関連するコードはまとめてブロックにする
1 なぜ美しさが大切なのか?
見た目が美しい方が使いやすい
ー>プログラミングの時間のほとんどはコードを読む時間だから
流し読みしやすいコードを心がける
2 一貫性のある簡潔な改行位置
一貫性をもたせるために適切な位置に改行、コメントも整列させる
3 メソッド使った整列
同じメソッドを引数を変えて複数使っている場合、
ヘルパーメソッドを使用することでコードを整形し直した。
この章の例では変更の効果として、
- 重複を排除したことでコードが簡潔に
- 重要な部分が見やすくなった
- テストの追加が簡単になった
見た目を良くすることは表面上の改善だけではなく、
コードの構造も改善できる。
4 縦の線をまっすくにする
例
//hoge(a, b, c) a:String b:Int c:float という関数があるとする。 hoge("hello", 500 , 1.2) hoge("world", 4000, 3.14) hoge("kawa" , 10 , 109.8) //二番目、三番目の引数がわかりやすくなる
縦の線が「視覚的な手すり」になれば流し読みがし易い効果がある。
似ているコードは似ているように見せる効果がある。
5 一貫性と意味のある並び
コードの並びがコードの正しさに影響することは少ないが、
ランダムに並べるより、意味のある順番に並べるべき場合もある
- 対応するHTMLフォームの
<input>
フィールドと同じ並びにする - 「最重要」なものから重要度順に並べる
- アルファベット順に並べる
以上の並べ方がある
また、一連のコードでは同じ並び順を使うべし
email = "・・・・@・・・.com" phone = "0123456789" url = "・・・.com" print(phone) //この順番だとあとでわからなくなる print(email) print(url)
6 宣言をブロックにまとめる
宣言をする時、
メソッドの働きごとに分けて宣言することで、
概要が把握しやすくなる
7 コードを「段落」に分割する
コードの機能ごとに段落を作るべし。
その際にコメントを記入するとコードをざっと目に通しやすくなる。
8 個人的な好みと一貫性
個人的な好みがコードに反映される場合がある。
class hoge{ ・・・ } class hoge { ・・・ }
どちらを選んでもいいが、
2つのスタイルを混ぜてしまうと読みにくくなる
スタイルを一貫することが大事