Quando estou procurando criar alguns campos de carimbo de data / hora (ou outros campos de estilo de data / hora), qual é a melhor maneira de nomeá-los? Devo apenas colocar record_timestamp?
naming-convention
garik
fonte
fonte
Como cerca
xyz_at
de umtimestamp
exyz_on
para umdate
campo - por exemplo,start_at
oustart_on
?Normalmente, eu evitaria incluir o tipo de dados no nome do campo - muito melhor se você puder inferir o que precisa saber sobre o tipo no nome de qualquer campo (
description
é improvável que um campo chamado seja uminteger
) - mas ser capaz de informar a diferença entre atimestamp
e adate
geralmente é útil.fonte
Eu uso:
fonte
updated_at
Poderia ser. Mas acho que a resposta é, como sempre na nomeação, usar o nome mais conciso que remove toda ambiguidade realista. Ou seja, se em um contexto particular há potencial para uma certa confusão, eliminá-lo, mas não use nomes que são mais detalhado do que é necessário para queEu olhei para o seu perfil e ele diz que você trabalha com o SQL Server e no SQL Server o tipo de dados TIMESTAMP não tem nada a ver com data ou hora e é usado para o tipo de versão que carimba as linhas. Isso é muito útil para identificar quais linhas foram modificadas a partir de um determinado momento.
Se você usar o TIMESTAMP, não precisará especificar um nome de coluna e o SQL Server criará uma coluna "TimeStamp" para você. Mas é recomendável usar o tipo de dados "ROWVERSION" e, nesse caso, você deve especificar o nome da coluna.
Qual é o melhor nome para uma coluna como essa? Depende, e eu usaria algo como VersionStamp, RV etc ... O que eu considero importante NÃO é como você o nomeia, mas você está usando isso de forma consistente em todos os aspectos.
HTH
Ref: http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
http://msdn.microsoft.com/en-us/library/ms182776.aspx
fonte
Descobri que o uso de nomes de colunas como
create_time
,update_time
eexpire_time
leva a uma melhor legibilidade quando se trata de nomeação e especificações de métodos (RSpec).fonte
Prefiro usar um prefixo de DT para carimbos de data. Por exemplo: DTOpened, DTClosed, DTLastAccessed. Isso permite listar todos os DTxxxx para uma referência rápida de todos os carimbos de data em uma determinada tabela.
fonte
Eu trabalho na Texas Instruments, e em seus sistemas eles usam xxxx_ dttm
fonte
Eu prefiro usar convenções que já existem.
As linguagens de programação e Unix têm uma convenção amplamente aceita
mtime
para o horário de modificaçãoPara a hora da criação,
btime
crtime
otime
(não pergunte, adivinhando "origem").Então, para mim, eu escolho
mtime
ecrtime
para metadados.Para dados fornecidos pelo usuário, eu vou com o que o campo representa. Se é um aniversário, eu apenas digo
user_birthday
.No que diz respeito à precisão, para alguns, parece pendurá-los com muita precisão. Você pode armazenar o seu
birthdate
como um carimbo de data / hora (afinal, você nasceu tecnicamente a uma hora do dia), mas as especificações SQL transmitem de maior precisão para menor precisão; portanto, se você estiver usando um banco de dados decente, isso não deve ser um problema. . No próprio aplicativo, você sempre pode truncar quando necessário. Ou seja, eu nunca iriabirthday_date
.fonte
Eu usaria um prefixo significativo e _TSMP como sufixo, por exemplo, CREATION_TSMP ou LAST_UPDATE_TSMP
fonte
Para manter a consistência entre os nomes das colunas, sugiro a seguinte sintaxe:
fonte
Conforme sugerido por @Evan Carroll, siga os padrões existentes, a menos que você tenha motivos fortes para quebrar esse padrão.
Se isso é algo novo, você pode seguir qualquer resposta que melhor lhe convier.
Eu uso * _on e * _by porque isso me ajuda a mantê-lo consistente para quando e quem da linha:
fonte