저는 식량 보급을 가속화하여 긴급 상황에서 생명을 구하는 데 도움이되는 프로젝트 구축 소프트웨어에서 대규모 인도주의 단체를 위해 일하고 있습니다. 많은 NGO가 필사적으로 소프트웨어를 필요로하며 일정보다 몇 주 뒤늦습니다.
이 프로젝트에서 저를 걱정하는 것은 코딩 표준에 지나치게 집중하는 것입니다. 우리는 파이썬 / 장고로 작성하고 PEP0008 버전을 사용합니다. 예를 들어 줄 길이는 최대 160 자까지 가능하며 모든 줄은 가능하면 길어야합니다. 가져 오기 사이에 빈 줄이 없어야합니다. 특정 종류에만 적용되는 줄 바꿈 규칙 문제 등을 해결하는 가장 좋은 방법은 아니지만 클래스, 많은 템플릿을 사용해야합니다.
한 핵심 개발자는 새로운 코딩 표준을 충족시키기 위해 시스템의 주요 부분을 재 작성하는 데 일주일을 보냈습니다. 재 작성이 '유효하지 않음'을 의미하는 과정에서 여러 테스트 스위트를 버렸습니다. 우리는 잃어버린 모든 기능을 다시 작성하고 버그를 수정하는 데 2 주를 보냈습니다. 그는 수석 개발자이며 그의 말은 무게를 지니고 있으므로 프로젝트 관리자에게 이러한 표준이 필요하다고 확신시켰다. 하급 개발자들은 지시대로 행동합니다. 나는 프로젝트 관리자가이 모든 것에 대해인지 적 불협화음에 대해 강한 느낌을 가지고 있지만 그럼에도 불구하고 그가해야 할 일이 확실치 않다고 느끼면서 이에 동의합니다.
오늘 나는 키워드 논쟁에서 쉼표 뒤에 공백을 넣는 것을 잊었 기 때문에 심각한 문제에 봉착했습니다. Skype 통화 중에 다른 두 명의 개발자와 프로젝트 관리자가 문자 그대로 소리 쳤다. 개인적으로 나는 코딩 표준이 중요하다고 생각하지만 우리는 그 표준에 집착하는 데 많은 시간을 낭비하고 있다고 생각합니다. 나는 실패한 희생양을 찾고있는 팀에서 문제를 일으키는 사람으로 여겨진다. 코딩 표준이 도입 된 이후, 팀의 생산성은 크게 떨어졌지만, 이는 단지 강박 관념을 강화시킵니다. 즉, 선두 개발자는 진전이 없다는 표준에 대한 우리의 비준수를 단순히 비난합니다. 그는 우리가 협약을 준수하지 않으면 서로의 코드를 읽을 수 없다고 생각합니다.
이것은 끈적 거리기 시작합니다. 이제 다양한 스크립트, autopep8, pep8ify 및 PythonTidy를 수정하여 규칙과 일치 시키려고합니다. 또한 소스 코드에 대해 pep8을 실행하지만 표준에 대한 암시 적 수정이 너무 많아서 모두 추적하기가 어렵습니다. 간단한 개발자는 다음 스탠드 업 회의에서 pep8 스크립트가 가져 오지 않은 결함을 골라냅니다. 매주 코딩 표준에 새로 추가되어 기존의 작동하고 테스트 된 코드를 다시 작성해야합니다. 우리에게 여전히 시험이있는 하늘에 감사하십시오 (나는 커밋을 되돌리고 그가 제거한 많은 것을 고쳤습니다).
마감 시한을 맞추기위한 압력이 계속 증가하고 있습니다.
근본적인 문제는 수석 개발자와 다른 핵심 개발자가 다른 개발자가 자신의 작업을 수행하는 것을 신뢰하지 않는다는 것입니다. 그러나 어떻게 처리합니까? 우리는 모든 것을 다시 쓰고 너무 바빠서 일을 할 수 없습니다.
소프트웨어 엔지니어링 팀에서 이런 역동적 인 경험을 한 적이 없습니다. 코딩 표준을 준수하는지 의심하는 것이 잘못 되었습니까? 다른 사람이 비슷한 상황을 경험했으며 어떻게 성공적으로 처리 했습니까? (나는 사람들이 찾은 실제 솔루션에 대한 토론을 찾고 있지 않습니다)