Debugger examples for many languages
These codes are licensed under CC0 or MIT. You can choose whichever suits your needs.
MIT (If you need, use
Copyright (c) 2025 takotakot
)
このリポジトリ debugger-examples
は、各種プログラミング言語とテストフレームワークを用いて、デバッガのステップ実行を体験するためのサンプルプログラムを提供する。各言語ごとにブランチを切り替えることで、異なる環境でのデバッグ体験を学ぶことができる。
- branch TypeScript, Node.js, Jest
- branch TypeScript, Node.js, Vitest
- branch Ruby, RSpec
- branch Python(CPython), unittest
各言語で以下の関数を実装し、それぞれに対応するユニットテストを作成する。
-
整数の合計を計算する関数
- 正の整数
n
を与えると、1 からn
までの合計を計算して返す - 正の整数以外が与えられた場合は
0
を返す
- 正の整数
-
バブルソートを行う関数
- 整数の配列を与えると、バブルソートを行い、ソート済みの配列を返す
-
フィボナッチ数列を計算する関数
- 正の整数
n
を与えると、再帰を用いてフィボナッチ数列のn
番目の値を計算して返す - 正の整数以外が与えられた場合は
0
を返す
- 正の整数
各ブランチには、以下の情報を記載する。
-
環境の準備手順
- 必要なツールや依存関係のインストール方法
-
デバッガでステップ実行を行う手順
- GitHub Codespaces にローカルの VS Code からアタッチする方法
- 必要な拡張機能のインストール方法
- プログラムの実行方法
- デバッガを用いて、変数の値や処理の流れをステップ実行で確認する
- 各言語のテストフレームワークを使用して、ユニットテストの実行方法を学ぶ
- 各ブランチでの環境構築やデバッグ手順は、言語やフレームワークに応じて異なる
- 必要に応じて、各環境に用意された Markdown ファイルを参照しながら進める
function sum_to_n(n):
if n <= 0:
return 0
total = 0
for i from 1 to n:
total = total + i
return total
function bubble_sort(array):
n = length of array
for i from 0 to n-1:
for j from 0 to n-i-2:
if array[j] > array[j+1]:
swap array[j] and array[j+1]
return array
function fibonacci(n):
if n <= 0:
return 0
if n == 1:
return 1
return fibonacci(n-1) + fibonacci(n-2)
各言語・環境のブランチを作成するときに、作成する人が LLM 支援で作成できるようにするため、instruction_template.md
を用意してある。LLM への指示例として、大いに活用してほしい。