開発ガイド

実践的なスキルアップのためのリソース

開発環境セットアップ

エディタとIDE

VS Codeが依然として最も人気のあるエディタです。適切な拡張機能の選択と設定により、 生産性を大きく向上させることができます。

ESLint、Prettierによる自動フォーマット
GitLens でGit履歴の可視化
GitHub Copilotの活用
ワークスペース設定の共有

ターミナルとシェル

効率的なコマンドライン操作は開発者の必須スキルです。 モダンなシェルとツールを活用しましょう。

zsh + Oh My Zsh でカスタマイズ
fzf でファジー検索
ripgrep、fd でファイル検索高速化
tmux でセッション管理
Ts

TypeScriptベストプラクティス

型安全なコードベースの構築

TypeScriptの真価は、単なる型注釈ではなく、コンパイル時にバグを発見し、 リファクタリングを安全に行える点にあります。

// strictモードを有効に
"compilerOptions": {
"strict": true,
"noUncheckedIndexedAccess": true,
"noImplicitReturns": true
}

型の設計原則

  • ユニオン型を活用 - 状態の網羅的なハンドリングを強制
  • ブランド型 - プリミティブ型に意味を持たせて誤用を防止
  • ジェネリクス - 再利用可能で型安全なユーティリティを構築
  • 型ガード - ランタイムチェックと型の絞り込みを連携

テスト戦略

効果的なテスト戦略は、プロジェクトの規模や性質によって異なります。 テストピラミッドの原則に従いつつ、投資対効果を意識したアプローチが重要です。

ユニットテスト

個々の関数やコンポーネントの動作を検証。 高速で信頼性が高く、CI/CDパイプラインの基盤となります。

Vitest / Jest

統合テスト

複数のモジュールやサービスの連携を検証。 データベースや外部APIとの実際の通信をテスト。

Supertest / MSW

E2Eテスト

ユーザーの操作フローを再現し、システム全体の動作を検証。 重要なユースケースに絞って実施。

Playwright / Cypress

Gitワークフロー

コミットメッセージ

明確で一貫性のあるコミットメッセージは、プロジェクト履歴の可読性を高めます。 Conventional Commitsの採用を推奨します。

feat: 新機能
fix: バグ修正
docs: ドキュメント
refactor: リファクタリング
test: テスト

ブランチ戦略

チームの規模とリリースサイクルに応じた戦略を選択します。 小規模チームではトランクベース開発がシンプルで効果的です。

  • 短命なfeatureブランチ
  • PRは小さく、レビューしやすく
  • CIの全テストをパスしてからマージ
  • リリースタグで履歴を追跡

パフォーマンス最適化

パフォーマンスは機能の一部です。ユーザー体験を損なわないために、 開発初期から意識的に取り組むことが重要です。

フロントエンド

  • Core Web Vitalsの継続的モニタリング
  • 画像の最適化とlazy loading
  • コード分割とプリフェッチ
  • 不要な再レンダリングの排除

バックエンド

  • N+1クエリの検出と解消
  • 適切なインデックス設計
  • キャッシュ戦略の策定
  • 非同期処理の活用