Como "neutralizar" aqueles que escrevem códigos ruins na equipe?

9

Eu sempre amei este artigo no JoelOnSoftware chamado "Fazendo as coisas quando você é apenas um grunhido". Eu poderia me relacionar especialmente quando eu era novato (e ainda sinto que sempre serei um).

Sobre o nº 4, neutralizando os bozo's. Que conselho você daria para implementar isso de fato em situações reais no trabalho? Não parece tão fácil (pelo menos em nossa equipe) como simplesmente registrar um bug no código incorreto de alguém. O que funciona para todos vocês lá fora?

C Johnson
fonte
11
Armas. Muitos deles.
CodesInChaos

Respostas:

9

Avaliação permanente.

No final de cada dia, gaste 30 minutos para revisar o que eles escreveram. Se eles fizeram algo errado, faça-os reescrevê-lo.

A menos que você faça isso, um dia você perceberá que uma parte do seu aplicativo, apesar de aparentemente ser capaz de fazer o trabalho, é totalmente insustentável, projetada incorretamente e causará muitos problemas no futuro - ou até amanhã.

Mesmo que isso os torne menos produtivos, ainda será muito melhor se eles produzirem um bom código contra o tamanho duas vezes maior, mas um bocado de erros não-sustentáveis.

P Shved
fonte
2
Ótima resposta. Se eu puder acrescentar a isso, se essa pessoa é uma colega, é melhor fazê-lo pelo líder da equipe. Dessa forma, a resposta "não é bom-faça-isso-novamente" seria muito mais eficaz se comandada pela hierarquia da loja.
11
@ Surfista, é exatamente o oposto. Você se torna um líder de equipe fazendo coisas assim, propondo melhores soluções, cuidando do que a equipe faz. Não o contrário. (Mas, é claro, obter ajuda de níveis mais altos da hierarquia ajuda).
precisa
11
Então a pergunta se torna: quem tem autoridade para fazê-los reescrevê-la? Acho que a resposta é a autoridade moral de toda a equipe, se os problemas forem transmitidos para toda a equipe.
C Johnson
Na ausência de um mecanismo robusto de revisão de código para cada membro da equipe, isso é apropriado. Também é apropriado garantir que o bozo não cave um buraco realmente profundo (mesmo que não valha o custo da fixação) antes de receber instruções para retrabalhá-lo.
mattnz
5

Se a pessoa simplesmente não conhece nada melhor, mas quer aprender, forneça alguma orientação e revisão de código. Verifique se eles estão expostos a um bom código.

Os desenvolvedores realmente ruins são aqueles que são mal definidos e lutam para aprender algo novo. Sua única esperança é deixá-los sofrer mantendo sua própria bagunça ou algumas das coisas mais simples. Idealmente, alguém com autoridade se levanta e diz que se conforma ou sai.

JeffO
fonte
11
A atitude realmente conta. Normalmente, acho o novato mais humilde e aberto a críticas e críticas de código. Essas pessoas são fáceis de conversar. E você pode facilmente conversar com eles sobre as fraquezas deles. São os veteranos arrogantes, que quebram como um milhão de pedaços de vidro quando são criticados por seu trabalho.
C # Johnson