Como criar nomes significativos para o seu código

Aqui está a tradução do artigo do blog Better Programming no site Medium. Nele, o programador Daan compartilha regras simples, seguindo as quais você pode atribuir bons nomes a funções e variáveis.



Como desenvolvedor, você provavelmente gasta muito tempo criando variáveis ​​e criando seus nomes. Os nomes estão em toda parte: são necessários para arquivos, classes, métodos e essas mesmas variáveis.

Como passamos muito tempo atribuindo nomes, é muito importante fazer isso de uma maneira de qualidade. Neste artigo, falarei sobre algumas regras simples, após as quais você pode criar bons nomes. Afinal, isso é uma arte inteira!

Use nomes que revelem suas intenções


O nome deve indicar a finalidade do código. Mais fácil falar do que fazer, certo? Com que frequência você encontra variáveis ​​com nomes que não dizem nada sobre a intenção do programador?

A regra é a seguinte: se um nome requer comentário, não transmite intenção.

Há uma variável nesse trecho de código cujo nome não é claro:

<?php private $s; // Time in seconds 

A variável $s não nos diz nada e não está associada a um período de tempo. É melhor escolher um nome que indique o que e em que unidades é medida.

Um dos nomes abaixo seria mais apropriado.

 <?php private $days_since_creation; private $elapsed_time_in_seconds; private $seconds_since_last_modified; 

Os nomes de intenção tornam o código mais fácil de entender e, portanto, mais fácil de manter.

Você gastará tempo escolhendo o nome certo, mas salve-o no futuro.

Considere este exemplo:
 <?php function getList() { $list1 = []; foreach ($this->the_list as $x) { if ($x % 2 != 0) { $list1[] = $x; } } return $list1; } function getOddNumbers() { $odd_numbers = []; foreach ($this->numbers as $number) { if (isOdd($number)) { $odd_numbers[] = $number; } } return $odd_numbers; } 

Por que é difícil entender o que a função getList ? Sem expressões complexas, o código está alinhado e formatado corretamente, apenas três variáveis ​​e nada mais.

Agora observe a função getOddNumbers . Você viu que ela faz a mesma coisa que getList ?

Observe que o código não se tornou mais complicado ou mais simples. Mantivemos o número de operadores, variáveis ​​e níveis de aninhamento, mas agora é mais claro e transparente.

Uma pequena mudança no nome - e já é muito mais fácil entender o que está acontecendo.

Evite desinformação


Tente evitar associações falsas que distorcem o objetivo do código.

Não use palavras que possam ser entendidas de maneira diferente da pretendida. Por exemplo, não productList grupo de produtos productList , a menos que seja realmente um objeto do tipo List . Esse nome pode levar a conclusões falsas. É melhor usar apenas products .

Talvez os piores nomes para variáveis ​​comecem com uma letra maiúscula O e uma letra minúscula L , pois esses caracteres são muito semelhantes a 0 e 1.

Também tenha cuidado com nomes que são apenas ligeiramente diferentes um do outro. Quanto tempo passará até você notar uma pequena diferença entre SomeMethodForEfficientHandlingOfFiles em um arquivo e SomeMethodForEfficientStorageOfFiles em outro? Concordo, à primeira vista eles são idênticos.

Destacar diferenças significativas


Usar numeração não é a melhor maneira de nomear. Esses nomes não são informativos, pois não revelam as intenções do autor.

Vejamos o seguinte exemplo:

 <?php public function duplicateArray($arr1, &$arr2) { foreach ($arr1 as $key => $value) { $arr2[$key] = $value; } } 

Esse trecho de código será melhor se renomearmos $arr1 e $arr2 para $source e $destination .

Use nomes que você possa pronunciar


Se você não pode pronunciar o nome da função, é improvável que você possa falar sobre isso e não pareça idiota. Isso é realmente importante porque discutir o código faz parte da programação. No entanto, cada um de nós deve ter encontrado variáveis ​​com nomes impronunciáveis.

Suponha que você tenha uma variável chamada $xsq e frequentemente a discuta com a empresa. E aqui você está conversando com um colega:
- Bem, o que há com ex es quew?
- com o que? Com fila de acesso?

Alguns dos desenvolvedores pronunciarão o nome da variável como uma palavra e outros como uma abreviação.

Use nomes pesquisáveis


O problema com nomes de uma letra é que eles são difíceis de encontrar no código.

A mesma coisa com constantes numéricas. É melhor substituí-los por variáveis. Por exemplo, o número usual 8 pode causar muitos problemas se você precisar encontrar algo no código. No entanto, será muito mais fácil se você substituir o número por algo como MAX_BLOCKS_DISPLAYED .

A única situação em que vale a pena usar nomes de uma única letra é inventar nomes para variáveis ​​locais dentro de métodos curtos.

Prefixos de Membro da Classe


Não use m_ prefixos.

Alguns desenvolvedores costumam usar um prefixo de sublinhado na frente dos membros da classe. Não faça isso. Suas classes e métodos devem ser compactos o suficiente para que você não precise de nenhum desses prefixos.

Como alternativa, você pode usar o IDE (ou instalar o plug-in), que destaca as variáveis ​​dependendo do seu escopo.

Pense no seu código como um local para piquenique na floresta - deixe-o mais limpo do que era antes de chegar.

Conclusão


É assim que nomes mais compreensíveis para o código são criados.

Comente, deixe suas perguntas e escreva se quiser que eu cubra outros tópicos relacionados à programação.

Este artigo foi inspirado no livro de Robert Martin, Clean Code, que eu recomendo a leitura.

Source: https://habr.com/ru/post/pt459793/


All Articles