コンテンツへスキップ
ものがたり
戻る

2005-02-19

で、1.1.4が出たら書こうと思ってたんですけど、mono hackerになってみたいなあという人が他にもいたら、ぜひ頑張ってなってほしいなあと思います。meiさんやkazukiさんに協力していただいているのは素晴らしいことなんですけど、お二人とも既に名の知られた方なので、mono hackingをしてどれほどご本人にとってプラスになったかというと、かなり微妙と言わざるを得ない(笑) そんなわけで、僕としては特に、それこそ僕みたいに「えっ、誰?」っていう人が、hackingに参加していろいろ勉強して腕を磨いてお望みなら名を上げて(^^;)もらえたらいいなあ、と思っています。

そんなわけで、mono使って実験してみたよーとか、パッチを書たよーとか、仕事で使ってみた(wとか、そういう話があったらぜひコメントなりtrackbackなりで教えてください。パッチはMLに投げてみますし、バグレポートは代わりにbugzillaに登録しますので。(もちろんご自分でやっていただければずっと良いです)

ていうか僕は別にただのへっぽこプログラマーなので、手持ちの本家とのコネを最大限使おうと思っている程度なのですが(^^;

で(メモ)

どういう話だったかというと、とりあえず無視できるMiguelのコメントは除外しておいて、以下話の流れが分かる程度のテキトーな訳:

K:「パッチ見てー」
M:「え、何じゃこりゃ。Equals()逆にしただけじゃん。ダメだよ」
B:「でもみんな同じ事言ってるし、この状況は気に入らないけど、古いコードと互換性を持たせるのは合理的だよ」
M:「Equals()を逆にしただけで動くってことは、Equals()のどっかが壊れているってことだよ」
B:「そう、壊れてるんだよ。しかも製品コードがね。」
M:「じゃあ奴らが直すべきだろう。翌週にまた逆のレポートがやってきたら、戻すのか?」
B:「どうせそいつのコードはMSランタイムで動かないんだから、結局それはバグ持ちなんだよね。で、まとめるとね、(1)似たようなバグレポは前にもあって、ちゃんとした理屈のあるテストは提供されなかったんだけど、実際に問題になっているバグはユーザーが出してるんだ。(2)パッチ自体大きなものじゃあない。(3)これで動かなくなるアプリはどうせMSランタイムでも動かない。…だから、パッチを当てちゃおうよ。」
J:「これは互換性の問題だ。互換性は神である。MS万歳!」
P:「違うから。Stack.csを見てみたけど、Push()でnullを置いたら、Contains()はnullrefになるね。正しい解決策はこのパッチがやっていることだ。あとは、パフォーマンスの問題でもあって、同じメソッドが何度も呼ばれた場合の、ローカルキャッシングが改善される。というわけで、Equals()の順番を逆にするパッチをコミットしてください。」


コメント

Kazuki — 02/19/2005 11:33:28

おぉー要約サンクスですー。それじゃコミットしちゃっていいのですねー

atsushieno — 02/19/2005 15:58:23

そういえば bool IsFixedSize { get; } が消えてるのは意図的ですか? でなければ直してcommitしても問題ないと思いますけど、理由があるならMiguelに説明した方がいいかも。

Kazuki — 02/19/2005 16:36:14

たぶん、それってジェネリックのIDictionaryのことだと思うんですよねー。理由はMS Framework 2.0 Beta.1には実装されていなかったからなんですけどねー。とりあえずArray、Stack、SortedListはコミットしてみますですー

atsushieno — 02/19/2005 17:27:53

あ、ホントだ、無い。
http://mono.ximian.com/class-status/mono-HEAD-vs-fx-2/class-status-mscorlib.html
じゃあ全部commitしちゃっていいと思います。


この記事を共有:

前の記事
で(メモ)
次の記事