Como você acompanha os autores do código? [fechadas]

14

Isso é algo que nunca fui ensinado. Eu já vi muitos tipos diferentes de estilos de autoria. Eu codigo principalmente em Java e Python. Fiquei me perguntando se havia um estilo de autoria padrão ou se tudo é estilo livre. Além disso, se você responder, se importaria de anexar o estilo usado para criar arquivos criados em casa ou no trabalho.

Eu costumo ir

@author garbagecollector
@company garbage inc.
dustyprogrammer
fonte
3
Onde a pessoa que altera seu código coloca o nome?
Jeffo
@ Jeff, onde e como fica.
Dustyprogrammer
Não faz sentido fazer isso. Por que você gostaria de fazer isso?
CodeART

Respostas:

-1

Não tenho muita certeza do que você está perguntando, no entanto, eu uso um estilo muito rigoroso:

;==========================================
; Title:  Author Style Sample
; Author: Darknite
; Date:   7 Jan 2011
;==========================================

O estilo é inspirado em programadores de montagem.

Coloquei isso no topo das páginas que preciso "Autor", independentemente se é uma classe, arquivo de texto ou procedimento armazenado SQL etc.

Noite escura
fonte
Isso está na linha do que estou procurando.
Dustyprogrammer
5
-1 Este (que cresce muito se atualizado (tanto um como as alterações de código por várias pessoas) é efetivamente substituído pelo controle de versão.
Michael Durrant
1
@ MichaelDurrant você esqueceu de fechar o parêntese;) de qualquer maneira legal. Eu gosto de pinguins.
009 Dark12:
4
@ Giorgio Na verdade não ... talvez não exista uma única linha de código do autor original no arquivo. É inútil.
Wilbert #
1
@ Wilbert: Claro, isso também depende da política da equipe: com a propriedade do código compartilhado, pode ser inútil acompanhar o autor de um arquivo. Com a propriedade individual do código, é importante saber quem é responsável por quais arquivos.
Giorgio #
71

Por que você? esse é o trabalho do sistema de versões e "Culpa" :)

Homde
fonte
8
ftw de controle de versão.
Paul Nathan
1
Faz ainda mais sentido fazê-lo dessa maneira, se você pensar nisso como gerenciamento de código-fonte (SCM), em vez de sistema de controle de versão (VCS).
Peter Eisentraut
pequena limitação, mudanças cosméticas (recuo, etc ...) mudar o autor da linha ...
Matthieu M.
4
@ Matthieu: O bom SCM pode mostrar quem fez as mudanças ao longo do tempo, e não apenas o último a tocá-lo. Eu também poderia argumentar que mudanças cosméticas também são mudanças.
grossvogel
1
Esta resposta tem mais de 8 anos e ninguém notou suas restrições? Aplica-se apenas se o código fonte permanecer em um VCS durante toda a sua vida útil (ou se for migrado adequadamente)! No entanto, muitos códigos de código aberto são transferidos entre diferentes ambientes de tempos em tempos, portanto, as informações do autor podem não ser repassadas se não forem gravadas diretamente no código-fonte.
Doc Brown
11

Não criamos na minha empresa. Em vez disso, deixamos nosso controle de versão lidar com isso.

Sempre que você faz check-in, ele anexa seu nome de usuário à lista de alterações. Se algo está quebrado, alguém pode voltar e ver o histórico de alterações para ver o que mudou, quando e quem fez. Também é interessante observar o gráfico de revisão para ver como um arquivo evoluiu ao longo do tempo, quem o tocou e quais projetos foram ramificados.

O problema que vejo ao colocar uma tag de autor em uma classe é que, com o tempo, é bem provável que mais de um desenvolvedor trabalhe nessa classe. Atualizações e similares. É uma etapa extra para atualizar o comentário do autor, e pequenas etapas extras tendem a ser esquecidas muito. Assim, desatualiza-se rapidamente.

Tyanna
fonte
10

Eu não faço isso. Acho que no trabalho temos algum modelo que é inserido nos arquivos com o nome da empresa e o ID do usuário da pessoa que modificou o arquivo pela última vez, mas nunca presto atenção nisso.

