商品の詳細
要旨(「BOOK」データベースより)
本書は、より成長させやすいコードの書き方と設計を学ぶ入門書です。システム開発では、ソフトウェアの変更が難しくなる事態が頻発します。コードの可読性が低く調査に時間がかかる、コードの影響範囲が不明で変更すると動かなくなる、新機能を追加したいがどこに実装すればいいかわからない…。変更しづらいコードは、成長できないコードです。ビジネスの進化への追随や、機能の改善が難しくなります。成長できないコードの問題を、設計で解決します。目次
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 プログラム構造の問題解決に役立つ設計パターン
Column 種類の異なる言語と本書のノウハウ
4 不変の活用 ―安定動作を構築する―
4.1 再代入
4.2 可変がもたらす意図せぬ影響
4.3 不変と可変の取り扱い方針
5 低凝集 ―バラバラになったモノたち―
5.1 staticメソッドの誤用
5.2 初期化ロジックの分散
5.3 共通処理クラス(Common・Util)
5.4 結果を返すために引数を使わないこと
Column C#のoutキーワード
5.5 多すぎる引数
5.6 メソッドチェイン
6 条件分岐 ―迷宮化した分岐処理を解きほぐす技法―
6.1 条件分岐のネストによる可読性低下
6.2 switch文の重複
Column クソコード動画「switch文」
6.3 条件分岐の重複とネスト
6.4 型チェックで分岐しないこと
6.5 interfaceの使いこなしが中級者への第一歩
6.6 フラグ引数
7 コレクション ―ネストを解消する構造化技法―
7.1 わざわざ自前でコレクション処理を実装してしまう
Column 車輪の再発明
7.2 ループ処理中の条件分岐ネスト
7.3 低凝集なコレクション処理
8 密結合 ―絡まって解きほぐせない構造―
8.1 密結合と責務
Column クソコード動画「共通化の罠」
8.2 密結合の各種事例と対処方法
Column クソコード動画「継承」
9 設計の健全性をそこなうさまざまな悪魔たち
9.1 デッドコード
9.2 YAGNI原則
9.3 マジックナンバー
9.4 文字列型執着
9.5 グローバル変数
9.6 null問題
9.7 例外の握り潰し
9.8 設計秩序を破壊するメタプログラミング
9.9 技術駆動パッケージング
9.10 サンプルコードのコピペ
9.11 銀の弾丸
10 名前設計 ―あるべき構造を見破る名前―
10.1 悪魔を呼び寄せる名前
10.2 名前を設計する―目的駆動名前設計
10.3 設計時の注意すべきリスク
10.4 意図がわからない名前
Column 技術駆動命名を用いる分野もある
10.5 構造を大きく歪ませてしまう名前
Column クソコード動画「Managerクラス」
10.6 名前的に居場所が不自然なメソッド
10.7 名前の省略
11 コメント ―保守と変更の正確性を高める書き方―
11.1 退化コメント
11.2 コメントで命名をごまかす
11.3 意図や仕様変更時の注意点を読み手に伝えること
11.4 コメントのルール まとめ
11.5 ドキュメントコメント
12 メソッド(関数) ―良きクラスには良きメソッドあり―
12.1 必ず自身のクラスのインスタンス変数を使うこと
12.2 不変をベースに予期せぬ動作を防ぐ関数にすること
12.3 尋ねるな、命じろ
Column クソコード動画「カプセル化」
12.4 コマンド・クエリ分離
12.5 引数
12.6 戻り値
Column メソッドの名前設計
Column staticメソッドの扱いに注意
13 モデリング ―クラス設計の土台―
13.1 邪悪な構造に陥りがちなUserクラス
13.2 モデリングの考え方とあるべき構造
13.3 良くないモデルの問題点と解決方法
Column クソコード動画「Userクラス」
13.4 機能性を左右するモデリング
14 リファクタリング ―既存コードを成長に導く技―
14.1 リファクタリングの流れ
14.2 ユニットテストでリファクタリングのミスを防ぐ
14.3 あやふやな仕様を理解するための分析方法
14.4 IDEのリファクタリング機能
14.5 リファクタリングで注意すべきこと
Column Railsアプリのリファクタリング
15 設計の意義と設計への向き合い方
15.1 本書はなんの設計について書いたものなのか
15.2 設計しないと開発生産性が低下する
15.3 ソフトウェアとエンジニアの成長性
15.4 課題を解決する
15.5 コードの良し悪しを判断する指標
Column クラスを分割すると読みにくくなる?
15.6 コード分析をサポートする各種ツール
Column シンタックスハイライトを品質可視化に利用する
15.7 設計対象と費用対効果
15.8 時間を操る超能力者になろう
16 設計を妨げる開発プロセスとの戦い
16.1 コミュニケーション
16.2 設計
16.3 実装
16.4 レビュー
16.5 チームの設計力を高める
17 設計技術の理解の深め方
17.1 さらにステップアップするための設計技術書紹介
Column バグ退治RPG『バグハンター2 REBOOT』
17.2 設計スキルを高める学び方
Column C#と長き旅、そして設計への道
内容紹介
「ITエンジニア本大賞2023」技術書部門で大賞受賞!本書は、より成長させやすいコードの書き方と設計を学ぶ入門書です。
システム開発では、ソフトウェアの変更が難しくなる事態が頻発します。
コードの可読性が低く調査に時間がかかる、
コードの影響範囲が不明で変更すると動かなくなる、
新機能を追加したいがどこに実装すればいいかわからない……。
変更しづらいコードは、成長できないコードです。
ビジネスの進化への追随や、機能の改善が難しくなります。
成長できないコードの問題を、設計で解決します。
著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)
仙塲 大也(センバ ダイヤ)青森県出身。大手電機メーカーなどを経て、現在はREADYFOR株式会社にてアプリケーションアーキテクトを務める。リファクタリングや設計全般を推進。悪しきコードとの戦いの中で設計の魅力に気付く。暇さえあれば脳内でリファクタリングしている。Twitterではプログラミングの風刺動画を不定期で投稿。Developers Summit 2021 Summerベストスピーカー賞3位。その他登壇多数
著者について
仙塲 大也 (センバ ダイヤ)青森県出身。大手電機メーカーなどを経て、現在はREADYFOR株式会社にてアプリケーションアーキテクトを務める。リファクタリングや設計全般を推進。
悪しきコードとの戦いの中で設計の魅力に気付く。暇さえあれば脳内でリファクタリングしている。
Twitterではプログラミングの風刺動画を不定期で投稿。
Developers Summit 2021 Summerベストスピーカー賞3位。その他登壇多数。
Twitter : ミノ駆動(@MinoDriven)
商品の説明
良いコード⁄悪いコードで学ぶ設計入門 \u2015保守しやすい 成長し続けるコードの書き方
断裁済良いコード⁄悪いコードで学ぶ設計入門 \u2015保守しやすい 成長し続けるコ
良いコード⁄悪いコードで学ぶ設計入門 \u2015保守しやすい 成長し続けるコードの書き方
書評ブログ] 「良いコード⁄悪いコードで学ぶ設計入門 保守しやすい成長
良いコード⁄悪いコードで学ぶ設計入門 \u2015保守しやすい 成長し続ける
良いコード/悪いコードで学ぶ設計入門の感想と注意点
良いコード 悪いコードで学ぶ設計入門 - コンピュータ・IT
理想形を知ることで、理想でないものを認識できるようになる 『良い
最安値店 良いコード⁄悪いコードで学ぶ設計入門 |
最新のクチコミ
本日商品が届きました。レビューの通り音が大きいですが、洗濯物が乾くので星5です。
- さざる
- クチコミ投稿 1件
購入品
家庭用の耕運機用に5Lサイズの携行缶を持っていますが、耕運機には0.5Lくらいしか入らないので何とも使い勝手が悪い状態でした。 専用の入れ物が付いていて携帯するには使いやすそうですが、使った後のノズルの処遇に少々困りますね。 せっかくの入れ物がガソリン臭くなるかと思いノズルなしで入れてみましたが、案の定ちょっとこぼれました。ノズル専用の漏れ防止の入れ物も付いていると良いなと思います。 更に蓋をなくしてしまったため蓋だけ購入しようと思いましたが、ネットショップで検索したら何と良いサイズのものが結構安く売っておりましたのでこれに決めました。
- mami....
- クチコミ投稿 1件
購入品
昨日ポチッとしたのに翌日届きました。 凄い可愛くて、造花にも見えません。 早速飾ってみました。
- Kokoperi4284
- クチコミ投稿 1件
購入品
出雲市出身です。いい時代になりました。ネットで懐かしい食品が取り寄せられるのですから! そのまま食べても ソースをかけても美味しくて。1枚食べたら数枚「やめられない止まらない」 ですよ。 こちらの友達にも好評です 1パック3枚入り 1食に3枚なんてペロリです。ちょっぴりピリッと
- 鈴木ま
- クチコミ投稿 1件
購入品
ただの板ながら、コンセプトとしては十分でしょう。ただし、デスクトップのキーボードで使用するには高さが足らず、パンタグラフ式のもの(ノートPCと同じ)であれば使用可能です。
- inori17
- クチコミ投稿 1件
購入品
ハロウィンの仮装用で購入しました。 スカートの下に履いたのですが、一枚でも満足なポリュームです。 色違いで購入したいです。 鮮やかな水色でとってもキレイで気に入りました。
- ゆきにい210
- クチコミ投稿 1件
購入品
磁石でとても便利が良くて、たくさん吊り下げても、おちなくて、綺麗に整理できるので、おすすめ。
- g-19
- クチコミ投稿 1件
購入品
発送にちょっと手違いがあったのですが お肉は柔らかくて美味しかったです♪ しゃぶしゃぶで食べたのは初めてだったのですが やっぱりジンギスカンの方がお口に合いました。 連絡後の対応が早くて良かったです。
- momomiepapa
- クチコミ投稿 1件
購入品
お年賀に毎年購入しています。 皆に喜ばれています。
- haruki23
- クチコミ投稿 1件
購入品
見本通りの色で、使い勝手も良さそうで嬉しいです。 早速使っていきます!
- γц-κι77
- クチコミ投稿 1件
購入品
値段の割に遊べます。 個人的にはクリケットルールがダーツLIVEのとかとちょっと違ったのが残念ですが、自分で計算してやると思います。
- ポニー164
- クチコミ投稿 1件
購入品
ローマ数字がポイントになっていて写真以上に可愛くて女子でもつけれます。 今度つけてのお出かけが楽しみです。
- ゆう72444037
- クチコミ投稿 1件
購入品
今まではグランズレメディを使用していましたが、少し値段がお高め…今回こちらの商品がお得になっていたので、初購入です! まだ使用中のものが残っていて、使いはじめるのはもう少し先になりますが期待を込めての☆5です(^-^) 使いはじめたら、レビュー追記します。
- むーんりー
- クチコミ投稿 1件
購入品