이 사이트가 유치하는 평균 이상의 프로그래머가 많기 때문에 부정적인 반응은 그리 놀라운 일이 아닙니다. 재능있는 사람들은 일반적으로 이러한 종류의 난독 화 전술에 의지 할 필요가 없습니다. 그러나 나는 그들이 열심히에 대한 문서의 풍부한 양의 생성을 지키고 자신을 위해 작은 영지을 조각했던 몇 그리 재능있는 개발자와 포춘 500 대 자동차 부품 업체에서 근무 끔찍한 그들이 디자인 한 인터페이스를.
한 사람의 전체 업무는 두 개의 완전히 별개의 하위 시스템을 연결하는 모듈의 코드를 유지 관리하는 것이므로 각 시스템의 모듈이 UART를 통해 통신 할 수 있습니다. 기본적으로 직렬 프로그래밍 101이었습니다. 다음과 같은 일반적인 인터페이스를 만드는 대신 :
int sendData (int targetModule, void * data, size_t byteCount);
int recvData (int sourceModule, void * data, size_t maxBytes);
그는 두 개의 통신 모듈이 서로에게 보낼 수있는 모든 단일 메시지에 대해 별도의 opcode를 작성했습니다 . 이는 그의 모듈이 모든 메시지에 대해 알아야하고, 메시지가 추가되거나 변경 될 때마다 업데이트되어야한다는 것을 의미했습니다. 부적절한 친밀감에 대해 이야기하십시오!
문제는이 사람이 모든 opcode / 메시지를 깔끔하게 나열하는 Word 문서를 유지하고 필요에 따라 부지런히 업데이트 한 것입니다. 그것은 그의 직업 이되었습니다 . 일주일에 몇 번, 그는 모든 사람들에게 불행히도 자신의 중요한 길을 갈 수있을 정도로 새로운 개정판을 보냈습니다. 경영진 이 문서를 보는 것을 좋아 했기 때문에 이것은 '전문적인'것으로 여겨졌습니다 . Kinda는 자동차 산업에 대해 울었습니다.
필자의 요점은 다음과 같다. 때때로 문서를 작성하면 실제로는 평범한 프로그래머를 보호 할 수있다 . 관리자는 종종 좋은 디자인과 나쁜 디자인의 차이점을 알 수 없으며 많은 사람들이 제한된 정보로 기술적 결정을 내려야합니다. 그들에게는 엄청나게 스트레스가됩니다. 수십 개의 깔끔한 형식의 테이블이있는 Word 문서를 보는 것은 기본적으로 나쁜 생각이더라도 매우 편안 할 수 있습니다 .