Ótima contribuição, Raphael. Mas nesse seu caso eu teria uma classe Name que cuidaria de ter a primeira letra maiúscula. Isso vai de encontro com o estudo de "Obsessão por tipos primitivos". Talvez eu escreva um artigo ou faça um vídeo sobre isso no futuro.
Acabei de ver que sua classe já é a representação de um nome. No seu caso, concordo com sua implementação. Só deixaria esse método estático privado, talvez. Mas realmente, acredito que você tenha colocado o método no melhor lugar possível sim. :-D Ótimo exemplo!
Obrigado pelo feedback, Vinicius. Eu já troquei uma ideia com você via e-mail sobre o uso de DTO's no qual eu tinha dúvidas sobre o propósito desse padrão.
Sobre o código estático, eu acabei vendo que não é problemático o uso de métodos estáticos em casos assim, o propósito é aqui foi dar contexto e legebilidade, pois o método em questão torna mais nítido (ou óbvio) o objetivo da função nativa ucfirst nesse contexto de nomes.
Pensei agora que o nome do método poderia até ser mais descritivo ainda (upperCaseFirstCharFromName, por exemplo) para reforçar isso. Essa abordagem fez sentido para mim em value objects como esse, achei válido compartilhar.
Valeu!
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Ótima contribuição, Raphael. Mas nesse seu caso eu teria uma classe Name que cuidaria de ter a primeira letra maiúscula. Isso vai de encontro com o estudo de "Obsessão por tipos primitivos". Talvez eu escreva um artigo ou faça um vídeo sobre isso no futuro.
Acabei de ver que sua classe já é a representação de um nome. No seu caso, concordo com sua implementação. Só deixaria esse método estático privado, talvez. Mas realmente, acredito que você tenha colocado o método no melhor lugar possível sim. :-D Ótimo exemplo!
Obrigado pelo feedback, Vinicius. Eu já troquei uma ideia com você via e-mail sobre o uso de DTO's no qual eu tinha dúvidas sobre o propósito desse padrão.
Sobre o código estático, eu acabei vendo que não é problemático o uso de métodos estáticos em casos assim, o propósito é aqui foi dar contexto e legebilidade, pois o método em questão torna mais nítido (ou óbvio) o objetivo da função nativa
ucfirst
nesse contexto de nomes.Pensei agora que o nome do método poderia até ser mais descritivo ainda (
upperCaseFirstCharFromName
, por exemplo) para reforçar isso. Essa abordagem fez sentido para mim em value objects como esse, achei válido compartilhar.Valeu!