Skip to content

モブプログラミングでTDDを実践しよう会の資料

License

Notifications You must be signed in to change notification settings

kanazawa-js/tdd-handson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TDDハンズオン

モブプログラミングでTDDを実践しよう会の進行用スクリプト

事前準備

  • Node.jsのインストール
  • Visual Studio Codeのインストール
  • Visual Studio Live Share 拡張機能のインストール
  • タイマー

※ 実際に実装やテストを作成する際に用いる、JavaScriptのテストフレームワーク「Jest」のセットアップ済みのリポジトリは運営側で準備しています。

進行

  1. 事前説明 10分
  2. ドライバー順序決定
  3. モビング (第1部) 50分
  4. 休憩 10分
  5. モビング (第2部) 50分
  6. 振り返り

役割

  • ナビゲーター
    • ドライバーに実装や操作を指示する人
  • ドライバー
    • ナビゲーターの指示で実装や操作を行う人

ルール

  • ナビゲーター
    • ドライバー以外はナビゲーターを担当する
    • ナビゲーターはどのように実装するかを考えて、ドライバーに指示する
  • ドライバー
    • ドライバーは1人が担当する
    • ドライバーは10分ごとに交代する
    • ドライバーはナビゲーターの指示でコードを書く
    • ドライバーはナビゲーターの指示を理解できるまで質問する
    • ドライバーはやることを言葉にする

題材

1. FizzBuzz

以下の条件を満たすプログラムを書いてください。

  • 引数で渡される数字を文字列として出力
  • 引数で渡された数字が1~100の範囲でない場合はエラーをスロー
  • 3の倍数が引数のときは「Fizz」と出力
  • 5の倍数が引数のときは「Buzz」と出力
  • 3と5の倍数が引数のときは「FizzBuzz」と出力

2. うるう年

以下の条件を満たすプログラムを書いてください。

  • 引数で渡される年がうるう年であるかを真偽値として出力
  • 引数で渡された年が1900~2021の範囲でない場合はエラーをスロー

3. URLパーサー

以下の条件を満たすプログラムを書いてください。

  • 引数で渡されたURLをパースして、以下の情報を出力
    • 例: http://foo.bar.com/foobar.html
      • Protocol : http
      • Subdomain: foo
      • Domain name: bar.com
      • Port: 80
      • Path: foobar.html
  • Protocolは下記の4種類を取り扱い、Portは対応したものを使用
    • http: 80
    • https: 443
    • ftp: 21
    • sftp: 22
  • Domainは .com.net などのトップレベルドメインのみサポート
  • ローカルネットワークホスト名をサポート
    • http://localhost のような形式

※1 URLの形式は protocol"://"[subdomain]host[top-level-domain][":" port][path]["?" parameters]["#" anchor] とする。

※2 URLオブジェクトのような標準組み込みオブジェクトを使用してはならない。

出典: URL Parts - TddBuddy

About

モブプログラミングでTDDを実践しよう会の資料

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published