ソフトウェア企業では、さまざまな開発者が共同で記述したコードのコードの信頼性、移植性、そして最も重要な可読性を高めることを目標とするさまざまなコーディング標準が施行されています。
2つの注目すべき例は、MISRA Cと、JSFプロジェクト用に開発されたC ++標準です。
これらは通常、「must」、「shall」、「should」、「might」などの単語の意味を慎重に指定した後、次の形式になります。
例:
規則50:浮動小数点変数は、正確な等価性または不等価性についてテストされません。
理論的根拠:浮動小数点数は丸め誤差と切り捨て誤差の影響を受けるため、予想された場合でも正確な等価性が得られない場合があります。
これらのコーディング標準は、通常コンパイラの観点から合法であるコードに制限を課しますが、危険または読めないため、「有害と見なされます」。
これを悪用しましょう!
あなたはあなたの会社の小さな標準化委員会のメンバーとして受け入れられます。それは会社のすべての開発者が使用する必要がある新しいコーディング標準を設計することを目的としています。他の人には知られていませんが、あなたはひそかに不吉な組織を雇用しており、会社を妨害する使命を持っています。コーディング標準に1つ以上のエントリを提案する必要があります。これは、後で開発者の妨げになります。ただし、これをすぐに明らかにしないように注意する必要があります。そうしないと、標準に受け入れられない危険があります。
言い換えれば、正当であるように見え、委員会の他のメンバーに受け入れられる可能性が高いルールをコーディング標準に導入する必要があります。プロジェクトが開始され、コードに無数の工数が費やされた後、これらのルールを悪用できるようになります(たとえば、技術的または非常に文字通りの解釈)、そうでなければ通常の品質の良いコードに標準に違反しているというフラグを立てる したがって、彼らはそれを再設計するために多大な努力を払わなければならず、ルールはこの時点からそれらを妨げますが、ルールは現在かなり長い間アクティブであるため、純粋な勢いはこれらの役割を生き続け、重大な競合があるので異なるレベルの管理者間で関心がある場合、他のマネージャーはおそらくルールを守り続けるでしょう(彼らは間違いを認めるのは愚かなことでしょう!)、したがって会社を妨害します!ムワハハハハア!
得点
最初の有効なエントリーが勝ってから約2週間後の最高の回答。良い答えのアイデアはありますが、他の誰かが同じアイデアに出くわす可能性があるため、数日後に投稿します。もちろん、スコアに関係なく、私自身の答えは他のものよりも受け入れられません。
有権者は、抜け穴がどれだけ隠れているか、開発者がどれだけイライラするかに基づいて回答を採点することをお勧めします。
ルールと規則
- ルールは、上記の例のように専門的に書かれたように見える必要があります
- ルールは本物に見えるはずです(したがって、「すべての変数には少なくとも1つのアンダースコア、1つの大文字、1つの小文字、2つの数字が含まれている必要があります。」などは受け入れられません。委員会)そして彼らのメリットがすぐに明らかでない場合、あなたは良い根拠を与えるべきです。
- ルールを使用/悪用して、後で開発者を妨害する方法を見つけることができるはずです。他のルールのあいまいさを悪用したり、それ自体では無害であるが結合すると悪魔的な複数のルールを使用する可能性があります。
- ルールの悪用方法については、投稿の最後にスポイラータグで説明を投稿する必要があります
- 使用される言語は難解な言語であってはなりません。実際のプロジェクトで広く使用されている言語を選択する必要があるため、Golfscriptのようなものではなく、Cに似た構文の言語が優先されます。