スパゲティソース

例の別グループが作ったC++のソースを追っていたが、別グループが最後にリポジトリにcommitした修正が酷い。関数AとBをただ順番に実行していたコードを、同じ処理を不要な内部クラスを二つも作ってわざわざその内部クラスのコンストラクタや()演算子オーバーロードでコールさせて実行するようにしてしまった。何故わざわざそうしたのか意味が分からない。そしてその作者はこの修正で同期処理が非同期に変わると言っていたが、それは彼の間違いだろう。実動作でも確認したが、この修正では非同期になっていないぞ。
多分この作者はC++をこじらせて単純な処理も複雑怪奇な仕様にしないと気がすまなくなってしまったのだろう。複雑になればなるほどバグが多くなりメンテも困難になるというのに。こういうことがあるからC++は好きになれない。
[id:aaa555:20100412:p2]で触れたように、LinusC++信者は流行に踊らされてプログラムの本質を見失っていると発言しているが、こういうC++コードを見ると、彼の発言は確かに一理あると思う。

I've been analyzing C++ codes of an another group but the code is unnecessarily complicated. It can be written more simpler but the author looks like making easy things more complicated. That's why I don't like C++.