Я работаю в крупной гуманитарной организации, занимающейся разработкой программного обеспечения для проекта, которое могло бы помочь спасать жизни в чрезвычайных ситуациях, ускоряя распределение продуктов питания. Многие НПО отчаянно нуждаются в нашем программном обеспечении, и мы отстаем от графика на несколько недель.
В этом проекте меня беспокоит то, что я считаю чрезмерным акцентом на стандартах кодирования. Мы пишем в python / django и используем версию PEP0008 с различными модификациями, например, длина строки может доходить до 160 символов, и все строки должны идти так долго, если это возможно, без пустых строк между импортами, правила переноса строк, которые применяются только к определенным видам классов, множество шаблонов, которые мы должны использовать, даже если они не лучший способ решить проблему и т. д. и т. д.
Один основной разработчик провел неделю, переписывая основную часть системы, чтобы соответствовать новым тогда стандартам кодирования, отбрасывая в процессе несколько наборов тестов, поскольку переписывание означало, что они были «недействительными». Мы потратили две недели на переписывание всей утраченной функциональности и исправление ошибок. Он является ведущим разработчиком, и его слово имеет вес, поэтому он убедил руководителя проекта, что эти стандарты необходимы. Младшие разработчики делают, как им говорят. Я чувствую, что у менеджера проекта есть сильное чувство когнитивного диссонанса по поводу всего этого, но, тем не менее, яростно соглашается с этим, поскольку он не уверен, что еще делать.
Сегодня у меня возникли серьезные проблемы, потому что я забыл поставить несколько пробелов после запятых в аргументе ключевого слова. Меня буквально кричали два других разработчика и менеджер проекта во время разговора по Skype. Лично я считаю, что стандарты кодирования важны, но я также думаю, что мы тратим много времени на их одержимость, и когда я их озвучил, это вызвало ярость. Меня считают нарушителем спокойствия в команде, команде, которая ищет козлов отпущения за свои недостатки. Со времени введения стандартов кодирования производительность команды заметно снизилась, однако это только усиливает одержимость, т. Е. Ведущий разработчик просто обвиняет нас в несоблюдении стандартов из-за отсутствия прогресса. Он считает, что мы не можем читать код друг друга, если мы не придерживаемся соглашений.
Это начинает становиться липким. Теперь я пытаюсь изменить различные скрипты, autopep8, pep8ify и PythonTidy, чтобы соответствовать соглашениям. Мы также запускаем pep8 для исходного кода, но в нашем стандарте так много неявных поправок, что их сложно отследить. Lead dev simple выбирает ошибки, которые не распознает сценарий pep8, и выкрикивает нас на следующем совещании. Каждую неделю появляются новые дополнения к стандартам кодирования, которые заставляют нас переписывать существующий, работающий, проверенный код. Слава Богу, у нас все еще есть тесты (я отменил некоторые коммиты и исправил кучу тех, которые он удалил).
Все это время усиливается давление, чтобы уложиться в срок.
Я считаю, что фундаментальная проблема заключается в том, что ведущий разработчик и другой основной разработчик отказываются доверять другим разработчикам свою работу. Но как с этим бороться? Мы не можем делать свою работу, потому что мы слишком заняты переписыванием всего.
Я никогда не сталкивался с такой динамикой в команде разработчиков программного обеспечения. Я ошибаюсь, ставя под сомнение их приверженность стандартам кодирования? Кто-нибудь еще сталкивался с подобной ситуацией и как они успешно с ней справились? (Я не ищу обсуждения, просто реальные решения, которые люди нашли)