2011-12-05 4 views
2

私はFacebookのPHP HipHopプロジェクトについて多くのことを読んできましたが、私は理解できないようです(私はHipHopをテストする64ビットマシンを持っていません)というのは、HipHopを単純にバイナリをコンパイルするのではなく、単にプロジェクト変換ツールです。PHPのHipHopコードを維持することは可能ですか?

PHP CLIアプリケーションをHipHopを使用してC++に変換しようとすると、HipHopを毎回使用するのではなく、今後C++でメンテナンスすることは可能でしょうか?

答えて

3

私は、自動的に翻訳されたコードは、手書きのコードよりも維持するのが難しいと思います。それはコンピュータによって生成されるので、多くの場所でループのようなものを取り除くことができます。多くのものが準最適(直接変換はイディオムに対応できない場合があります)し、しばらくの間これを微調整した後、メンテナンスの悪夢となるスタイル(自動生成と手書き)が混在します。

本来、このC++コードは、通常のコンパイル後にバイナリのように扱うべきです。あなたは新しい機能を追加するためにそれを微調整しますか?いいえ、ソースを編集してから再コンパイルします。それはあなたがここでやるべきことです。 C++はであり、生成されるのはで中間表現です。それが人間が読める言語であるという事実は、あなたがそれを変更するよう誘惑すべきではありません。

1

HipHopによって生成されたソースC++は、完全に変更可能です。人々はこれのためにHipHopを使用します。 HipHopで生成されたC++で大幅に拡張するのは意味がありません。なぜなら、手書きのコード(または効率的なところであればどこでもよい)に従うのは簡単ではありませんが、小さな変更(おそらく最適化)では可能です。

また、HipHopを使用してベースを生成することができます。このベースは、PHPスクリプトをC++に変換する場合に完全に書き換えることができます。まずHipHopで生成されたコードを見て、手で全体を書き直すのを手伝ってください。

関連する問題