発達障害プログラマーのコーディング術|特性を活かした開発テクニック集

ASD(自閉スペクトラム症)8分で読めます

※本記事にはアフィリエイト広告(PR)が含まれます

発達障害プログラマーのコーディング術|特性を活かした開発テクニック集
この記事をシェア

「きれいなコードが書けない」「バグ探しが苦手」「マニュアルを読むのがつらい」

そんな悩みを抱えていませんか? 実は、発達障害の特性は、適切なアプローチを取ることで、プログラミングにおける強力な武器に変わります。

この記事では、ADHD・ASDの特性を持つプログラマーが実践できるプログラミングテクニックをご紹介します。実行機能やパターン認識といった発達障害特性の理解には国立精神・神経医療研究センター(NCNP)の解説も参考になります。エンジニアとしてのキャリアについては発達障害エンジニアがフルリモートで年収アップする方法、フルリモート環境のメリットについては発達障害者にとってフルリモートは天国だった件もあわせてご覧ください。

プログラマー = コンピュータプログラムを作る技術者 コーディング = プログラムを書く作業

ADHD特性を活かすコーディング術

1. カラフルコーディング:視覚的刺激で集中力UP

絵文字とコメントで視覚的に区別する方法

プログラムを書く時、絵文字を使って重要度を視覚的に分かりやすくします:

  • 🔥 重要な処理
  • ⚡ 処理速度を重視する部分
  • 🐛 バグ(不具合)を修正した箇所
  • 💡 後でやること(TODO)

実際の使用例(ユーザー認証の処理を作る場合)

🔥 ユーザー認証の核心部分  ⚡ まずキャッシュ(一時保存)から確認(高速化)  🐛 修正済み: パスワードの暗号化を忘れていた  💡 TODO: エラー処理を改善する

さらに楽しくする工夫

コードエディタ(プログラムを書くソフト)で、絵文字に色を付ける設定:

  • 🔥 は赤色で表示
  • ⚡ は青緑色で表示
  • 🐛 は黄色で表示

2. マイクロコミット戦略:小さな達成感の積み重ね

コミット = プログラムの変更を保存すること

❌ 悪い例: 「機能実装」という大雑把な保存

✅ 良い例:

  1. 「ユーザー情報の枠組みを追加」
  2. 「入力チェック機能を追加」
  3. 「テストプログラムを追加」
  4. 「見た目を整える」

効果:

  • 達成感を頻繁に得られる
  • ミスしても前の状態に戻りやすい
  • 他の人もチェックしやすい

3. ポモドーロ駆動開発(PDD)

ポモドーロ = 25分作業・5分休憩のサイクル

25分で1機能を実装する設計

🍅 1ポモドーロ目(25分): 基本的な機能を作る 🍅 2ポモドーロ目(25分): コードをきれいに整理 🍅 3ポモドーロ目(25分): テストを追加

4. TODO駆動開発:先に日本語で設計

まず日本語でやることリストを書く

価格計算プログラムを作る場合:

  1. アイテムの合計金額を計算
  2. 税金を追加
  3. 割引を適用
  4. 送料を計算
  5. 最終金額を返す

その後、1つずつプログラムに変換していきます。このような段取りの工夫については職場で実践できるADHDの段取り改善術も参考になります。

5. ゲーミフィケーション:楽しく続ける工夫

毎日の作業を記録してゲーム化

  • 連続作業日数をカウント
  • 新記録が出たらお祝いメッセージ
  • GitHubの草(緑のマス)を育てる
  • 週間目標を設定してクリアを目指す

ASD特性を活かすコーディング術

ASDの方がエンジニアとして活躍するポイントについてはASDを強みに変える仕事術も参考にしてください。

1. 完璧なコード規約:ルールの明確化

プログラムの書き方ルールを完全に定義

  • 関数名(機能の名前): 動詞から始める(例:getUserInfo = ユーザー情報を取得)
  • 変数名(データの名前): 名詞にする(例:userName = ユーザー名)
  • 定数(変わらない値): 大文字とアンダースコア(例:MAX_RETRY_COUNT = 最大再試行回数)
  • インデント(字下げ): スペース2つ
  • 1行の長さ: 最大80文字

これらのルールを自動チェックツールで監視します。

2. パターン化:似た処理は完全に統一

工場のように統一された作り方

すべてのデータを同じ形式で作成:

  • 必ずID(識別番号)を付ける
  • 必ず作成日時を記録
  • 必ず更新日時を記録
  • 必ず種類を明記

例:ユーザー情報も投稿情報も、すべて同じ形式で管理

3. 詳細なドキュメント:未来の自分への手紙

プログラムの説明書を詳しく書く

例えば、ユーザー認証を行う機能の説明:

項目

内容

入力

メールアドレス(必須、正しい形式)、パスワード(必須、8文字以上)

出力

成功/失敗の結果、ユーザー情報(成功時)、エラーメッセージ(失敗時)

使い方

メールとパスワードを渡すと、認証結果が返ってくる

エラーになる場合

  • メールアドレスが正しくない形式
  • データベースに接続できない

処理の流れ

  1. 入力値をチェック
  2. データベースからユーザーを探す
  3. パスワードを照合
  4. ログイン情報を作成
  5. 結果を返す

4. テスト駆動:仕様の明確化

テスト = プログラムが正しく動くか確認する仕組み

先にテストで「こう動くべき」を定義

電卓プログラムの場合:

  • 2 + 3 = 5 になるはず
  • -1 + 1 = 0 になるはず
  • 0.1 + 0.2 = 約0.3 になるはず
  • 文字を入れたらエラーになるはず

