『リーダブルコード』、はじめました。

こんばんは。

昨日はメーカー系デザイナーさん達のテニスの試合に助っ人で出てきました( ^ω^)

特に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週間で読むようにと書かれているので、

そのくらいで読み終わるようにしたいと思います( ^ω^)

  • -

うん。

ブログもなかなかスパゲッティな感じですね。

何を伝えたいのかわからない!ごっちゃごちゃ!



こんな記事を最後まで読んで下さってありがとうございます。

読みやすく書けるように、書くことを続けていきたいと思います。



おやすみなさい。