• Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド

学習と現場をつなぐ

ポンコツPdMの開発メモ

お問い合わせはこちら
  • Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • 成長ガイド
  • Java
    Javaに関するテーマ
  • Spring
    特にSpringについてはこちら
  • 開発現場メモ
    開発に関するノウハウやメモ
変更要求を追加・不具合・未決の三つの行き先へ仕分ける図

仕事・チーム開発

2026/10/1

仕様変更が続くときの管理方法|変更要求票で「追加・不具合・未決」を分ける

「小さな修正だから、ついでに入れて」。これが一日に何件も届くと、何が合意済みで、何が今回のリリースに入るのか分からなくなります。 この場面では、変更を止めるより、まず『追加・不具合・未決』を分けることを優先します。 分けずに作業へ載せると、バグを後回しにしたり、新しい要望を無償の修正として扱ったりします。変更自体は歓迎しても、影響と決定者は記録します。 以下は架空の問い合わせ管理アプリです。件名は1〜100文字、受付済みの問い合わせの件名は投稿者が変更できない、という仕様をいったん合意した前提にします。 ...

注文DTOの中に子オブジェクトと明細のリストが入る階層図。子の入力まで検証する

実装・エラー解決

2026/10/1

Spring BootでネストしたDTOのバリデーションが効かない原因|Listの中まで検証する方法

