코드 안정성, 이식성, 그리고 가장 중요한 것은 다른 개발자가 공동으로 작성한 코드의 가독성을 높이는 소프트웨어 회사에는 다양한 코딩 표준이 적용됩니다.
주목할만한 두 가지 예는 MISRA C 와 JSF 프로젝트를 위해 개발 된 C ++ 표준입니다 .
"must", "shall", "should", "might"등의 의미를 신중하게 지정한 후 일반적으로 다음과 같은 형식입니다.
예:
규칙 50 : 부동 소수점 변수는 정확한 동등 또는 부등식에 대해 테스트되지 않아야합니다.
이론적 근거 : 부동 소수점 숫자는 반올림 및 잘림 오류의 영향을 받기 때문에 예상하더라도 정확한 동등성을 달성하지 못할 수 있습니다.
이러한 코딩 표준은 일반적으로 컴파일러의 관점에서 합법적 인 코드에 제한이 있지만 위험하거나 읽을 수 없으므로 "유해한 것으로 간주"됩니다.
이제 남용하자!
귀하는 회사의 소규모 표준화위원회의 회원으로 승인되며, 이는 회사의 모든 개발자가 사용해야하는 새로운 코딩 표준을 설계하기위한 것입니다. 다른 사람들에게 알려지지 않은, 당신은 비밀리에 사악한 조직을 고용하고 있으며 회사를 방해하는 임무를 수행합니다. 나중에 개발자를 방해 할 하나 이상의 코딩 표준 항목을 제안해야합니다. 그러나이를 즉시 명백하게하지 않도록주의해야합니다. 그렇지 않으면 표준에 적용되지 않을 위험이 있습니다.
다시 말해, 합법적으로 보이고 위원회의 다른 구성원이 받아 들일 가능성이 높은 코딩 표준에 규칙을 도입해야합니다 . 프로젝트가 시작하고 수많은 사람이 시간 코드에 투자 한 후, 당신은 또는, 전문적 사항에 의해 (예를 들어, 이러한 규칙을 남용 할 수 있어야한다 아주문자 그대로 해석) 그렇지 않으면 정상적이고 우수한 품질의 코드를 표준에 위배되는 것으로 표시합니다. 따라서이를 재 설계하기 위해 많은 노력을 기울여야하며,이 시점부터 규칙이이를 방해 할 것이지만, 현재 규칙이 꽤 오랫동안 활성화되어 있기 때문에 순수한 추진력은 이러한 역할을 계속 유지하고 중대한 갈등이있을 것입니다 서로 다른 수준의 경영진 사이에 이해 관계가 있다면, 다른 관리자는 아마도 규칙을 유지하고 (실수를 인정하는 것은 어리석은 일입니다!) 회사를 방해합니다! Mwahahahahaaa!
채점
유효한 첫 응모에서 약 2 주 후에 가장 높은 투표 응답을 얻습니다. 나는 좋은 대답에 대한 아이디어를 가지고 있지만 다른 사람이 같은 아이디어를 얻을 수 있기 때문에 며칠 후에 게시 할 것이며 나는 그들을 기쁨에서 빼앗고 싶지 않습니다. 물론 점수에 상관없이 본인의 답변은 다른 어떤 것보다 받아 들여지지 않습니다.
유권자들은 허점이 얼마나 잘 숨겨져 있는지, 개발자에게 얼마나 실망 스러울 지에 따라 답을 얻는 것이 좋습니다.
규칙 및 규정
- 위의 예와 같이 규칙을 전문적으로 작성해야합니다.
- 규칙은 진짜처럼 보일 것입니다 (따라서 "모든 변수는 적어도 하나의 밑줄, 하나의 대문자, 하나의 소문자 및 두 개의 숫자를 포함해야합니다" 와 같은 것은 허용되지 않습니다. 실제로 개발자를 방해 할 것이지만 대부분은 받아들이지 않을 것입니다 위원회) 및 그 장점이 즉시 명확하지 않으면 좋은 근거를 제시해야합니다.
- 나중에 개발자를 방해하는 규칙을 사용하거나 남용하는 방법을 찾을 수 있어야합니다. 다른 규칙에서 모호성을 남용하거나 자체적으로 무해하지만 일단 결합 된 악마 규칙 인 여러 규칙을 사용할 수 있습니다!
- 게시물 끝에 스포일러 태그로 규칙을 악용 할 수있는 방법에 대한 설명을 게시해야합니다.
- 사용 된 언어는 비의가되어서는 안됩니다. 실제 프로젝트에서 널리 사용되는 언어를 선택해야하므로 Golfscript와 같은 언어 대신 C와 유사한 구문을 사용하는 언어가 선호됩니다.