テスティングフレームワークとSemantic Versioningでなんか考えた
タイトルが釣りっぽくなっていてすみません。
寝起きにぼーっと考えていたら疑問に思ったけど、チラシの裏がないのでここに投げておきます。
この記事は疑問を書いて投げっぱなしにするので解などはかかれていません
Semantic Versioning
semver警察という用語もあるとかないとか。
Evolve slowly
最後にこの話をきいたのはTestingFrameworkMeetingのid:t-wadaさんの資料だったはず。
http://twada.herokuapp.com/presentations/testing_framework_meeting/testing_framework_meeting.html#8
- Evolve slowly (テストコードは利用者の投資の結果そのものなので、その投資が早いサイクルで無駄になることはない、という安心を与えなければならない)
そのままですね。
ユーザはコードを変更しなくてもいいけど…みたいな話?
- ユーザはコードを変更しなくてもコンパイルが通る変更
- しかし互換は崩れる
こういう修正をする必要があったとき、semverに従えばメジャーバージョンを上げる必要があると思います。
で、開発者側としてはバグ修正なのでユーザに最新のバージョンを使って欲しいが、ユーザからは破壊的変更をバンバン行っているように見えるのでEvolve slowlyには反しているんじゃないか、みたいに思えなくもないというか。
いやまぁ、Change log読もうの一言で済むといえばその通りなのですが、メジャーバージョンがガンガンあがるってまだまだわりと抵抗あるんじゃないかなと思う次第です。 テスティングフレームワークなら余計にそう思ったりするのでは、とか。
一旦保留
ということを寝起きで考えましたが考えすぎなのかもしれないし眠いので寝ます。 これを読んで「考えすぎだよ」って思った方はそう私に伝えてください。