作者: 仙塲大也 [解除]
カテゴリー:
タグ:

件数: 2 シリーズ

改訂新版 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方

改訂新版 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方

著者: 仙塲大也
カテゴリ: ビジネス
レーベル: 不明
パブリッシャー: 技術評論社
発売日: 2024/12/25
ページ数: 不明
あらすじ
◆「あるべき構造」を知り、ソフトウェア開発の問題に立ち向かおう◆ 本書は、より成長させやすいコードの書き方と設計を学ぶ入門書です。筆者の経験をふまえ構成や解説内容を見直し、より実践的な一冊になりました。 システム開発では、ソフトウェアの変更が難しくなる事態が頻発します。 コードの可読性が低く調査に時間がかかる、 コードの影響範囲が不明で変更すると動かなくなる、 新機能を追加したいがどこに実装すればいいかわからない......。変更しづらいコードは、成長できないコードです。 ビジネスの進化への追随や、機能の改善が難しくなります。成長できないコードの問題を、設計で解決します。■こんな方におすすめ・コードの設計スキルに興味がある人・日々、悪いコードと向き合っていて改善したい人・より良いコードを書きたい人■目次●第1章 悪しき構造の弊害を知覚する──1.1 意味不明な命名──1.2 理解を困難にする条件分岐のネスト──1.3 さまざまな悪魔を招きやすいデータクラス──1.4 悪魔退治の基本●第2章 設計の初歩──2.1 省略せずに意図が伝わる名前を設計する──2.2 変数を使い回さない、目的ごとの変数を用意する──2.3 ベタ書きせず、目的ごとのまとまりでメソッド化──2.4 関係し合うデータとロジックをクラスにまとめる●第3章 カプセル化の基礎―ひとつにまとめる―──3.1 クラス単体で正常に動作するよう設計する──3.2 成熟したクラスへ成長させる設計術──3.3 悪魔退治の効果を検証する──3.4 プログラム構造の問題解決に役立つ設計パターン●第4章 不変の活用―安定動作を構築する―──4.1 再代入──4.2 可変がもたらす意図せぬ影響──4.3 不変と可変の取り扱い方針●第5章 バラバラなデータとロジックをカプセル化する実践技法──5.1 プリミティブ型執着──5.2 staticメソッドの誤用──5.3 初期化ロジックの分散──5.4 共通処理クラス(Common・Util)──5.5 結果を返すために引数を使わないこと──5.6 多すぎる引数──5.7 アクセス連鎖●第6章 関心の分離という考え方―分けて整理する―──6.1 関心の分離の基本──6.2 目的の違いを見破り、分離しカプセル化する──6.3 インターフェイスと実装の分離●第7章 関心が混ざったコードを分けて整理する実践技法──7.1 ロジックの流用──7.2 継承による関心の混在──7.3 関心が混在する各種事例と対処方法●第8章 条件分岐―迷宮化した分岐処理を解きほぐす技法―──8.1 条件分岐のネストによる可読性低下──8.2 switch文の重複──8.3 interface設計の考え方を身につけよう──8.4 条件分岐の重複とネスト──8.5 型の判定で分岐しないこと──8.6 フラグ引数──8.7 interfaceの使いこなしが中級者への第一歩●第9章 コレクション―ネストを解消する構造化技法―──9.1 自前でコレクション処理を実装してしまう──9.2 ループ処理中の条件分岐ネスト──9.3 バラバラなコレクション処理●第10章 設計の健全性をそこなうさまざまな悪魔たち──10.1 デッドコード──10.2 YAGNI原則──10.3 マジックナンバー──10.4 文字列型執着──10.5 グローバル変数──10.6 null問題──10.7 例外の握り潰し──10.8 設計秩序を破壊するメタプログラミング──10.9 技術駆動パッケージング──10.10 サンプルコードのコピペ──10.11 銀の弾丸●第11章 名前設計―あるべき構造を見破る名前―──11.1 悪魔を呼び寄せる名前──11.2 名前を設計する―目的駆動名前設計──11.3 設計時の注意すべきリスク──11.4 意図がわからない名前──11.5 構造を歪ませてしまう名前──11.6 名前的に居場所が不自然なメソッド──11.7 名前の省略●第12章 コメント―保守と変更の正確性を高める書き方―──12.1 退化コメント──12.2 コメントで命名をごまかす──12.3 目的や仕様変更時の注意点を読み手に伝えること──12.4 コメントのルール まとめ──12.5 ドキュメントコメント●第13章 メソッド(関数) ―良きクラスには良きメソッドあり―──13.1 必ず自身のクラスのインスタンス変数を使うこと──13.2 不変をベースに予期せぬ動作を防ぐ関数にすること──13.3 尋ねるな、命じろ──13.4 コマンド・クエリ分離──13.5 引数──13.6 戻り値●第14章 モデリング―クラス設計の土台―──14.1 邪悪な構造に陥りがちなUserクラス──14.2 モデリングの考え方とあるべき構造──14.3 良くないモデルの問題点と解決方法──14.4 機能性を左右するモデリング●第15章 リファクタリング―既存コードを成長に導く技―──15.1 リファクタリングの流れ──15.2 安全にリファクタリングする方法──15.3 あやふやな仕様を理解するための分析方法──15.4 IDE のリファクタリング機能──15.5 リファクタリングで注意すべきこと●第16章 設計の意義と設計への向き合い方──16.1 本書はなんの設計について書いたものなのか──16.2 設計しないと開発生産性が低下する──16.3 ソフトウェアとエンジニアの成長性──16.4 課題を解決する──16.5 コードの良し悪しを判断する指標──16.6 コード分析をサポートする各種ツール──16.7 設計対象と費用対効果──16.8 時間を操る超能力者になろう●第17章 設計を妨げる開発の進め方との戦い──17.1 コミュニケーション──17.2 設計──17.3 実装──17.4 レビュー──17.5 チームの設計力を高める●第18章 設計技術の理解の深め方──18.1 さらにステップアップするための設計技術書紹介──18.2 設計スキルを高める学び方■著者プロフィール仙塲大也:X(旧Twitter)-ミノ駆動(@MinoDriven)。青森県出身。大手電機メーカーからWeb業界へ転身。アプリケーションアーキテクトとして、リファクタリングやアーキテクチャ改善、若手の設計スキル育成といった、設計全般を推進する業務に従事。悪しきコードとの戦いの中で設計の魅力に気付く。暇さえあれば脳内でリファクタリングしている。X(旧Twitter)ではプログラミングの風刺動画を不定期で投稿。登壇実績多数。Developers Summitではベストスピーカー賞など受賞多数。
良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方

良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方

著者: 仙塲大也
カテゴリ: ビジネス
レーベル: 不明
パブリッシャー: 技術評論社
発売日: 2022/05/03
ページ数: 不明
あらすじ
本書は,より成長させやすいコードの書き方と設計を学ぶ入門書です。システム開発では,ソフトウェアの変更が難しくなる事態が頻発します。コードの可読性が低く調査に時間がかかる,コードの影響範囲が不明で変更すると動かなくなる,新機能を追加したいがどこに実装すればいいかわからない……。変更しづらいコードは,成長できないコードです。ビジネスの進化への追随や,機能の改善が難しくなります。成長できないコードの問題を,設計で解決します。