
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
- 購入: 68人 クリック: 1,802回
- この商品を含むブログ (138件) を見る
序文
リーダブルコード学習8日目。
N予備校の中の人に見つかった気がするが、気づかなかったことにする。
Twitterをはじめたようです。(新しいアカウントで)
フォローしていただけると喜びます。
旧アカウントフォローしていただいた方すいません。
GitHub
進捗
- 11章 一度に1つのことを
(学習時間:3時間)
コード実装部分(一部)
- 複数のタスクを整理する
\CodeExample\11章 一度に1つのことを\11-2 オブジェクトから値を抽出する\location-info.js
// なんか汚い const place = locationInfo["LocalityName"]; // 例:"Santa Monica" if (!place) { place = locationInfo["SubAdministrativeAreaName"]; // 例:"Los Angeles" } if (!place) { place = locationInfo["AdministrativeAreaName"]; // 例:"California" } if (!place) { place = "Middle-of-Nowhere"; } if (locationInfo["CountryName"]) { place += ", " + locationInfo["CountryName"]; // 例:"USA" } else { place += ", Planet Earth"; } return place; /******************* 改善例 ********************/ // 同種のタスクを1箇所にまとめる // locationInfoから値を抽出する const town = locationInfo["LocalityName"]; // 例:"Santa Monica" const city = locationInfo["SubAdministrativeAreaName"]; // 例:"Los Angeles" const state = locationInfo["AdministrativeAreaName"]; // 例:"California" const country = locationInfo["CountryName"]; // 例:"USA" // 「都市」の優先順位を調べる let secondHalf = "Planet Earth"; if (country) { secondHalf = country; } if (state && country === "USA") { secondHalf = state; } // 「国」の優先順位を調べる let firstHalf = "Middle-of-Nowhere"; if (state && country !== "USA") { firstHalf = state; } if (city) { firstHalf = city; } if (town) { firstHalf = town; } // かっこいい書き方 const town = locationInfo["LocalityName"]; // 例:"Santa Monica" const city = locationInfo["SubAdministrativeAreaName"]; // 例:"Los Angeles" const state = locationInfo["AdministrativeAreaName"]; // 例:"California" const country = locationInfo["CountryName"]; // 例:"USA" const firstHalf, secondHalf; if (country === "USA") { firstHalf = town || city || "Middle-of-Nowhere"; secondHalf = state || "USA"; } else { firstHalf = town || city || state || "Middle-of-Nowhere"; secondHalf = country || "Planet Earth"; }
- その他実装部分
実行結果
ねえよ
感想
今日取り組んだ11章のタイトルは「一度に1つのことを」。
単純に「ひとつの関数で複数の処理をさせないようにしましょう」って話なのかと思ったら、それだけにとどまらず「似たような処理を同じ場所に集中させましょう」という内容も含まれていて、これはなるほどなと思うところがあった。
というか、例みたいにコードは結構書いてるような気がするなー。
今度、同じようなコードを書いた時に、今日の内容を思い出せるように。
カロリーメイトください。
BGM
だいたいかんちがい / リアル3区