リーダブルコード実践ハンズオン

#ソフトウェアテスト・品質

リーダブルコード実践ハンズオン 保守できるコードを、チームの共通言語にする

「動くコード」から「読めるコード」へ。チームの品質水準を底上げする実践研修。

Overview

研修概要

リーダブルコード実践ハンズオンは、ソースコードの可読性向上を実務で実践するための「コードを読む技術」と「コードを書く技術」の習得を目標とした実践型研修です。

命名・構造・コメントといった基礎から、レビュアーが即座に意図を読み取れる実装スタイルまでを一気通貫で扱うことで、属人化したコード品質を組織の標準へ引き上げ、レビューコストと引き継ぎコストを継続的に削減できる開発体制を確立させます。

オライリー社刊『リーダブルコード』を事前読了した状態で演習に入る設計のため、座学は1セッション20分に凝縮し、研修時間の大半をグループワークとコードレビュー発表に充てます。対象は、クラスやメソッドをある程度スラスラと書けるプログラミング経験者(入社2年目以降が目安)で、1回あたり20名程度(最大4グループ)の少人数制で実施します。

Issues

こんな課題を持つ企業におすすめ

ビジネス現場

  • コードレビューに時間がかかりすぎ、リリーススケジュールの圧迫が常態化している。
  • 担当者が変わるたびに既存コードの解読コストが発生し、改修・機能追加のリードタイムが伸びている。
  • コーディング規約はあるが形骸化しており、品質基準がエンジニア個人の経験値に依存している。
  • 新たに参画したメンバーがキャッチアップに時間を要し、チームの開発速度が伸び悩んでいる
  • 生成AIが作成したコードをそのまま使うメンバーがおり、意図や構造が読み解けないコードのレビューに困っている。
Goals

本研修の到達目標

For Engineers

開発現場

  • 1 可読性の高いコードを自律的に書けるようになります 命名・関数の粒度・制御フローの整理など、読み手を意識した実装の判断軸を身につけます。
  • 2 コードレビューで具体的な改善提案ができるようになります 「読みにくい」の感覚論を脱し、可読性の観点から根拠のあるレビューコメントを書けるようになります。
  • 3 チームの品質基準を言語化・共有できるようになります 個人の暗黙知だったコーディング規範を、チーム全体で参照できる共通基準として整理できるようになります。
For Organization

組織への期待効果

  • 1 レビューコストの削減とリリース遅延の抑制 コードの意図が伝わりやすくなることで、レビュー1件あたりの所要時間が短縮され、機能リリースのリードタイム短縮につながります。
  • 2 担当者交代・引き継ぎコストの最小化 誰が読んでも理解しやすいコードベースが組織内に蓄積されることで、メンバー交代時の解読工数と業務停滞リスクを低減します。
  • 3 機能追加・改修コストの継続的な抑制 可読性の高いコードは変更箇所の影響範囲が把握しやすく、追加開発の見積もり精度向上とバグ混入リスクの低減につながります。
Features

本研修の特長

Feature 01

事前課題で「読めないコード」を体感してから研修に臨む

研修前に実際の悪例コードを読む事前課題を設け、「なぜ読みにくいのか」を自分の言葉で考えた状態でのぞめる設計にしています。体感から入ることで、講義内容の定着率を高めます。

Feature 02

座学20分 → グループ討議 → コードレビュー発表を1セットで繰り返す

講師から問題のあるコードを配布し、まず個人で改善策を考え、グループで討議し、修正箇所をグループ単位でプレゼンするサイクルを毎回繰り返します。「読みにくい」の感覚論をチームの共通言語へ変換する実践設計です。

Feature 03

インターバルを「業務実践の期間」として設計する3回構成

各回の間に1週間のインターバルを設け、学んだことを実業務で試す期間として位置づけます。次回冒頭に「前回以降で取り組んだこと」を一人ひとりが発表する仕組みにより、研修を受けただけで終わらせない習慣形成を促します。

Curriculum

研修カリキュラム

全3回 × 各3時間 / 1週間インターバル / 対象:入社1〜3年目 / 定員:1回20名程度(最大4グループ)/ 使用言語:Java(カスタマイズ対応可)

日程 章・学習テーマ 学習内容・習得スキル
第1回
第一部
表面上の改善
自己紹介・研修の意義(テキスト第1章)

リーダブルコードとは何かを理解します。「動く・正しい」だけでなく、長期的に保守・機能追加し続けられるコードとはどういうものかを学び、研修全体の目的と視点を共有します。

変数の命名・誤解されず美しく(テキスト第2〜4章)

