Como você demonstrou um super interesse em nomenclatura de variáveis/funções e já está num outro nível de polimento das próprias habilidades, acho interessante levantar como um ponto de melhoria o padrão no uso de verbos na nomenclatura, que funciona mais ou menos assim: O método "faz algo" e a variável onde você armazena esse resultado "sofre a ação", então, pegando como exemplo esse cenário do formattedAndMergeValues
:
Aqui você declara a função como formattedAndMergeValues
https://github.com/DeeSouza/jsexpert-challenge02-lifecycle/blob/87353086265006357377e37fdea9e772b91a5549/src/service/ObjectMethodsService.js#L48
E logo em seguida você chama ela, atribuindo ela ao stringifyObject
https://github.com/DeeSouza/jsexpert-challenge02-lifecycle/blob/87353086265006357377e37fdea9e772b91a5549/src/service/ObjectMethodsService.js#L31
- Implementação aplicando o padrão de nomenclatura atualizado:
Pensando na ação que a função faz, somente formatAndMergeValues
(ou mesmo stringifyObject
) seria um bom nome pra declarar a função
function formatAndMergeValues() { ... }
E aí na hora de chamar a função, pensando que o objeto sofre a ação, esse sim seria o stringifiedObject
(ou formattedObject
)
E, inclusive, copyRawObject
seria um nome de função, e o nome da variável ficaria algo tipo copiedRawObject
ou rawObjectCopy
const stringifiedObject = this.formatAndMergeValues(rawObjectCopy);
Percebe como a leitura fica mais voltada ao que de fato a linha representa, e isso impacta na legibilidade, ficando algo como const objetoModificado = modificaObjeto(objetoCópia)
? São detalhes bem simples mas que impactam bastante. :D