このサイトが魅力的な平均以上のプログラマーの数を考えると、否定的な反応は驚くにはあたらない。一般に、才能のある人々は、こうした種類のセキュリティによる難読化の戦術に頼る必要はありません。しかし、私は、彼らは熱心のドキュメントの大量作成することによって守られて自分自身のために少し領地外に刻まれていたいくつかのそれほど有能な開発者、とのフォーチュン500の自動車部品メーカーで働いていた恐ろしい彼らは設計されていたインターフェイスを。
ある男の仕事は、2つの完全に独立したサブシステムをブリッジするモジュールのコードを維持し、各システム上のモジュールがUARTを介して通信できるようにすることでした。基本的に、シリアルプログラミング101でした。次のような一般的なインターフェイスを作成するだけではありません。
int sendData(int targetModule、void * data、size_t byteCount);
int recvData(int sourceModule、void * data、size_t maxBytes);
彼は、2つの通信モジュールが互いに送信する可能性のあるすべてのメッセージごとに個別のオペコードを作成しました。つまり、彼のモジュールはすべてのメッセージについて知る必要があり、メッセージが追加または変更されるたびに更新する必要がありました。不適切な親密さについて話してください!
実は、この男はWordのドキュメントにすべてのオペコード/メッセージをきちんとリストし続け、必要に応じて熱心に更新しました。それが彼の仕事になりました。週に数回、彼はすべての人々に新しい改訂版を送り、不幸にも彼を彼らのクリティカルパスに乗せました。そして、経営陣はドキュメントを見るのが大好きだったので、これは「プロフェッショナル」と見なされていました。ちょっと、自動車産業を泣かせてくれます。
私のポイントは、ドキュメンテーションを書くことは、実際には、平凡なプログラマーを保護できることです。多くの場合、マネージャーは良いデザインと悪いデザインの違いを見分けることができず、多くの人は限られた情報で技術的な判断を迫られます。彼らにとって非常にストレスが多い。何十もの表がきちんとフォーマットされたWord文書を見ると、たとえそれが基本的に悪い考えであっても、非常に安心できます。