2009-04-27 4 views
0

難読化された群衆のデザインで使用されてきたいくつかの一般的なプラクティスは何ですか?私は、書き直すことが許されていないプロジェクトに興味があることを発見しました。それは、問題へのより迅速かつ効率的な解決策になります。難読化のプラクティスによる共通のデザインですか?

+0

私はあなたの質問を理解していません。難読化といくつかのコードを書き直したいのはどういうつながりですか? –

+0

私の言葉は、難解な難解なコードです。他の人が持っていた楽しいことを聞きたかっただけです。 –

+0

この質問を生み出したプロジェクトでは、これらのパターンの大部分が怖いことが現れています。 –

答えて

3

私のお気に入りは、常に変数の周りを回っています...コード内に残っているものは、もう使われなくなり、意味のないすべての名前が付けられます。もちろん、難読化したい場合は、ほぼすべての大会を避けるように注意する必要があります。つまり、myVar1という変数とmyVarOneという名前の2つの同様に使用される変数を持つのが完璧な変数です。そのようなもの...

もう1つは、コード内にしか見えない未使用のコントロールを含めることです。 FormViewがなぜ落とされたのかを理解しようとしていた1時間のために、1つのASP.NETサイトを見つけました。(それに対する答えはありませんでした)

1

「hide」するために、私たちはフォルダーコール/ kensingtonにストアファイルで作業していた人が1人いました。それはちょうど彼が見たかったいくつかのXMLファイルを含んでいて、人々がそこを見ていないと思った。

0

私が会ったときには、単にシステムをやったメソッドを呼び出すだろうと非常に複雑な条件を書くために使用されるプログラマで働いていました。彼はアプリ全体を通してこれを何十回もやった。まだわからない理由は...

+1

おそらく副作用ですか? – strager

1

有用な文書はありません。

+0

それは難読化されていません、IMO。 – strager

+1

私はコードに依存すると思います。私は、コメントを追加するだけで混乱している時を見てきました。しかし、他の時代にはdevsの心に何が起こっていたのか知​​ることは本当にうれしいです。 –

+0

これは、コードが変更され、コメントがコードの内容と一致しなくなったときにしばしば問題になります。次の読者がコードが間違っているかコメントであるかを把握することが難しくなります。 間違ったコメントよりもコメントはありません。 – blabla999

3

私はかつて著者が変数として単一のハッシュを受信したデータと同じハッシュを追加または削除することを返された潜水艦のほとんどを持っていることにしましたperlのコードで働いていました。基本的に、1つのグローバルハッシュを使用して、異なるコードパスでデータを渡しました。私は彼がこれを実装しようとしていたものをデザインパターンを見つけ出すことはできませんこの日に

my $hash =(); 

$hash->{'CUSTID'} = 1001; 
$hash = GetAccounts($hash); 

if ($hash->{'AccountTotal'} > 100) { 
    $hash = getTotals($hash); 
    $hash->{'Acct_Sbkt_Marker'} = 'R1'; 
    $hash->{'Acct_Invr_Marker'} = 'BT'; 
    $hash = removeInvalidAccount($hash); 
} 

それはこのような何かを見ました。

私は$hashがきれいに並んされるだろう覚えています。

0

私は、うまく設計されたコードが解読されるのではなく、読まれるべきであると考えていました。

私は難読化を気に人々は他の環境でdotfuscatorのようなツールとその同等物を使用することを奨励されていることを理解しています。コードを逆コンパイルするのが難しくなるという意味での難読化は、単に作業するのに苦労するだけではありません。

は、なぜ誰もが故意に(落とし穴を実証することを除く)恐ろしいコードを設計するでしょう私を超えています。

+0

私は同意しません。意図的または意図的な "設計による難読化"は本当の痛みになる可能性があります。そして、私は人々が遭遇した他の "デザイン"の感触を得ようとしている –

関連する問題