変数・関数の命名原則と、整列・グルーピングによる美しい書き方を学びます。誤解を生まない名前の選び方と、一貫したスタイルがレビューコストに与える効果を理解します。

グループワーク①(命名・整形)

講師から配布したコードの問題点を個人で考え、グループで討議します。修正箇所をWordで色付けしてグループ単位でプレゼン(コードレビュー)を行います。

コメント・読み手を意識して正確に(テキスト第5〜6章)

意味のないコメントと本当に有益なコメントの違いを学びます。「何を書くか」より「なぜそう書いたか」を正確・簡潔に伝えるコメントの技法を習得します。

グループワーク②(コメント)/質疑応答・まとめ

コメントの観点でコードを改善するグループ演習を行います。最後に研修内容を業務で実践するよう意識付けし、次回のプレゼン課題を周知します。

第2回
第二・三部
ロジック再構築
前回以降で取り組んだことの発表

第1回の学習内容を実業務に適用した取り組みを一人ひとり発表します。「研修で学んだだけ」にしないための振り返りプレゼンです。

ループとロジックの単純化(テキスト第7〜9章)

条件式・ループ・変数のスコープ管理による制御フローの整理を学びます。読み手が追いやすいロジック設計の判断軸を身につけます。

グループワーク③(ループ・ロジック)

ループと条件分岐を含むコードをグループで読み解き、改善策を討議してプレゼンします。

コードの再構築(テキスト第10〜13章)

関数の責務分離・無関係な問題の抽出・コードの短縮など、構造レベルの改善技法を学びます。「やること」と「どうやるか」を分けた設計パターンを理解します。

グループワーク④(コードの再構築)/質疑応答・まとめ

再構築の観点でコードを改善するグループ演習を行います。次回の発表課題を周知し、業務での実践を促します。

第3回
第四部
テスト・総復習
前回以降で取り組んだことの発表

第2回の学習内容を実業務に適用した取り組みを一人ひとり発表します。三回を通じた成長の変化をグループ・個人で確認します。

テストと読みやすさ(テキスト第14〜15章)

テストコードにおける可読性の考え方を学びます。テストを「仕様書」として機能させるための命名・構造の工夫を理解します。

グループワーク⑤(テスト)

テストコードを含むコードをグループで改善します。テキスト全体の観点を統合して可読性を高める総合演習です。

総復習グループワーク(第1〜3回 総合演習)

全3回の学習内容を網羅した総合課題に取り組みます。事前課題と同じ課題を再度扱い、研修前後の変化を個人とグループで確認・発表します。

質疑応答・最終まとめ

三回の研修で学んだすべてを実業務で生かすよう意識付けします。業務への適用方針をグループで共有して研修を締めくくります。

研修内容のカスタマイズについて 本研修は「1回3時間 × 全3回・1週間インターバル」を標準構成としていますが、目的や制約に応じた日数・時間の調整が可能です。また、演習コードはJavaを標準としていますが、C#・Python等、御社の実際の開発言語に合わせたカスタマイズ実施にも対応しています。ぜひお気軽にご相談ください。
Environment

必要な受講環境と前提知識

受講環境

各受講者のPCに以下の環境をご準備ください。プログラムの実行は行わず、コードレビュー形式で演習するため、IDEやビルドツールは不要です。テキストエディタで受講できます。オンライン開催の場合はZoomなどのWeb会議ツールも必要です。

PCWindows / macOS いずれも可
使用言語Javaをベースとして講義が行われますが、C#など他の言語の使用者も受講できます。
テキストエディタVS Code・メモ帳等、任意のエディタで可。
オンライン開催時Zoom等のWeb会議ツール(開催形式がオンラインの場合のみ)。

前提知識

  • 書籍の事前読了:オライリー社刊『リーダブルコード』(O’Reilly Japan)を研修前に通読していること。本研修は事前読了を前提とした演習中心の設計のため、未読の場合は受講前に通読をお願いします。
  • プログラミング基礎:変数・条件分岐・ループ・関数の基本が理解できていること。
  • Java基礎:クラス・メソッドを含むコードを読み書きできること。本研修はJavaをベースに進めますが、C#など他言語の経験者も受講できます。
  • コードレビュー経験:業務でのレビュー経験は不問ですが、他者のコードを読んだ経験があると理解が深まります。
Contact

お問い合わせ

本研修に関するご質問・お申し込みは、以下のフォームよりお問い合わせください。
担当者より2営業日以内にご連絡いたします。

必須 プライバシーポリシーを確認し、同意する