パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

MSBuildがオープンソース化される」記事へのコメント

  • MSBuildをMac/Linuxでビルドするための各プラットフォーム版MSBuildはどうやってビルドするのでしょうかね。

    (「MSBuildがMSBuildでビルドされるとは限らない」というだけの話ではあります...)
    あと個人的にはMSの書いたXMLパーサ部が気になる。IEの部品を使っているのなら、ついでにオープンソース化されるとか?

    • あと個人的にはMSの書いたXMLパーサ部が気になる。IEの部品を使っているのなら、ついでにオープンソース化されるとか?

      ちょっと検索してみたところ、XML関係は.NET Frameworkの標準のものを使っているようです: Search Results [github.com]。この辺りはすでにオープンソース化されている部分に含まれています: corefx/XmlDocument.cs at master · dotnet/corefx [github.com]など。

      • なるほど、.NETなら納得です。
        MSBuildが.NETアプリケーションであるとは想像していませんでした。
        C++製だろうと思っていて、C++標準にはXMLパーサは無いはずだから何かしら必要だろうと。

        .NET製ならば、移植も.NETの移植に乗って、MSBuild側のプラットフォーム依存をなんとかすれば良いわけですから、まあまあ楽ですね。

        ご指摘ありがとうございます。
        さすがMSソース綺麗。(ぱっと見なのでこれから熟読します)

        • by Anonymous Coward

          全部見てないけど、return値を変数に持たない様にしてますね。流石だ。
          状態をむやみに保持しないのを、他人が書いてるのにお目に掛かる事が皆無ですから。。
          まあ、Javaの現場なんですけどね。

          見やすいのは筋が悪い記述を避けやすいというのがあると思います。
          変に原理主義では無いというべきですかねぇ。
          正しいんだけどなんかなぁ、、、というコードは書いたり見たりすると悩みますから。

          • 記憶が曖昧ですが、たしか「Old New Things」によると、(マクロなレベルでの話ですが)「キャッシュは可能な限り持たない」というのが、MSというかWindowsのコーディングにおける基本方針になっていたはずです。
            return値の変数くらいなら、コンパイラの最適化によって実行バイナリでは消えそうな気もしますが。

            そのMSコーディング文化が徹底されているということかもしれません。(もしかしたらそういったチェックも行う専用のLintツールがあるのかも)

            親コメント
            • by Anonymous Coward
              > return値の変数くらいなら、コンパイラの最適化によって実行バイナリでは消えそうな気もしますが。

              ルールの目的を勘違いしてない?

              「キャッシュを持たない」ってのは、ロジックに不整合を起こさないための論理レベルでの問題を無くすための コーディングルール。
              最適化で消えるかどうかっていう効率とは、全く関係がない。

Stableって古いって意味だっけ? -- Debian初級

処理中...