注文APIで、注文者名が空なら400になるのに、明細の品番が空でも保存される。コントローラー引数に @Valid があるのを確認しても、原因が見えないことがあります。 私なら最初に見るのは、親から子へ検証を進める指定があるかです。親の検証は、子の中身を自動で全部たどるわけではありません。注文と複数明細を例に、検証する階層を見える形にします。以下は Java 21、Spring Boot 3.5系と spring-boot-starter-validation の例です。 症状を一つのJSONで再現する { ...

許可範囲の前・ちょうど・後を数直線とテスト表で示す図。境界値を実行可能にする

設計・テスト・レビュー

2026/10/15

JUnitで境界値テストをまとめる方法|ParameterizedTestとCsvSourceの使い方

「1〜100文字を許可する」という仕様をテストするとき、10文字の正常系を一つ書くだけでは、length < 100という間違いを見つけられません。境界の値を表にしても、その表がコードから離れていれば、仕様変更後にテストだけ古くなることもあります。 この記事では、架空の問い合わせ管理で「件名は空白だけを認めず、Unicodeコードポイント数で1〜100」という仕様を採用します。私の結論は、同じ判定を異なる入力で繰り返す境界値だけをパラメータ化することです。null、空白、絵文字の数え方のように失敗の ...

開始日と終了日のカレンダーを並べて前後関係を確かめる図。日付の前後を仕様で決める

実装・エラー解決

2026/10/6

Spring Bootで開始日と終了日をチェックする方法|相関バリデーションの実装例

申請フォームに開始日と終了日を追加した。両方に @NotNull を付けたのに、「終了日が開始日より前」の申請が保存されてしまう。これはアノテーションが壊れたのではありません。@NotNull が確認するのは一つの値で、二つの日付の関係は別の仕様だからです。 ここでは「開始日・終了日は両端を含み、同じ日でも申請可能」と決めます。二つの値を持つDTOにクラス単位の制約を付け、エラーは終了日へ返します。題材は架空の申請アプリです。コード例は Java 21、Spring Boot 3.5系、spring-bo ...

再現手順と期待結果・実際の結果を分けた報告書の図。観測できるバグ報告を書く

仕事・チーム開発

2026/10/1

バグ報告書の書き方|再現手順・期待結果・実際の結果を伝える記入例

「件名の入力がおかしいです」と連絡されても、受け取った人は何を入力したのか、どの画面で、どうなるはずだったのか分かりません。調べる側が再質問している間にも、同じ問題が起き続けます。 この場面では、原因の推測より、別の人が同じ条件を試せる記録を優先します。 最初の報告に「Controllerが悪い」と書く必要はありません。事実と推測を分けてください。 この記事では架空の問い合わせ管理アプリを使い、曖昧な報告を、開発担当者が着手できる報告へ書き直します。 「保存できない」では調査を始められない まず、次の一文 ...

答えられない。その次を、伝える。 未確認の範囲と、次の連絡を明確に。

仕事・チーム開発

2026/9/18

技術的な質問に答えられないとき|「確認します」で終わらせない返答例

リリース判定の会議で「切り戻したら、変更後に登録したデータはどうなりますか」と聞かれた。アプリの実装は説明できるが、切り戻し手順は見ていない。ここで「たぶん大丈夫です」と返すと、未確認のままリリースの判断が進んでしまう。 この記事は、顧客や他チームに説明する機会が増えた開発担当者に向けたものです。即答するための言い回しではなく、答えがない状態を、相手が誤って判断しない返答へ変える方法を整理します。 「未確認です」でよい。ただし、判断できない範囲と次の連絡を添える。知識がないことを隠すより、何を確認するかを ...

温度差は、埋めなくていい。 そろえるのは、気持ちより仕事の合意。

仕事・チーム開発

2026/9/18

チームの温度差は埋めなくていい|リーダーがそろえるべき仕事の基準

自分は新しい仕組みを作りたいのに、メンバーは「今のままでよくないですか」と言う。目的を説明しても反応は薄い。リーダーだけが熱くなっているようで、腹が立つ。 初めてチームを率いる人ほど、この反応を自分のリーダーシップへの評価として受け取りがちです。ただ、全員を自分と同じ熱量にすることを目標にすると、仕事の相談が意欲の審査になります。 そろえるのは感情ではなく、仕事の合意です。成果・優先順位・守る基準・担当を決め、それが実行されているかを見ます。目的を共有した後も意見が違うなら、賛同を強要するより、仕事として ...

@Serviceはある。なぜ見つからない? 定義・探索・読み込みをつなぐ。

実装・エラー解決

2026/10/15

NoSuchBeanDefinitionExceptionの対処法|@Serviceがあるのに見つからないとき

必要なクラスに@Serviceを付けたのに、Springが「Beanが見つからない」と言う。設定ファイルもプロジェクトにある。何が足りないのか分からず、アノテーションを追加して回っていないでしょうか。 この記事は、特にXML設定とアノテーションが混ざるアプリを保守する人向けです。定義があることと、今使っているコンテナへ登録されていることは別として確認します。 要求された型 → 登録方法 → 設定を読み込む入口、の順にたどる。候補0件なら登録と読み込みを調べます。複数件から選べないなら、登録を増やすのではな ...

privateをモック? 境界を変えよう。 置き換えたいのは、外部の通信。

設計・テスト・レビュー

2026/9/18

privateメソッドをモックしたい?通信の失敗をテストするなら、置き換える場所を変える

公開メソッドの中でprivateメソッドを呼び、その中で外部へ通知している。通知の失敗をテストしたくて「Mockito private モック」と検索した。 この場合、置き換えたいのはprivateという実装上の区切りではなく、外部通信です。この記事では、通知サービスを例に、privateの名前に依存せず、通信失敗時の動きを確認する形へ変えます。 新しく書くテストでは、まず通信を差し替えられる依存にする。純粋な整形処理は公開メソッドの結果から確認し、成功・失敗を作りたい外部依存を置き換えます。既存のPow ...

Javaの分割基準。メソッドかクラスか。行数ではなく変更する理由で分ける。ひとつのフォルダ内の処理を独立したフォルダへ取り出す紙の立体イラスト。

設計・テスト・レビュー

2026/10/24

Javaのメソッド分割の基準|privateに切るか、別クラスにするか

Javaのメソッドを分ける基準は、行数よりも「名前を付けて説明できる仕事のまとまり」です。まず同じクラスのprivateメソッドへ切り出し、取込の進行と、1行を変換する規則を分けます。別クラスにするかは、その規則を独立した担当として扱う理由があるかで判断します。 分割前・分割後のコード全文と、比較用サンプル同じ入力を3版へ渡し、保存回数と例外まで比べられます。Java 17で実行できます。ZIPにはJavaソース6件、README、検証記録、LICENSEを含みます。分割前:BeforeImporter. ...

« Prev 1 2 3 4 5 … 19 Next »
プロフィール画像

ポンコツPdM

SIerでの開発・プロジェクト運営の経験をもとに、Java・Springの実装、設計・テスト、チーム開発で役立つ手順をまとめています。

    START HERE初めての方へ

    Java・Springの実装、テスト、レビューで迷ったときに。今の課題から記事を探し、次に学ぶことを整理できます。

    成長ロードマップを見る →
    FIND YOUR TOPICよくある困りごと
    • エラー・実装で詰まったとき →
    • 設計・テスト・レビューを学ぶ →
    • 仕事・チーム開発で迷ったら →
    広告
    NEXT BOOKSHELF学習段階ごとの本棚

    いま伸ばしたい力に合わせて、次の1冊を選べます。

    • 01 / 初心者Java・Git・SQLの土台 →
    • 02 / 脱初心者Web機能をひとりで作る →
    • 03 / 実務担当設計・テスト・レビュー →
    • 04 / リーダー候補要件整理・チーム判断 →

    ※当サイトはAmazonアソシエイト・プログラムの参加者です。リンク先で価格・在庫をご確認ください。

    人気記事

    • Springで「NoUniqueBeanDefinitionException」が出たときの対策 - 49,470 ビュー
    • 業務用のシステムにおいてクラス設計(分割)をどのように考えるか-1 - 46,929 ビュー
    • Spring Data Jpaと@Entityを使って複数テーブルで共通の値を親クラスにまとめて... - 43,223 ビュー
    • 免責事項
    • 著作権について
    • 学習ガイド
    • プライバシーポリシー
    • リンクについて

    学習と現場をつなぐ

    ポンコツPdMの開発メモ

    © 2026 ポンコツPdMの開発メモ