〔電子〕[増補改訂]良いコードを書く技術 ── 読みやすく保守しやすいプログラミング作法

WEB+DB PRESS plus

縣 俊貴

2021年4月23日

技術評論社

2,948円(税込)

PC・システム開発

こちらの書籍は 2022/07/11 紙版の2刷に対応するため更新をおこないました。 (概要) 読みやすく保守しやすい「良いコード」の書き方を解説した入門書です。本書を読むと、良いコードを書くための習慣から、名前の付け方、コードの分割や集約を行う方法、抽象化の作法、計算量とアルゴリズム、ユニットテストやメタプログラミング、そして簡単なフレームワークの自作まで、プログラマーとして長く役立つ基本が身に付きます。 2011年に刊行し、大好評を博した初版を、10年ぶりに改訂しました。改訂版では、コード例をモダン化したほか、第7章「データ構造」を新たに書き下ろしました。10年ぶりの改訂であるにも関わらず、本書の根幹は驚くほど変わっていません。それはすなわち、基礎や基本といった本質的な知識は、陳腐化しないということです。 (こんな方におすすめ) ・良いコードを書きたいけれども、何から手を付けていいかわからない方 ・良い仕事をしたい初級から中級のプログラマーの方 ・読みやすく保守しやすいコードを書きたい方 ・新人に良いコードとは何かを知ってほしい先輩・上司・達人プログラマーの方 (目次) 第1章 良いコードとは何か   1.1 良いコードの定義と価値   1.2 良いコードの定義   1.3 良いコードの価値   1.4 代表者の声   1.5 まとめ 第2章 良いコードを書くための5つの習慣   2.1 良いコードは1日にしてならず   2.2 習慣その1 読む ── コードを読んで読んで、読みまくれ!   2.3 習慣その2 書く ── とにかくコードを書こう   2.4 習慣その3 道具を磨く ── 使う道具は常に磨いておこう   2.5 習慣その4 知る ── 良い知識を得よう   2.6 習慣その5 聞く ── アウトプットと人からのフィードバックでさらなる成長を   2.7 まとめ 第3章 名前付け   3.1 良いコードは良い名前から生まれる   3.2 代表者の声   3.3 良い名前の条件   3.4 変数名   3.5 メソッド名   3.6 クラス名   3.7 パッケージ/ネームスペース名   3.8 プロジェクト名   3.9 まとめ 第4章 スコープ   4.1 スコープを意識していますか?   4.2 スコープって何?   4.3 スコープを小さくして覚えておくことを減らそう!   4.4 代表者の声   4.5 変数のスコープ   4.6 メソッドのスコープ   4.7 クラスのスコープ   4.8 キャストを使用した可視性の制御   4.9 より大きな粒度のスコープ   4.10 まとめ 第5章 コードの分割   5.1 適切な長さにコードを分割する   5.2 なぜコードを分割するのか   5.3 代表者の声   5.4 2つの方向からの分割   5.5 お題 クライアントにXMLを返すWeb APIの処理を分割する   5.6 ステップ1 ベタなコードで書いてみる   5.7 ステップ2 共通処理をメソッドに抽出して分割する   5.8 ステップ3 処理単位で分割する   5.9 ステップ4 状態を持つ処理をクラスに抽出して分割する   5.10 まとめ 第6章 コードの集約   6.1 コードの重複は悪   6.2 代表者の声   6.3 メソッドに抽出してまとめる   6.4 継承でまとめる   6.5 ユーティリティクラスにまとめる   6.6 サービス層にまとめる   6.7 オブジェクトにまとめる   6.8 定数にまとめる   6.9 列挙型(enum)にまとめる   6.10 まとめ 第7章 データ構造   7.1 データ構造で勝負が決まる   7.2 代表者の声   7.3 データ構造とは?   7.4 データ構造の指針   7.5 お題 美容室の予約画面のHTMLを出力する   7.6 ステップ1 データベースのデータ構造をそのまま利用する   7.7 ステップ2 処理に最適なデータ構造を把握する   7.8 ステップ3 最適なデータ構造に変換して利用する   7.9 まとめ 第8章 コードのパフォーマンス   8.1 パフォーマンスを意識していますか?   8.2 代表者の声   8.3 パフォーマンスは計算量で決まる   8.4 パフォーマンスチューニングの手順   8.5 アルゴリズムの選択以外のパフォーマンスチューニング   8.6 パフォーマンスチューニングの指針   8.7 まとめ 第9章 ユニットテスト   9.1 テストはお好きですか?   9.2 ユニットテストって何?   9.3 代表者の声   9.4 ユニットテストの効能   9.5 お題 Webアプリケーションのセキュリティテスト   9.6 ステップ1 データベースにテストデータを登録する   9.7 ステップ2 画面の実装   9.8 ステップ3 画面のユニットテスト(正常系)   9.9 ステップ4 画面のユニットテスト(異常系)   9.10 ユニットテストの指針   9.11 まとめ 第10章 抽象化   10.1 抽象化がプログラミングのパワーを最大化する   10.2 配列/リストって何?   10.3 配列/リストを利用した抽象化とは?   10.4 代表者の声   10.5 お題 画像ファイルの一覧を表示するWebアプリケーション   10.6 ステップ1 ベタなコードで書いてみる   10.7 ステップ2 可読性を高めるためのメソッド抽出   10.8 ステップ3 関連するデータのデータ構造を整理   10.9 ステップ4 配列/リスト化して抽象化   10.10 抽象化の指針   10.11 まとめ 第11章 メタプログラミング   11.1 プログラミングをプログラミングする   11.2 代表者の声   11.3 メタプログラミングって何?   11.4 お題 Javaコードを使った内部DSL   11.5 ステップ1 ベタなコードで書いてみる   11.6 ステップ2 メタデータを内部DSLに移動する   11.7 ステップ3 変換ルールに対応する   11.8 まとめ 第12章 フレームワークを作ろう   12.1 フレームワークの動作原理を知る   12.2 代表者の声   12.3 お題 Webアプリケーションフレームワークを作ろう   12.4 ステップ1 素のサーブレットで書いてみる   12.5 ステップ2 フロントコントローラとアクションクラスの導入   12.6 ステップ3 ルーティング情報の外部ファイル化   12.7 ステップ4 よく使う処理を簡単に実行できるように共通化する   12.8 ステップ5 フレームワークをパッケージ化する   12.9 まとめ 付録A コードリーディングの方法 付録B 解説付き参考文献

本棚に登録&レビュー

みんなの評価(0

--

読みたい

0

未読

0

読書中

0

既読

0

未指定

3

書店員レビュー(0)
書店員レビュー一覧

みんなのレビュー

レビューはありません

Google Play で手に入れよう
Google Play で手に入れよう
キーワードは1文字以上で検索してください