Embora gramaticalmente incorreto, ao escrever identificadores para funções, variáveis etc., faz sentido simplesmente acrescentar um "s" ao plural de palavras que terminam em Y? Minha razão para isso seria que, se você precisar encontrar e substituir, por exemplo, substituir "empresa" por "fornecedor", "empresa" corresponderá às formas singular e plural (" empresa e" empresa s "), enquanto se o plural foi escrito corretamente, você teria que fazer duas pesquisas separadas.
9
Respostas:
Qualquer pesquisa e substituição deve ser realizada com cuidado e cada alteração é verificada manualmente para, por exemplo, evitar "acompanhar" em um comentário, tornando-se "fornecedor" com a alteração da sua empresa / fornecedor. Como tal, duas pesquisas separadas para "empresa" e "empresas" não devem criar uma sobrecarga significativa em comparação com o tempo gasto na inspeção e aprovação de cada alteração.
Portanto, palavras com erros de ortografia para alcançar apenas uma pesquisa oferecem os negativos de parecer mal e ser mais difícil de ler do que precisa, sem oferecer nenhum benefício óbvio.
fonte
Suponho que você esteja falando sobre renomear em arquivos de código-fonte. Com os IDEs atuais, isso sempre deve ser feito com as ferramentas de refatoração do IDE. Se o seu IDE não tiver isso, considere mudar para outro IDE. A maioria das ferramentas de refatoração IDE também mantém um histórico de refatoração, oferecendo a capacidade de "desfazer" rapidamente se você não gostar dos resultados do refatorador. Usando a pesquisa / substituição, você pode não ter a capacidade de desfazer todo o conjunto de alterações (a menos que você use as ferramentas de controle de revisão e reverta para a versão confirmada anteriormente). Além disso, usando as ferramentas de refatoração, você está mais seguro de alterar inadvertidamente algo que não pretendia alterar.
fonte
Sim! Sim! Sim! Faz todo o sentido fazer isso. E eu venho fazendo isso há anos.
Divulgação 1: Inglês não é minha língua nativa.
Divulgação 2: Meu conhecimento da gramática inglesa é consideravelmente melhor que o do falante nativo médio.
Divulgação 3: Quando se trata de se comunicar com humanos, sou uma gramática veemente nazista.
E agora que essas divulgações estão fora do caminho, deixe-me afirmar que a gramática inglesa não tem lugar no código. Veja bem, é por isso que se chama código e não prosa . Supõe-se que tenha alguma semelhança com uma linguagem entendida pelos humanos, com o objetivo de facilitar a leitura, mas fora isso, o que mais precisamos do código não são as qualidades da prosa; são outras qualidades mais técnicas, como precisão , inequívoca e concisão . É por isso que a sintaxe C de
if( x != y ) y++;
é muito preferível àIF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
sintaxe de Cobol. A alegada conveniência de compiladores que entendem a linguagem natural é uma falácia, e não aceite minha palavra, veja o que ol'Edsger tem a dizer sobre isso:Edsger W. Dijkstra, Sobre a tolice da "programação de linguagem natural" .Outra qualidade que é importante é a computabilidade dos identificadores . O fato de uma propriedade chamada
Color
sempre poder ser lida por meio de um método chamadogetColor()
e gravado por meio de um método chamadosetColor()
é de suma importância. Esses identificadores são calculáveis a partir do nome da propriedade, portanto você não precisa conhecê-los de cor. Se um programador escolhesse um par de métodos chamadosgetColor()
por um lado, mascolorize()
por outro lado, seus colegas considerariam com razão essa sabotagem. É assim que a computabilidade do identificador é importante.Além disso, as ferramentas de programação podem ser escritas (e muitas delas foram de fato escritas, por exemplo, Hibernate ), que podem computar esses nomes. Sem a computabilidade do nome do identificador, você teria que usar sintaxe adicional (por exemplo, no Hibernate, anotações extras) para especificar para cada ferramenta precisamente como criar cada nome de identificador único ou exatamente qual nome ad hoc você deu a cada entidade.
Portanto, a computabilidade do identificador é importante, ao mesmo tempo em que a gramática inglesa é irrelevante (já que não estamos fazendo programação em linguagem natural), para poder calcular o nome de uma coleção de entidades sempre acrescentando "s" ao nome de uma única instância faz todo sentido, não importa o fato de que ela viola as sensibilidades do idioma inglês da maioria das pessoas (incluindo a minha).
E gostemos ou não, esta é a tendência do futuro. O idioma nativo da maioria dos programadores do planeta não é mais o inglês, e a tendência é continuar muito forte nessa direção. (Além disso, eu nem estaria disposto a apostar dinheiro com a sugestão de que o inglês seja o idioma nativo da maioria dos programadores que trabalham nos EUA no momento.) Essas são pessoas que, em grande parte, ao tentar calcular o nome de uma coleção a partir do nome de uma única instância de "empresa", simplesmente acrescentará um "s", e o formato "empresas" nem passará pela sua cabeça. Para uma grande e crescente porcentagem de programadores no mundo, o conhecimento das peculiaridades do idioma inglês não agrega nenhum valor ao seu trabalho, apenas o torna um pouco mais difícil.
fonte
Companys
quando deveria serCompanies
. Afinal, todo o ponto do código que costumamos escrever é para torná-lo mais próximo da linguagem natural.