読者です 読者をやめる 読者になる 読者になる

リーダブルコード

リファクタリング 技術書

リーダブルコード。

有名な本で、何回も読んでいますが少しまとめます。

 

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

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

 

 

この本の目的は、より良いコードを書く。

気になったものをリストにしておく

 

・いい名前をつける

明確な単語をつけよう。汎用的抽象的な名前はやめよう。

フォーマットを決めよう。

名前に情報をつける。重要な属性をつける。

例)

限界値はmin,max

範囲はfirst,last

包含/排他的範囲はbegin,end (日付の範囲とか?)

・スコープは小さくしよう

・一貫性のある簡潔な改行位置、並び、宣言(見た目がきれいにね)

・コードは段落に分割する

・価値のあるコメントを書こう

大切なことを説明しよう

・定数にもコメントをつける

・プロジェクトを熟知してない人が読み手と考える。

・条件式の引数の並び順を意識する

if (length >= 10)

のように、左側は変化する値、右側は比較対象のあまり変化しない値

英語の用法だ。

もし君が18歳以上ならば、をもし18年が君の年齢以下ならば

とはいわないはずだ。

・条件は否定式よりも肯定式を使う。

・単純な条件を先に書く。

・関心を引く条件や目立つ条件を先に書く

・do/whileはさける

・関数から早く返す

用が済んだらreturn。

・ネスとを浅くする

・説明変数や要約変数を使って処理を分割してみる

if line.split(':')[0].strip() == 'root'

username = line.split(':')[0].strip()

if username == 'root'

みたいにね

・ド・モルガンの法則を使う

情報処理でやったな〜

 ! (a || b || c) は !a && !b && !cに

! (a && b && c)は !a || !b || !c

にね

・複雑な条件になってしまったら、反対を考えるとシンプルな条件になるかも

・中間変数は削除しよう。早めにreturnすれば不必要になるかも

・無関係の下位問題を積極的に見つけて抽出すること

・きれいなインタフエース

引数が少なく、事前設定も必要なく、面倒なことをしなくてもいいライブラリ

・タスクは小さくする、一度にひとつのタスクを行う

・有用なライブラリは積極的に使う

・必要なコードは削除する

・テストは読みやすくする

 

最後に高品質なコードを書くための書籍紹介

 

 

Code Complete 第2版 上 完全なプログラミングを目指して

Code Complete 第2版 上 完全なプログラミングを目指して

 
Code Complete 第2版 下 完全なプログラミングを目指して

Code Complete 第2版 下 完全なプログラミングを目指して

 

 

 

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

 

 

 

プログラミング作法

プログラミング作法

 
コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)

コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)

 
達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 42人 クリック: 1,099回
  • この商品を含むブログ (351件) を見る