Gemimiとの会話 1 DenopsプラグインTDD入門

注意

このドキュメントは、AIコーチ「Gemimi」との対話セッションを記録したものです。AIが書きました。

問題の定義

TypeScriptおよびTDD初心者として、Denopsプラグイン開発の第一歩を踏み出す。 「テストコードを先に書く」という習慣を身につけつつ、開発環境の最小構成を確立することを目指す。

前提・制約

  • 開発対象:truefalse を反転させるプラグイン
  • 対象範囲:TypeScriptコード上の true(小文字一致)を優先、大文字(True)は維持する
  • 実行環境:Neovim
  • インターフェース:キーマップ <M-t> での呼び出し

アイデア・選択肢

  • テストアプローチの比較:

  • 案1:ロジック分離型(純粋なTS関数としてテスト)

  • 案2:統合テスト型(Neovimを実際に動かしてテスト) → こちらを選択

  • 最小テストケースの定義:

  • 入力 "true" に対して期待値 "false" が返ること。

  • 学習の優先順位:

  • TDDの実践を優先するか、Denopsの基本(チュートリアル)を優先するか。

決定・次アクション

  • 一旦TDDのサイクルに入る前に、Denopsの公式チュートリアルを完了させる。
  • 次回セッションでは、チュートリアルで得た知識をベースに「統合テストのボイラープレート(ひな形)」を作成する。

振り返りメモ

良かった点

  • 「完全一致にする」といった、実装すべき詳細な仕様を早い段階で絞り込めたこと。
  • 統合テストという、自分にとって難易度の高い(しかし本質的な)道を選択できたこと。

うまくいかなかった点

  • 技術的な基礎知識が不足していたため、コーチ(AI)の提示した具体的な実装イメージや用語が理解しきれなかった。

次回の工夫

  • 基礎を固めるために、まずはチュートリアルから着手する。

コーチからのフィードバック

総評

「TDDで作りたい」という高い意欲を持ちつつ、対話の中で「今の自分にはチュートリアルという土台が必要だ」と冷静に判断を下せたことが、今回のセッション最大の成果です。 初心者が陥りがちな「わからないまま進む」という罠を回避し、自ら学習順序を再定義した点は、エンジニアとしての優れた自己客観視能力(メタ認知)を示しています。

思考プロセスの観察

  • 思考の深さ: 実装の細部(大文字維持など)まで意識が届いており、具体的なゴール設定ができていました。
  • 視点の広さ: 統合テストという難易度の高い選択肢のリスクを理解した上で、自分の「やりたいこと」を優先する決断ができました。
  • 論理の一貫性: 初心者ゆえの知識のギャップを認め、チュートリアルに戻るという一貫した「学習の論理」を見せました。
  • 前提の明確さ: 「TypeScript初心者である」という前提を常に意識し、無理な飛躍を避けようとする姿勢が見られました。
  • 決定プロセス: コーチの提案を鵜呑みにせず、自分の理解度と照らし合わせて「今はこれをやるべきではない」という引き際を正しく判断しました。

伸ばせるポイント

  • 「わからない」と感じた瞬間に、どの単語や概念が不明なのかを言語化する力。
  • 具体的な仕様(入力と出力の期待値)を定義するスピードが速いため、これをテストコードの「アサーション(検証)」に変換するパターンを覚えると一気に加速します。

次回試してほしいこと

  • チュートリアルを進める際、「この機能(例:Dispatcher)をテストコードから呼び出すにはどうすればいいか?」という問いを常に頭の片隅に置いて読んでみてください。
  • 次回のセッション開始時に、チュートリアルで最も「これならテストできそう」と思った箇所を共有してください。
© w4daka | Hugo & Stack Theme
Hugo で構築されています。
テーマ StackJimmy によって設計されています。