『リーダブルコード』、はじめました。
こんばんは。
昨日はメーカー系デザイナーさん達のテニスの試合に助っ人で出てきました( ^ω^)
特にT●SHIBAのデザイナーさんが激アツで、とっても面白い方でした!
踵にローラーがついているスニーカーを自慢げに披露し、買うように熱心に勧められました。。
fbの友達申請しようかと思ったら名前がわからなくて無理でした_(:3」∠)_
- -
さて、今回はBackboneではなく『リーダブルコード』のお話です。
『リーダブルコード』
著 ダズウィン・ボスウェル,トレバー・フォシェ
訳 角 征典
わたしはこの2ヶ月間コードを書いてきて、
関数名
変数名
と
コメント
の書き方にたびたび困りました。。
- -
命名規則
何をしている関数なのか?
何をいれる変数なのか?
自分のコードですら時間が経つとよくわからなくなってしまう状態でした。。
研修では、命名に気をつけなさいと何度も言われてきました。
そして色んな技(というかコツ?)を教えてもらいました。
1.頭に動詞を持ってくるとしっくりくる
(S)VOC
(S)VOO
(S)VO
※キャメルケースで書く
ex)
function addNumber(a, b){
return a + b;
}
2.インスタンスの頭文字は小文字、コンストラクタの頭文字は大文字
var photoView = new PhotoView();
3.他多数…
規則がたくさんありすぎて覚えられない。。と、嘆いていました(´・ω・`)そしてよく間違う
- -
コメント大杉
あとで自分にわかるように、と思ってコメントを書きまくっていました。
しかしAYMさんにコードレビューしてもらったときに
「このコメントいらない」という指摘をされてとても焦りました。
(こ、コメントってすればするほどいいんじゃないの?あとで圧縮したら消えるし・・・)
的なことを考えていたのですが、わたしの考えをさとったのか
「この本読みなー」と、AYMさんが薦めてくださった本がこの「リーダブルコード」です。
(研修の講師の先生も度々紹介してくださっていました)
この本の概要を軽く読んで、わたしの考えがやはりアホだったことがわかりました。
命名規則に関しても、コメントに関しても。
- -
本題
さてさて。
今日は、リーダブルコードの冒頭です。
優れたコードとは。
以下のコードのどちらが優れたコードだと思いますか?
1) for (Node* node = list->head; node != NULL; node = node->next)
Print(node->data);
2)Node* node = list->head;
if (node == NULL) return;
while (node->next != NULL) {
Print(node->data);
node = node->next;
}
if (node != NULL) Print(node->data);
「簡略」か「安心」か。
key word
読みやすさの基本定理
「コードは他の人が最短時間で理解できるように書かなければならない」
つまり、理解するまでの時間を最短にする。
理解する:コードを変更できる、バグを見つけられる、他のコードと連携できる
簡略しすぎると理解するまでに時間がかかる。。
わかりやすくしようしてコードを長くしてしまうと読むのに時間がかかる。。
この本では、理解しやすいコードを書くための方法として
1部:表面上の改善(名前、美しさ、コメントについて)
2部:ループとロジックの単純化(制御フロー、論理式、変数など)
3部:コードの再構成
4部:その他
という、4部構成で紹介している。
1部では1行ずつ改善する方法、
2部ではプログラムの構造をちょこっと変更する技法、
3部ではプログラムをガラっと変える技法を紹介している。
1~2週間で読むようにと書かれているので、
そのくらいで読み終わるようにしたいと思います( ^ω^)
- -
うん。
ブログもなかなかスパゲッティな感じですね。
何を伝えたいのかわからない!ごっちゃごちゃ!
こんな記事を最後まで読んで下さってありがとうございます。
読みやすく書けるように、書くことを続けていきたいと思います。
おやすみなさい。