アカウント名:
パスワード:
いやぁ気持ちはわかるがホントにやるとはすごいねぇ
各専用コード合計:共通コード の比はどれぐらいなんだろうか
ソースのトップが#if defined(Mac) #include MAC用そーす.C#else #if defined(WIN) #include WIN用そーす.C #endif#else #if defined(MAC) #include MAC用そーす.C #endif#else #if defined(あんどろいど) #error まだない #endif#endifソース統合を要求されてやったことがる
統合すればメンテコスト下がるだろうと上は思いがちですね。でも、小回りがきかなくなるんだよね。
統合すると最終的に小回りが効かなくなるって、すごくわかる。それで行き着いた結果、共通部分がどんどん小さくなっていったりとかね…。下手にやると "なんとかUtil" みたいな部分が膨らんでいって、やり直したくなるとかね。
インターフェイスと実装を分離すればもっとましなように書ける。あと #elif defined で OK。
MACやあんどろいどは通らないんじゃない?
脳味噌使わずに対応したらそうなるよね。
#elseが連続してるからコンパイル通らないよね?
どんだけうまく抽象化してもOfficeほどの規模だとifdef地獄になる気がする…
うん、すごいね。Firefoxに次ぐ偉業だ。
数年前に発表された時はOS固有部分は2,3%って言ってました。OSの差異を吸収するオリジナルの専用抽象レイヤーを使っているそうです。
マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのかhttp://www.publickey1.jp/blog/14/cmicrosoft_office.html [publickey1.jp]> PowerPointのユニバーサルアプリでは、コードの96%が共通コード。Android版では95%が共通コード。
しかしだいぶ苦労したんだな
言うは易し行うは難しの典型ですね。開発者なら一度くらいはやった経験有ると思うけど、全部合わせると一体どれだけの屍(頓挫)が有ることやら。。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
AndroidとMacとWindowsにiOSまで (スコア:3)
いやぁ気持ちはわかるがホントにやるとはすごいねぇ
各専用コード合計:共通コード の比はどれぐらいなんだろうか
Re:AndroidとMacとWindowsにiOSまで (スコア:4, おもしろおかしい)
ソースのトップが
#if defined(Mac)
#include MAC用そーす.C
#else
#if defined(WIN)
#include WIN用そーす.C
#endif
#else
#if defined(MAC)
#include MAC用そーす.C
#endif
#else
#if defined(あんどろいど)
#error まだない
#endif
#endif
ソース統合を要求されてやったことがる
Re: (スコア:0)
統合すればメンテコスト下がるだろうと上は思いがちですね。
でも、小回りがきかなくなるんだよね。
Re: (スコア:0)
統合すると最終的に小回りが効かなくなるって、すごくわかる。それで行き着いた結果、共通部分がどんどん小さくなっていったりとかね…。
下手にやると "なんとかUtil" みたいな部分が膨らんでいって、やり直したくなるとかね。
Re: (スコア:0)
インターフェイスと実装を分離すればもっとましなように書ける。
あと #elif defined で OK。
Re: (スコア:0)
MACやあんどろいどは通らないんじゃない?
Re: (スコア:0)
脳味噌使わずに対応したらそうなるよね。
Re: (スコア:0)
#elseが連続してるからコンパイル通らないよね?
Re:AndroidとMacとWindowsにiOSまで (スコア:1)
どんだけうまく抽象化してもOfficeほどの規模だとifdef地獄になる気がする…
Re: (スコア:0)
うん、すごいね。
Firefoxに次ぐ偉業だ。
Re: (スコア:0)
数年前に発表された時はOS固有部分は2,3%って言ってました。
OSの差異を吸収するオリジナルの専用抽象レイヤーを使っているそうです。
Re:AndroidとMacとWindowsにiOSまで (スコア:4, 参考になる)
マイクロソフトは、C++でいかにしてMicrosoft Officeのクロスプラットフォームを実現したのか
http://www.publickey1.jp/blog/14/cmicrosoft_office.html [publickey1.jp]
> PowerPointのユニバーサルアプリでは、コードの96%が共通コード。Android版では95%が共通コード。
しかしだいぶ苦労したんだな
Re: (スコア:0)
言うは易し行うは難しの典型ですね。
開発者なら一度くらいはやった経験有ると思うけど、全部合わせると一体どれだけの屍(頓挫)が有ることやら。。