Costumo ver projetos (em projetos Java e equipes usando Eclipse) que prefixam parâmetros de função p
.
Por exemplo
public void filter (Result pResult) ...
Pessoalmente, não vejo nenhum benefício nisso, mas gostaria de saber qual é o raciocínio. A melhor explicação que ouvi até agora é que é para distinguir o nome de campos nomeados idênticos. Tenho meus problemas com essa explicação, mas posso entender o ponto.
java
coding-style
naming
eclipse
auto-completion
oschrenk
fonte
fonte
struct
/union
com um elemento.Como você suspeita, é para evitar colisões de nomes entre o nome do parâmetro e os nomes de variáveis locais ou de membros. Às vezes, as variáveis membros recebem um prefixo pelo mesmo motivo (por exemplo,
m_result
). Pessoalmente, prefiro usar othis
prefixo para variáveis de membro se houver uma colisão de nome. Está embutido no idioma e todo mundo já sabe o que significa.fonte
Eu só uso um prefixo de parâmetro quando o parâmetro se destina a ser atribuído a uma variável de membro, como um construtor ou um setter.
Para mim, acho que usar um nome de variável diferente é mais óbvio do que usar o prefixo "this".
Para outras situações, evito usar um parâmetro que possa ser facilmente confundido com uma variável de membro.
Se um método ou classe é tão grande que é difícil dizer o que as variáveis significam, a solução real é dividi-lo em métodos / classes menores. O uso de prefixos é uma solução de band-aid que resolve o problema subjacente.
fonte
Paint (clr) { color = clr; }
). ... Geralmente não há muita ambiguidade, emboracolor -> clr
em particular possa ser uma exceção.Se você definir um padrão para usar 'p' como prefixo com o nome de cada parâmetro do método, poderá reconhecer facilmente os parâmetros do método no restante do corpo do método.
Isso economiza seu tempo para encontrar os parâmetros do método. Você pode depurar seu código facilmente.
fonte
Curto - Essa prática dificulta a leitura do código.
Longo - argumentarei que é uma prática ruim usada apenas para apoiar outras práticas ruins. Vamos examinar algumas razões pelas quais o uso desses prefixos pode ser considerado útil:
Evitando colisões em nomes de variáveis
public void setHeight(int newHeight) { this.height = newHeight; }
Os métodos usam muitos parâmetros, declaram muitas variáveis e podemos facilmente esquecer qual deles é um parâmetro.
Exceto em alguns casos específicos, a adição de prefixos de parâmetros ajuda apenas com sintomas e não resolve problemas reais.
fonte
Sou fã do iParam para dentro e oParam para fora dos parâmetros. Eu diria cParam para a mudança, mas isso não é aceitável
fonte