以前、Visual C++ 1.0の頃にクラスライブラリーのソースコードを見るとそれはそれはベッタベタで汚い書き方をしていて、おまけに随所にアセンブラコードまで埋め込んであるしこうでもしないとラッピングできないのか…と思ったものなんですが、その後4.0とかになるとかなりきれいに書き直されてました。まあバージョンが上がればブラッシュアップされるのは『まともな企業』ならば当然なので、別にBorland技術者が入ったからというわけでは無いんでしょうがあくまでイメージ的に…。(それを言うとTurbo C++も1.0の頃の一部のライブラリーソースはごちゃついてたのですが、3.0では新たに書き直したのかと思えるほどスマートになってて驚きました。)
綺麗なコードと言えば、gccのX68000版は出力されたアセンブラコードが素晴らしく綺麗で、これ以上手作業でオプティマイズする必要がないほどに効率的でかつスマートでした。コンパイルした結果であそこまでとはと感心した次第です。
綺麗なコード (スコア:1)
>> コメントとかもきちんとして、すごく整然としたコードです。
まさかMSがこんなに綺麗なコードを書くなんてっ…?
Re:綺麗なコード (スコア:5, 参考になる)
それは優秀なBorland技術者を多数ヘッドハンティングしたおかげです☆(あまりに露骨な引き抜きの多発に訴訟さわぎまで起きましたよね~。)
以前、Visual C++ 1.0の頃にクラスライブラリーのソースコードを見るとそれはそれはベッタベタで汚い書き方をしていて、おまけに随所にアセンブラコードまで埋め込んであるしこうでもしないとラッピングできないのか…と思ったものなんですが、その後4.0とかになるとかなりきれいに書き直されてました。まあバージョンが上がればブラッシュアップされるのは『まともな企業』ならば当然なので、別にBorland技術者が入ったからというわけでは無いんでしょうがあくまでイメージ的に…。(それを言うとTurbo C++も1.0の頃の一部のライブラリーソースはごちゃついてたのですが、3.0では新たに書き直したのかと思えるほどスマートになってて驚きました。)
綺麗なコードと言えば、gccのX68000版は出力されたアセンブラコードが素晴らしく綺麗で、これ以上手作業でオプティマイズする必要がないほどに効率的でかつスマートでした。コンパイルした結果であそこまでとはと感心した次第です。
#え?ソースを出せ?いや、漏洩はマズイので…(笑)
でも (スコア:1)
Re:でも (スコア:0)
Re:でも (スコア:0)
あとFFばかり専門で作ってるチームは存在しないです。
基本的にプロジェクトが終わればチームは解散ですから。
Re:綺麗なコード (スコア:1)
Re:綺麗なコード (スコア:0)
アランクーパーの「コンピュータは難しすぎて使えない」に
引用されてた記憶あり。
その引用もとの本は忘れた。
Re:綺麗なコード (スコア:0)
Re:綺麗なコード (スコア:1)
カスタムインストールを指定すると選択項目にクラスライブラリ
のソースが出てくるんだけど。
Re:綺麗なコード (スコア:1)
> カスタムインストールを指定すると選択項目にクラスライブラリ
> のソースが出てくるんだけど。
デフォルトでも、MFCのソース(一部だと思うけど)はインストールされたような。
#ソース眺めてると、ヘルプに載ってないメンバ関数が結構あるんだよな。
ちなみに、MS製コードを見たければ、.NET Frameworkインストールするとサンプルソースがついてくるよ。
Re:綺麗なコード (スコア:0)
NDAを結んだらそれを守りましょう、なんてのはここでする話ではないと思う。
Re:綺麗なコード (スコア:3, 興味深い)
仕様書と兼用ですから。
#「仕様書」は、物理的には存在しないらしい。
#流出しないように脳内だけだそうな。
Re:綺麗なコード (スコア:4, おもしろおかしい)
これで「仕様書はソースです」と言い切る材料が出来たぞ。
--- (´-`)。oO(平和な日常は私を鈍くする) ---
Re:綺麗なコード (スコア:2, おもしろおかしい)
といわれる罠。
Re:綺麗なコード (スコア:4, 興味深い)
jtakanoさんの書いていることは、私の知る知識と符合します。
マイクロソフトのプログラマは、レイオフやチームの解散を避けるために、
伝統的に、設計資料を残さず、ノウハウを属人化させるという姿勢でいるそうです。
Re:綺麗なコード (スコア:2, 興味深い)
呆れたことにドキュメントがなく、詳しい人間にぶち当たるまで、その状態だったと聞く。
Re:綺麗なコード (スコア:1, 参考になる)
このあたりの姿勢から必然的なんですねえ。
Re:綺麗なコード (スコア:1)
1ダンプカー(※)程度のリスクでもやばい事になっちゃうし。
XP(eXtremeの方)的に個人と言うよりチームで知識を共有するんでしょうか・・・。
※「開発者が1人ダンプカーに轢かれた」を1とするリスクの単位
--- (´-`)。oO(平和な日常は私を鈍くする) ---
Re:綺麗なコード (スコア:1)
そんなときはサイボーグ [nifty.com]にすれば経費節減もできていいですよ。
Re:綺麗なコード (スコア:0, 参考になる)
Re:綺麗なコード (スコア:1, すばらしい洞察)
すみません。
この文章って、「プログラマが設計資料を人質?にとって、
自分達の雇用を守っている」と読めるのですが…
Re:綺麗なコード (スコア:0)
それ以外に読み様があるの??
# 汚れた大人になってしまったのでAC
Re:綺麗なコード (スコア:0)
残さないことを認めているわけですね。
# 私が管理職だったら、そんな態度自体を認めないが。
Re:綺麗なコード (スコア:0)
#当社の場合
Re:綺麗なコード (スコア:0)
ドキュメントを残さない主義のAC
Re:綺麗なコード (スコア:0)
>伝統的に、設計資料を残さず、ノウハウを属人化させるという姿勢でいるそうです。
よくゲイツがそれを認めているね。
それでいいと思っているのだろうか。
綺麗なコードだというのみでは、信頼できない (スコア:0)
Re:綺麗なコード (スコア:2, おもしろおかしい)
Re:綺麗なコード (スコア:0)
Re:綺麗なコード (スコア:2, おもしろおかしい)
丁寧にバグを実装しているわけです。
Re:綺麗なコード (スコア:0)
まー綺麗だろーと汚かろうと動けば正義か?
http://srad.jp/comments.pl?sid=157233&cid=495179
Re:綺麗なコード (スコア:1)
とか出してますね。
MS のプログラマは、相当の給与が支払われるわけですから、
その辺の似非プログラマと比較してどうする?
問題なのは、そのビジネススタイルでしょう。
# 罪を憎んで人を憎まず [amazon.co.jp]
Re:綺麗なコード (スコア:1)
MFCのコードとDDKのサンプルコード見たことあるけど、
MFCのほうは結構綺麗なんだけどDDKのサンプルは「なんだこりゃ」って感じなんだよね。
もしかしたら、チームで書き方が違ったりするのかも知れん。
#ドライバが汚く書かれてたら嫌だなあ。
Re:綺麗なコード (スコア:0)
DDKの、ってdriverのsampleってことですよね?
得てしてそういうlow levelなものは性能重視で書かれることが多くて、
可読性よりもtuning主体で書かれる(ことが多い)から、
傍目にはかなり見難いcodeが出来上がる(ことが多い)ってことじゃないんですか。
#どれだけ多いのかはともかく。
それにhungarian自体そんなに悪いもんじゃないんだけどなあ。
きち
Re:綺麗なコード (スコア:1)
#だれの言葉だったか..
Re:綺麗なコード (スコア:0)
きれいなコードでもきたないコードでも、バグの発生可能性は
同じと仮定したとして、
どちらが保守しやすいと思う?
そんなことも知らん馬鹿揃いになってしまったのか/.jは。
ソースが仕様書だとかほざく奴までいるし、
相当普段まともな仕事してないんだろうねえ…。
Re:綺麗なコード (スコア:0)
保守の話はしていない。
相当普段まともな人付き合いしてないんだね。
Re:綺麗なコード (スコア:1)
是非拝んでみたいものだという人も多いのではないかと。
最初に書いたコードは綺麗なものですよ。出荷する時ににはバグ修正だか仕様変更をねじ込まれたものやらでクタクタ状態になってしまいますが。
最新のソースであるという情報はあるのでしょうか。
Windowsにとって今そこにある危機 (スコア:0)
MFCやサンプルなどで見えるMSのコードはとても綺麗ですよ。
見た目はね。
そこに潜むバグというか動作というか
見えない部分が綺麗かどうかはさておき。
1GB圧縮ファイルのソー
Re:Windowsにとって今そこにある危機 (スコア:1)
/* Fall through. */
とか書いてるみたいだし。関数の仕様も結構書いてるみたい。
# あの単純な電卓が160kb超なのか……
以上
Re:綺麗なコード (スコア:0)
Re:綺麗なコード (スコア:0)