Skip to content

Latest commit

 

History

History
78 lines (61 loc) · 11 KB

File metadata and controls

78 lines (61 loc) · 11 KB

learn-go-with-tests 対応表

この表は、learn-go-with-tests の各章に対して、現在の Java 版がどこまで実装できているかを示します。

spring-boot/ 配下には今後の発展章の設計メモもありますが、この表では 実装とテストがあるものだけ を集計対象にしています。

判定基準:

  • ★★★ 実装済み: 章として読めて、対応するコードとテストがある
  • ★★☆ 部分実装: 近い題材はあるが、元教材の論点をまだ取り切れていない
  • ☆☆☆ 未着手: まだ章もコードもない

Go Fundamentals

learn-go-with-tests Java 版の状況 評価 根拠
Install Go Java をインストールする ★★★ JDK 21 前提の導入と実行手順あり
Hello, world Hello, World ★★★ Hello.javaHelloTest.java
Integers 整数 ★★★ Adder.javaAdderTest.java
Iteration 反復 ★★☆ 反復とリファクタリングはあるが、ベンチマーク章は未実装
Arrays and slices 配列とリスト ★★☆ arrayList はあるが、varargs や coverage の掘り下げは未実装
Structs, methods & interfaces クラスとインターフェース ★★☆ recordinterface はあるが、テーブル駆動テストの説明は薄い
Pointers & errors 例外と状態 ★★☆ Java 的に置き換え済みだが、Go の pointer 相当の学習軸とは少し違う
Maps マップ ★★★ Dictionary.javaDictionaryTest.java
Dependency Injection 依存性注入 ★★★ Greeter.javaGreeterTest.java
Mocking モック ★★★ Countdown.javaCountdownTest.java
Concurrency 並行性 ★★★ ConcurrentWebsiteChecker.javaConcurrentWebsiteCheckerTest.java
Select Select ★★★ UrlRacer.javaUrlRacerTest.java
Reflection リフレクション ★★★ ReflectiveWalker.javaReflectiveWalkerTest.java
Sync 同期 ★★★ SafeCounter.javaSafeCounterTest.java
Context Context ★★★ CancellableCounter.javaCancellableCounterTest.java
Intro to property based tests プロパティベーステスト入門 ★★★ RomanNumerals.javaRomanNumeralsTest.java
Maths Maths ★★★ ClockSvgRenderer.javaClockSvgRendererTest.java

Build an application

learn-go-with-tests Java 版の状況 評価 根拠
HTTP server HTTP API 入門 ★★★ Spring Boot で HTTP エンドポイントと MVC テストを実装済み
JSON, routing and embedding HTTP API 入門 ★★☆ JSON と routing はあるが、埋め込み相当は未実装
IO and sorting IO と永続化 ★★★ FilePlayerStore.javaFilePlayerStoreTest.java
Command line & project structure コマンドライン ★★★ LeagueCli.javaLeagueCliTest.java
Time Time ★★★ BlindScheduler.javaBlindSchedulerTest.java
WebSockets WebSockets ★★★ GameWebSocketHandler.javaGameWebSocketHandlerTest.java

Questions and answers

learn-go-with-tests Java 版の状況 評価 根拠
OS exec OS exec ★★★ GitVersionFinder.javaGitVersionFinderTest.java
Error types 例外と状態 ★★☆ カスタム例外はあるが、独立した設計論としてはまだ弱い
Context-aware Reader Context-aware Reader ★★★ ContextAwareReader.javaContextAwareReaderTest.java
Revisiting HTTP Handlers なし ★★☆ MockMvc による HTTP テストの入口はあるが、章としての設計論は未実装

集計

区分 件数
★★★ 実装済み 21
★★☆ 部分実装 6
☆☆☆ 未着手 0

learn-go-with-tests の章ベースでは、現状は「基礎後半とアプリケーション中盤まで」が Java 化できている段階です。

元の learn-go-with-tests で未着手だった章は一通り埋まり、残っているのは Java 向けに意図的に再構成した ★★☆ の章です。

Spring Boot 独自の発展章

以下は learn-go-with-tests の原本には直接対応しないものの、Java / Spring Boot 教材として追加している章です。

状況 根拠
Spring Data JPA を TDD で学ぶ ★★★ PlayerController.javaPlayerRepositoryTest.java
Testcontainers を使う発展章 ★★★ PlayerRepositoryPostgresContainerTest.javaPlayerControllerPostgresContainerTest.java
Validation と例外ハンドリング ★★★ RegistrationController.javaRegistrationControllerTest.java
RestClient / WebClient のテスト ★★★ QuoteClient.javaQuoteClientTest.java
認証が入った API のテスト ★★★ SecureApiController.javaSecureApiControllerTest.java
非同期イベントのテスト ☆☆☆ ドキュメントのみ