Em geral, não acho que realmente importe como você faz. Se você deseja criar um carimbo de autor nos seus arquivos, basta escolher um estilo consistente e seguir com ele.

Adam Lear
fonte
6

O JavaDoc é muito padrão na comunidade Java:

http://download.oracle.com/javase/1.3/docs/tooldocs/win32/javadoc.html#@author

@author nome-texto

Adiciona uma entrada "Autor" com o nome-texto especificado aos documentos gerados quando a opção -author é usada. Um comentário do documento pode conter várias @authortags. Você pode especificar um nome por @authortag ou vários nomes por tag. No primeiro caso, o Javadoc insere uma vírgula (,) e espaço entre os nomes. Neste último caso, o texto inteiro é simplesmente copiado para o documento gerado sem ser analisado. Portanto, use vários nomes por linha se desejar um separador de nomes localizado que não seja vírgula.

Luca Matteis
fonte
5

Eu acho que é melhor deixar para o sistema de controle de versão.

Tundey
fonte
4

Eu gosto do recurso de culpa no GIT. Você pode ver quem criou cada peça / linha de código. Não é apenas um arquivo.

chiurox
fonte
Outros VCSs têm a mesma coisa (embora muitas vezes não sejam chamados de "culpa").
Richard
Gostaria -1 isso porque é específico GIT. O OP nunca mencionou o GIT. Mas, infelizmente, não tenho representante suficiente para votar.
Thomas Eding
2

Se você estiver trabalhando em um projeto grande com muitos colaboradores, a anotação de cada arquivo com a lista de autores simplesmente não funcionará. O que você faz com a lista de autores quando divide um arquivo em vários arquivos menores? Você mantém o nome do autor original se reescrever completamente o código? Você adiciona seu nome à lista de autores quando corrige um erro de digitação no comentário?

É melhor deixar essas perguntas para o sistema de controle de versão.

Mas não sou totalmente contra a lista de autores. Manter uma lista de autores para todo o projeto faz todo o sentido. Se for um projeto de arquivo único, com certeza, mantenha-o dentro desse mesmo arquivo. Se o projeto for maior, mantenha-o no README ou no arquivo de origem de nível superior (também conhecido como main.c). Mas não se repita listando autores em cada arquivo.

Rene Saarsoo
fonte
1

Mantemos o controle usando o sistema de controle de versão ou inserindo @authoro código. Outra maneira de fazer isso é dizer de maneira mais geral que certas pessoas eram autores de módulos inteiros ou de todo o programa. Isso incentiva as pessoas a pensarem em si mesmas como parte de uma equipe, e não como uma engrenagem na máquina responsável por exatamente X número de funções ou linhas de código.

Rudolf Olah
fonte
0

Eu uso comentários no estilo Doxygen (ou às vezes KernelDoc) para praticamente tudo. Eu trabalho principalmente em C e PHP, onde o Doxygen é bastante popular.

Na maioria dos casos, é útil incluir pelo menos as seguintes informações:

  • Permissão (ou não) para copiá-lo / Copyright da empresa ou indivíduo
  • Nome do autor / e-mail
  • Data escrita
  • Data da última modificação

Isso deve ajudar qualquer pessoa que esteja trabalhando no arquivo a saber o que tem, o que pode fazer com ele e quem pode pedir ajuda, se precisar. Também informa se eles estão olhando para algo com 10 anos de idade.

Tim Post
fonte
0

Pessoalmente, não faço isso porque há documentação extra que, como outros disseram, está no controle de versão. Mas se eu fosse criar algum tipo de trecho de código de kung-fu, provavelmente estaria apto a usar o que meu IDE fosse capaz de gerar automaticamente.

Por exemplo, usando no Delphi 7 com os CNTools úteis instalados, digite

///a [enter]

e sai

//<author></author>

então eu digito

///d [enter]

e sai

 //<date></date>

Eu imagino que isso corresponde a algo que algum utilitário de terceiros pode pegar, mas quanto a mim - eu tenho um padrão que eu nem precisava me maquiar e me corromper.

Peter Turner
fonte