TECH PLAY

読みやすいコードのガイドライン -持続可能なソフトウェア開発のために

2,750円 (税込)

楽天

読みやすいコードのガイドライン -持続可能なソフトウェア開発のために

書籍情報

発売日:

著者/編集:石川 宗寿

出版社:技術評論社

発行形態:単行本

書籍説明

内容紹介

読みやすく、理解しやすいコードの答えは、目的や時代によって千差万別で、1つのアプローチではカバーしきれません。どんな状況にも対応するために必要なのは、可読性について体系的に理解を深めることです。

目次

はじめに ■■■第1章 可読性の高いコードを書くために ■■1-1 生産性への恩恵 ■1-1-1 開発の規模と生産性の関係 ■1-1-2 可読性を高めるための環境と評価体制 ■■1-2 可読性の高いコードを書くための要件 ■1-2-1 可読性に関連する指標 ■1-2-2 可読性を高める取り組み方 ■■1-3 代表的なプログラミング原則 ■1-3-1 ボーイスカウトルール ■1-3-2 YAGNI ■1-3-3 KISS ■1-3-4 単一責任の原則 ■1-3-5 早計な最適化は諸悪の根源 ■■1-4 まとめ ■■■第2章 命名 ■■2-1 命名に使う文法 ■2-1-1 名詞または名詞句 ■2-1-2 命令文 ■2-1-3 その他の文法 ■2-1-4 なぜ文法を無視した命名がされるのか ■■2-2 名前の示す内容 ■2-2-1 例:引数の名前 ■2-2-2 例:関数の名前 ■2-2-3 例外:抽象メソッド ■■2-3 単語の選択 ■2-3-1 曖昧性の少ない単語を選ぶ ■2-3-2 紛らわしい省略語を避ける ■2-3-3 単位を型で示す ■2-3-4 肯定的な単語を用いる ■■2-4 言語・プラットフォーム・プロダクトの規約 ■■2-5 まとめ ■■■第3章 コメント ■■3-1 コメントの種類と目的 ■■3-2 ドキュメンテーション ■3-2-1 アンチパターン ■3-2-2 ドキュメンテーションの構成 ■3-2-3 ドキュメンテーションの要約 ■3-2-4 ドキュメンテーションの詳細 ■■3-3 非形式的なコメント ■3-3-1 大きなコードの分割 ■3-3-2 非直感的なコードの説明 ■■3-4 まとめ ■■■第4章 状態 ■■4-1 可変の値の方が有用なケース ■■4-2 複数の変数間の直交性 ■4-2-1 直交の定義 ■4-2-2 手法:関数への置き換え ■4-2-3 手法:直和型での置き換え ■■4-3 状態遷移の設計 ■4-3-1 不変性 ■4-3-2 冪等性 ■4-3-3 非巡回 ■■4-4 まとめ ■■■第5章 関数 ■■5-1 関数の責任 ■5-1-1 責任の分割の基本方針 ■5-1-2 コマンドとクエリの分離 ■■5-2 関数の流れ ■5-2-1 定義指向プログラミング ■5-2-2 早期リターン ■5-2-3 操作対象による分割 ■■5-3まとめ ■■■第6章 依存関係 ■■6-1 依存関係の例 ■■6-2 依存の強さ:結合度 ■6-2-1 内容結合 ■6-2-2 共通結合と外部結合 ■6-2-3 制御結合 ■6-2-4 スタンプ結合とデータ結合 ■6-2-5 メッセージ結合 ■■6-3 依存の方向 ■6-3-1 呼び出し元→呼び出し先 ■6-3-2 具体→抽象 ■6-3-3 複雑・可変→単純・不変 ■■6-4 依存の重複 ■6-4-1 数珠つなぎの依存 ■6-4-2 依存の集合の重複 ■■6-5 依存の明示性 ■6-5-1 アンチパターン1:過度な抽象化 ■6-5-2 アンチパターン2:暗黙的な変域 ■■6-6 まとめ ■■■第7章 コードレビュー ■■7-1 レビューイの注意点1:レビューしやすいプルリクエストを作る ■7-1-1 プルリクエストの目的の明示 ■7-1-2 プルリクエストの分割 ■7-1-3 コミットの構造化 ■■7-2 レビューイの注意点2:コメントを適用する方法 ■7-2-1 間違ったコメントや質問への対応 ■7-2-2 提案の意図の理解 ■7-2-3 他の部分への適用 ■■7-3 レビューアの注意点1:レビュー実施時の基本原則 ■7-3-1 レビュー依頼を放置しない ■7-3-2 問題のあるプルリクエストを拒否する ■7-3-3 締切を意識しない ■7-3-4 「提案」以外のコメントを考慮する ■■7-4 レビューアの注意点2:コメントの内容 ■7-4-1 ケーススタディ ■■7-5まとめ ■■■付録 本書を読む上で必要となるKotlinの文法

著者情報

石川 宗寿

LINE株式会社 LINE Platform Developmentセンター2 モバイルエクスペリエンス開発室 ディベロッパーエクスペリエンス開発チーム所属。シニアソフトウェアエンジニアとして、コミュニケーションアプリ"LINE"のAndroid版の開発に従事。"LINE"のソースコードの可読性向上のため、自らリファクタリング・コードレビューをする他、可読性にかかわる開発文化や基盤の構築、教育・採用プロセスの改善なども行う。

石川, 宗寿

類似書籍