1

ソースコードのコピーをサードパーティに提供する必要がありますが、簡単に再利用できる気の利いた拡張可能なフレームワークであることを考えると、オブジェクト指向の少ないバージョン (より適切な用語が必要なための「手続き型」バージョン) を提供したいと考えています。これにより、値などを微調整することはできますが、現在の構造の完全な柔軟性を使用して再実装することはできません。

コードは、クラス、コンストラクターなどの通常のものを使用します。これを「単純化」して「ソース」のままにするためのツールまたはメソッドはありますが、プレーン変数のみを使用します。

たとえば、コンストラクターで this.blah を初期化するクラス インスタンス 'myclass' がある場合、myclass_blah という変数を使用して同じことを行うことができます。この変数は、より「フラット」な方法で操作されます。このような状況では、ポリモーフィズムなどのいくつかのことはおそらく不可能だと思います。おそらく、「非常に穏やかな」設定に設定された難読化ツールはそれを達成するでしょうか?

ありがとう

4

3 に答える 3

6

気の利いた拡張可能なフレームワークに関する私の経験では、ほとんどのショップが独自の気の利いた拡張可能なフレームワーク (通常は複数) を持っており、ベンダー提供のソース コードからそれらを盗むことはほとんどありません。ソース コードを提供する義務がある場合 (ビジネス上の関係により)、少なくとも私の考えでは、実際のソース コードを保守可能な形式で提供する倫理的義務があります。ソースコードをどのように保護するかは法的な問題であり、私は法的なアドバイスを提供することはできませんが、実際には、リリースに何らかのライセンスを含め、IP を完全に盗むつもりのないクライアントに対処する必要があります (それが実際にあなたのものであると仮定すると、あなたがそれを開発している用語。)

于 2012-01-10T01:40:13.923 に答える
1

フレームワークを提供したくない場合は、提供しないでください。必要と思われる情報源のみを提供してください。そうでなければ、将来的に両方のバージョンをサポートするか、これらの人々(および彼らが知っている人々)と二度と仕事をしたり対話したりする必要がないでしょう。

難読化されていない.Netアセンブリには、簡単にコンパイル解除できる形式のILが含まれていることを忘れないでください。多くの場合、ソースを調べるよりも、ILSpy/Reflectorを使用して他の誰かのコードを読み取る方が簡単です。

コードを提供する理由が何らかの検査である場合(単にコードを見るだけでも)、半ばまともなコードを使用したほうがよいでしょう。コードがC#( http://www.nikhef.nl/~templon/fortran/fortran_style )を使用してFORTRANスタイルで記述されているように見える場合は、ツールを破棄することを真剣に検討します。

補足:「気の利いた拡張可能なフレームワーク」は「ここで発明されていない」症候群の根源の1つだと思います-フレームワークに関するコメントについてもっと心配します(「このコードは@#@#@を使用しないため、 YYYのパターンと間隔が間違っています」)再利用よりも。

于 2012-01-10T03:23:42.220 に答える