「テスト駆動開発でお試しする Pharo Smalltalk」では、かなり気ままな実装に挑んでしまったので、こちらではできるだけ忠実に写経してみました。
もとより、“忠実”などと言ったところで静的型言語の Java のコードの動的型言語へ移植という時点で自ずと限界がありますし、結果として Java的にも Smalltalk的にもどっちつかずになってしまっているところも多々ありますがどうかご勘弁を。
リポジトリーは Pharo6.1 から組み込みになった Git 対応 VCS である「iceberg」のお試し(と、Git の学習 ^^;)を兼ねて GitHub に作成しました。
ブランチを章ごとに作成し、加えてテストサイクルごとに細かめにコミットを入れてありますので、同書の局面と対応させるのにご活用ください。
-
各章終了時点のコード(=ブランチ)一覧
- 「chap~」リンクをクリック → TDD-MoneyByJava.package リンク内に進む)
-
テストサイクルのステップごとの差分(=コミット)一覧
- 「chap~p~ => カラー」リンクをクリック)
#iceberg について
Gitクライアントとして機能は限定的で、動作も不安定な部分も多いですが面白い試みですね。
5 minutes tutorial の手順で使えますが、SSH の公開鍵を使う場合は、iceberg ウインドウの右上にある Global Settings ボタンをクリックして
開く設定から、Use custom SSH keys... のチェックを入れて、
左側の ▶印 を(二度クリック)して内容を表示させ、id_rsa.pub 、id_rsa の保存先が正しいかどうかを確認する必要があるようです。
私自身の Git に対する知識が圧倒的に足りていないせいも多分にあるかと思いますが、iceberg を開き直さないとローカルリポジトリーの状態が正しく反映されなかったり、リポジトリーを作り直さないとうまく作業が進められないことがあり、現状での運用は工夫がいりそうです。〔追記:その後、incomming commits の fetch や pull だけでなく、パッケージのリロードをこまめにやることで抱えていた問題をかなり解決できることが分かりました。^^;)
Pharo6.1 (http://pharo.org/web/download )は Windows版(32bits)と macOS版(32、64bits)を試しましたが、macOS版 64bits では iceberg はうまく動きませんでした。