川のブログ

川の適当気ままなブログです。 

リーダブルコードを読む part4

こんにちはかわです。

アドベントカレンダー19記事目です

以下の続きです。

kawakawa.hatenablog.com

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つのスタイルを混ぜてしまうと読みにくくなる

スタイルを一貫することが大事

以上

kawakawa.hatenablog.com