Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
March 30, 2022 01:58 am GMT

Resumos: Cdigo Limpo - Captulo 2

Nomes significativos

Nesse segundo captulo o autor trata da importncia dos nomes em um cdigo, desde o nome do projeto at os nomes das variveis, exemplificando nomes adequados e destacando consequncias de nomes ruins, resgatando o conceito de autor de cdigo levantado no captulo anterior, o cdigo precisa ser legvel.

Use Nomes que revelem o seu proposito

Escolher bons nomes leva tempo e o primeiro nome pode no ser o mais adequado, ento importante escolher um nome adequado e que no deixe dvidas sobre o funcionamento do cdigo, isso vai facilitar que os outros e o prprio autor entendam o cdigo.

O nome de uma funo ou classe deve responder as seguintes questes:

  • Porque existe?
  • Oque faz?
  • Como usado?

Evite informaes erradas

Uma informao errada ainda pior do que informao nenhuma, porque pode confundir o leitor do cdigo. Um grupo de contas nunca deve ser nomeado como accountList se no for de fato uma lista por exemplo.
Devem ser evitados nomes muito parecidos, quando isso se torna necessrio, convm utilizar do recurso de auto completar das IDE's e criar uma lgica que distingue facilmente os nomes.
Tambm devem ser evitados caracteres que so semelhantes muito prximos como o I, l e 1, ou o, O e 0.

Faa distines significativas

Muitas vezes necessrio utilizar nomes similares, ao invs de simplesmente criar userAccount1, userAccount2 e userAccount3, prefervel utilizar userAccount, userAccounts e userAccountInfo, mas mesmo assim, separadamente os nomes no significam muita coisa, o autor quem deve cuidar para que os nomes escolhidos sigam uma lgica no cdigo e faam sentido.

Use nomes pronunciveis

O autor deve tirar proveito da lngua falada ao atribuir nomes e isso tornar o cdigo mais legvel, muito simples decidir se um nome de varivel pronuncivel ou no, basta responder a seguinte pergunta: possvel discutir sobre o funcionamento desse trecho de cdigo sem parecer um bando de malucos?

  • "Pedro, precisamos alterar a varivel dhur da funo gendh agora que a empresa abril uma filial na Frana"
  • dhur: data e hora da ultima reviso, uma sugesto melhor seria dataHoraUltimaReviso
  • gendh: gera data e hora, uma sugesto melhor seria geraDataHora

Prefixo de varivel membro

Utilizar this/self das linguagens de programao torna a leitura mais simples do que se utilizadas variveis privadas.

Evite mapeamento mental

O leitor no deve precisar traduzir mentalmente os nomes por outros que eles conhecem, devem ser evitados cdigos ou variveis de uma letra s, a exceo de iteradores i, j ou k, que j uma tradio. Qualquer um que ler o cdigo deve ser capaz de entende-lo sem um glossrio.

Nomes de classes, mtodos e funes

  • Nomes de classes devem ser substantivos, afinal representam algo (exemplo: Account);
  • Nomes de mtodos e funes devem ser verbos, afinal executam uma ao.
    • Utilizar prefixos get, set e is (exemplos: account.getName, account.setName, account.isCustomer) .
    • Quando construtores estiverem sobrecarregados prefervel utilizar factory methods com nomes descritivos e privar os construtores (account.fromNumber(2), account.fromName("Joo") seriam factoryes para construtores de account).

Selecione uma palavra por conceito

Vrias palavras podem significar a mesma coisa, no h problema escolher qualquer uma que faa sentido ao cdigo, mas importante manter um padro usando a mesma palavra para um propsito no cdigo todo.

Adicione um contexto significativo

Nome, Rua, nmero, cidade e estado podem significar alguma coisa quando esto juntas, mas no so to significativas separadas, ento pode-se usar um prefixo nos nomes endereoNome, endereoRua... ou criar uma classe abstrata endereo que contenha esses atributos: endereo.Nome, endereo.Rua...

No adicione contextos desnecessrios

No inicie todas as variveis de um escopo com a mesma combinao de letras, isso vai atrapalhar o uso do auto-complete da IDE trazendo uma lista quilomtrica e vai confundir o leitor.

No tenha medo de estar atrapalhando os outros desenvolvedores ao renomear variveis, ningum decora esses nomes e todos ficaro agradecidos por uma melhora na legibilidade do cdigo.


Original Link: https://dev.to/abraaom/resumos-codigo-limpo-capitulo-2-5glp

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To