これらのテストに合格するようにプログラムを作ります。

5. 不変性の追求:予測可能なコード

データを変更せず、新しく作り直す

方法

処理内容

評価

悪い例

ユーザーの年齢を20歳から21歳に直接変更

❌ 予測しにくい

良い例

元のユーザー情報はそのまま残し、年齢だけ21歳にした新しいユーザー情報を作成

✅ 予測可能

共通テクニック:両方の特性で使える

1. ビジュアルデバッグ

デバッグ = プログラムの問題を見つけて修正する作業

見やすいデバッグ情報の表示

  • 重要な情報は大きく赤文字で表示
  • 🔍 マークを付けて目立たせる
  • 表形式で整理して表示
  • グループ化して階層的に表示

2. エラーハンドリングの工夫

エラーハンドリング = エラーが起きた時の対処

エラーの種類を分かりやすく分類

  • ❌ 入力エラー:「入力値を確認してください」
  • 🌐 ネットワークエラー:「インターネット接続を確認してください」
  • 🔒 認証エラー:「ログインし直してください」
  • ⚠️ システムエラー:「しばらく待ってから再試行してください」

3. 開発環境の最適化

プログラミング環境の設定

自動化設定:

  • 保存時に自動でコードを整形
  • エラーを自動で修正
  • 括弧の対応を色分け表示

視覚的な補助:

  • 対応する括弧を色分け
  • インデントガイドの表示
  • 目に優しい暗めのカラーテーマ

集中を助ける設定:

  • 不要な通知をオフ
  • 全画面モードの活用
  • BGMの活用

開発環境を整える以外にも、フルリモートワークなら自分に合った環境を自由にカスタマイズできます。詳しくは発達障害エンジニアのリアルな1日をご覧ください。

フレームワーク別テクニック

フレームワーク = プログラミングを効率化するツールセット

React(ウェブアプリ開発ツール)の整理術

フォルダで視覚的に整理

  • プロジェクトフォルダ/
    • 共通部品/
      • ボタン/(見た目、動作、テスト)
    • 機能別/
      • ログイン機能/
      • ユーザー管理/
    • レイアウト/
      • ヘッダー/
      • フッター/

Vue(もう一つのウェブアプリ開発ツール)の活用

見た目・動作・スタイルを1ファイルにまとめる

1つのファイルに:

  • HTML(見た目の構造)
  • JavaScript(動作の処理)
  • CSS(デザイン)

をまとめて書けるので、関連する要素が散らばりません。

デバッグテクニック

1. ラバーダック・デバッグ(説明駆動)

ラバーダック = ゴムのアヒル。誰かに説明するつもりで問題を整理

問題を言葉で説明して解決

問題:ユーザーリストが表示されない

調査手順

  1. データは取得できてる? → 確認 → OK
  2. 画面に表示されてる? → 確認 → NG
  3. 表示条件は正しい? → あ、データがまだ来てない!

原因:データ取得を待たずに表示しようとしていた 解決:「読み込み中」表示を追加

2. 二分探索デバッグ

問題のある範囲を半分ずつ絞り込む

ステップ

状態

結果

開始

✅ 動いてる

OK

処理A

✅ 動いてる

OK

処理B

❌ ここで止まる!

問題箇所

処理C

未確認

-

このように、処理Bに問題があることが判明します。

パフォーマンス最適化

パフォーマンス = プログラムの処理速度

メモ化で無駄な処理を削減

メモ化 = 一度計算した結果を保存して再利用

ADHD向け:シンプルなメモ化

  • 計算結果を保存
  • 同じ計算なら保存した結果を使う
  • 「🚀 キャッシュから取得!」と表示

ASD向け:詳細な最適化

  • 保存する最大数を設定(例:100個まで)
  • 保存期限を設定(例:1分間)
  • 古いデータから削除
  • 効率的な保存方法を選択

まとめ:特性を強みに変える

発達障害の特性は、適切なテクニックと工夫で、プログラミングにおける強力な武器になります。

ADHD の強み:

  • 視覚的思考 → カラフルで分かりやすいコード
  • 短期集中 → 小さな単位で確実に進める
  • 創造性 → 独創的な解決策を生み出す

ASD の強み:

  • 規則性 → 統一された美しいコード
  • 詳細志向 → 充実したドキュメント
  • パターン認識 → 効率的な設計

大切なのは、一般的なやり方に無理に合わせるのではなく、自分の特性に合ったやり方を見つけること。このテクニック集が、あなたのプログラミングライフをより楽しく、生産的にする助けになれば幸いです。

エンジニアとしてのキャリアをさらに発展させたい方は、発達障害エンジニアに向いている職種15選も参考にしてください。


IT転職・キャリアアップの選択肢

エンジニアとしてさらにステップアップしたい方、より自分に合った環境を探している方は、専門のサービスを活用するのも一つの方法です。

ITエンジニア専門

障害者雇用での転職

ご注意

この記事は個人の体験に基づくものであり、医療的なアドバイスではありません。 発達障害の診断や治療については、必ず専門医にご相談ください。 また、記載されている情報は執筆時点のものであり、最新の情報と異なる場合があります。

この記事をシェア

この記事を書いた人

りく

  • ADHD当事者
  • 転職5回経験
  • 現役エンジニア
  • フルリモート勤務

社会人になってからADHDの診断を受けた当事者。地方在住でフルリモート勤務、年収1200万円のフロントエンドエンジニア。転職5回の経験から、発達障害のある方のキャリア形成に役立つ情報を発信。

運営者情報の詳細を見る