Isso lhe parece familiar?
seu programa (n): um labirinto de não-sequências repleto de truques inteligentes e comentários irrelevantes. Compare MEU PROGRAMA.
meu programa (n): uma joia de precisão algorítmica, que oferece o equilíbrio mais sublime entre codificação compacta e eficiente, por um lado, e legibilidade totalmente comentada para a posteridade, por outro. Comparar SEU PROGRAMA.
Li isso pela primeira vez na edição original de 1993 do Código Completo. Ele é citado em um livro muito anterior, Stan Kelley-Bootle’s Dicionário de DP do Diaboque foi publicado em 1981. Isso ainda é verdade, mais de 25 anos depois. Há uma predisposição instintiva para olhar o código que não foi escrito pelo senhor e, por vários motivos, grandes e pequenos, proclamá-lo uma porcaria absoluta. Mas descobrir quem é de fato o responsável por esse código de baixa qualidade requer algum trabalho de detetive.
O próximo Visual Studio 2008, ou pelo menos a versão Sistema de Equipe finalmente oferece um recurso que eu queria há anos: ele pode exibir o código lado a lado com a pessoa que o alterou pela última vez.
A última pessoa a alterar uma determinada linha é identificada ali mesmo, ao lado das linhas que foram alteradas, juntamente com a data e o número da revisão. Passar o mouse sobre o número da revisão revela uma dica de ferramenta que contém todos os comentários de check-in associados a essa alteração. Clicar no número da revisão abre a caixa de diálogo de detalhes completos desse check-in.
Embora eu tenha sentimentos contraditórios em relação à integração do controle de código-fonte com o IDE, acho que esse é um argumento bastante convincente a favor disso. Às vezes, o senhor só quer saber quem escreveu essa porcariae ter essas informações diretamente ao lado do código em seu editor evita muitas etapas tediosas de localizar manualmente o proprietário dessas linhas específicas.
Esse recurso é chamado de “annotate” (anotar) em Team System controle de fontes, mas é chamado de “culpa” no Subversion e em Vault. Portanto, se o senhor está se perguntando a quem culpar, agora já sabe. São todos aqueles outros desenvolvedores. Obviamente.