Java樹林– category –
-
【第2部】 Listをそのまま使わない。「ファーストクラスコレクション」で実現する、安全で凝集度の高いコード設計
この記事は、保守性の高いコード設計シリーズの一部です。前回の記事「【第1部】 forループのネストから脱却しよう。Stream APIと早期リターンで実現する、読みやすいコレクション処理」では、ループ処理をクリーンにする方法を学びました。 こんにちは。... -
【第1部】 forループのネストから脱却しよう。Stream APIと早期リターンで実現する、読みやすいコレクション処理
この記事は、保守性の高いコード設計シリーズの一部です。これまでの記事では、条件分岐を整理するための様々なデザインパターンを解説しました。今回は、多くの条件分岐が潜む「コレクションのループ処理」に焦点を当て、ネストを解消し、可読性を高める... -
【第3部】 複雑な条件分岐を賢く解決。ポリモーフィズムで実現する柔軟なルールエンジン設計
この記事は、保守性の高いコード設計シリーズの一部です。これまでの記事で、ifのネストを解消する「ガード節」や、switchの重複をなくす「ストラテジーパターン」を学びました。今回は、さらに複雑な条件分岐をエレガントに解決するための応用的なデザイ... -
【第2部】 switch文の増殖はバグの温床。ストラテジーパターンで条件分岐を撲滅する
この記事は、保守性の高いコード設計シリーズの一部です。前回の記事「【第1部】 ifのネストはもうやめよう。ガード節で可読性を劇的に改善するテクニック」では、ガード節を使ってif文のネストを解消する方法を学びました。 こんにちは。条件分岐には、if... -
【第1部】 ifのネストはもうやめよう。ガード節で可読性を劇的に改善するテクニック
この記事は、保守性の高いコード設計シリーズの一部です。これまでの記事では、クラス設計の原則について探求してきました。今回は、プログラミングの最も基本的な要素である「条件分岐」に焦点を当て、その可読性を損なう最大の要因である「ネスト」の問... -
【第3部】 メソッドチェーンは危険信号?「デメテルの法則」で実現する疎結合なクラス設計
この記事は、保守性の高いコード設計シリーズの一部です。これまでの記事で、凝集度を高めるための様々なテクニックを見てきました。今回はその総仕上げとして、クラス間の「お作法」とも言える重要な設計原則を学びます。 こんにちは。皆さんは、object.g... -
【第2部】 メソッドの引数、多すぎませんか?「プリミティブ型執着」を乗り越えるクラス設計
この記事は、保守性の高いコード設計シリーズの一部です。前回の記事「【第1部】 そのstaticメソッド本当に必要?凝集度を高める設計の基本」では、データとロジックを一つにまとめることの重要性を見ました。 こんにちは。メソッドを設計する際、その「顔... -
【第1部】 そのstaticメソッド本当に必要?凝集度を高める設計の基本
この記事は、保守性の高いコード設計シリーズの一部です。これまでの記事では、クラスの内部構造を堅牢にする「不変性」などについて解説しました。今回は、クラスとクラスの関係性に目を向け、ソフトウェアの変更を困難にする「低凝集」の問題とその解決... -
【第2部】 副作用をなくす設計術:不変オブジェクトがもたらす絶大な安定性
この記事は、保守性の高いコード設計シリーズの一部です。前回の記事「【第1部】 変数の再代入はなぜ悪い? finalで学ぶ、追跡しやすいコードの書き方」では、finalを使ってメソッド内部のコードを安定させる方法を学びました。 こんにちは。前回の記事で... -
【第1部】 変数の再代入はなぜ悪い? finalで学ぶ、追跡しやすいコードの書き方
この記事は、保守性の高いコード設計シリーズの一部です。これまでの記事では、クラス設計の基本として「完全コンストラクタ」や「値オブジェクト」を解説しました。今回は視点をメソッド内部に向け、コードの安定性を損なう「再代入」の問題とその解決策... -
【第2部】 不変性(Immutability)が鍵!安全な操作を実現する値オブジェクト設計入門
この記事は、保守性の高いコード設計シリーズの一部です。前回の記事「【第1部】 バグを未然に防ぐクラス設計:完全コンストラクタで実現する自己防衛責務」では、オブジェクトが不正な状態で生成されるのを防ぐ方法を学びました。 こんにちは。前回の記事... -
【第1部】 バグを未然に防ぐクラス設計:完全コンストラクタで実現する自己防衛責務
この記事は、保守性の高いコード設計シリーズの続編です。前回までの記事では、メソッドや変数の整理方法を解説しました。今回は、オブジェクト指向設計の核となる「クラス」に焦点を当て、バグを未然に防ぐための堅牢な設計手法を探求します。 こんにちは... -
【第2部】 データとロジックをまとめよう:クラスで実現する、堅牢なコード設計
この記事は、保守性の高いコード設計シリーズの一部です。前回の記事「【第1部】 読みやすいコードの第一歩:変数とメソッドの正しい扱い方」では、変数とメソッドを整理し、コードを読みやすくする方法を解説しました。 こんにちは。前回の記事では、変数... -
【第1部】 読みやすいコードの第一歩:変数とメソッドの正しい扱い方
この記事は、保守性の高いコード設計シリーズの一部です。プログラミングの初歩から一歩進んで、誰が読んでも理解しやすいコードを書くための具体的なテクニックを紹介します。 こんにちは。プログラミングを始めたばかりの頃は、とにかく動くコードを書く... -
データと振る舞いを分離させない!凝集度の高いクラス設計のすすめ
この記事は、読みやすいコードを書くための実践ガイドシリーズの一つです。前回の記事「深すぎるネストはバグの温床!ガード節でシンプルにする条件分岐の書き方」では、条件分岐をシンプルにする方法を解説しました。 こんにちは。今回は、オブジェクト指... -
深すぎるネストはバグの温床!ガード節でシンプルにする条件分岐の書き方
この記事は、読みやすいコードを書くための実践ガイドシリーズの一つです。前回の記事「その名前、未来の自分を苦しめますよ?読みやすいコードを書くための命名規則入門」も併せてお読みいただくと、より理解が深まります。 こんにちは。今回は、コードの... -
その名前、未来の自分を苦しめますよ?読みやすいコードを書くための命名規則入門
この記事は、読みやすいコードを書くための実践ガイドシリーズの一つです。コードの品質を向上させるための基本的なテクニックを紹介していきます。 こんにちは。ソフトウェア開発において、私たちはコードを書く時間よりも、他人の(あるいは過去の自分の...
1