Há situações em que um nome passado no parâmetro será convertido em um novo tipo, mas o nome do objeto passado deve permanecer semelhante. Para o caso de atributos de classe, podemos usar esse operador, mas e a variável local em funções. Qual convenção de codificação é amplamente usada.
exemplo,
void MyFunc(BaseClass myPara)
{
DerivedClass _mypara = (BaseClass)myPara;
}
ou pelo contrário
void MyFunc(BaseClass _myPara)
{
DerivedClass mypara = (BaseClass)_myPara;
}
ou qualquer outra convenção
Respostas:
A prefixação de parâmetros ou variáveis locais com um sublinhado não é muito idiomática no C #, não é muito fácil de ler e nem costuma ser usada (embora seja legal, você pode fazê-lo, se desejar).
O melhor nome para o parâmetro e a variável é um nome descritivo. Você precisa pensar por que está mudando o tipo, qual é a razão do elenco. Então você poderá criar dois nomes diferentes. Por exemplo, se você passou por uma "pessoa" e a converteu em um "cliente", então você poderia usar pessoa e / ou cliente nos nomes das variáveis, talvez.
Se você realmente não consegue pensar em dois nomes diferentes, então eu usaria "as" no nome ( houve uma pergunta neste site há alguns dias sobre isso ). Por exemplo, você usaria "myParaAsDerived" para a variável local.
Se possível, eu não usaria isso, pensaria muito sobre o problema que está resolvendo e que nomes significativos poderiam ser usados, mas se tudo mais falhar, isso é bastante legível.
fonte
Primeiramente usando
Está claramente errado! Como muitos padrões de codificação c # usam um prefixo "_" em todos os nomes de campo ! Seu código precisa ser fácil de entender por outro programador, portanto, o código não deve ser escrito de maneira a enganar muitos programadores de C #.
Dados todos os benefícios de métodos pequenos, pessoalmente não vejo necessidade de uma convenção de nomenclatura para separar variáveis locais de parâmetros. Se seus métodos têm tantos parâmetros e variáveis locais que você não pode dizer o que está acontecendo sem uma convenção de nomenclatura, você tem problemas maiores. (Isso está bem coberto no Clean Code Book , um livro em Java, mas ainda o achei muito útil como programador de C #)
fonte
Se você quiser prefixá-los com alguma coisa, use o
p_
parâmetro: em geral, acho que você provavelmente irritaria muitas pessoas se fizesse isso. MAS seja consistente, não faça isso em um só lugar, apenas porque você precisa de dois nomes diferentes para variáveis que deseja dar o mesmo nome.Uma boa regra geral com nomes de variáveis é semelhante;
Se você tiver apenas um tipo de objeto, nomeie-o por sua função:
Se você tiver mais de um nome, de acordo com sua função e especialidade:
fonte
m_Whatever = p_Whatever;
- dar aos dois identificadores nomes significativamente diferentes seria estranho. Mas comecei a questionar se esses casos são comuns o suficiente para justificar a convenção consistente.As convenções de nomenclatura em C # terão:
E, por favor, fique longe da notação húngara. É inútil e não adere às convenções de C #.
fonte
A sublinhada na nomeação de variáveis pode ser meio desnecessária, pois temos a palavra-chave "this" para referenciar especificamente as variáveis no nível da classe. Se você quiser saber mais sobre as convenções de nomenclatura variável dos especialistas, sugiro que você dê uma olhada no infame artigo chamado "Regras de Ottinger para nomeação de variáveis e classes", de Tim Ottinger, um artigo apoiado pelo mentor de codificação limpa Robert C. Martin .
Ottinger afirma que seu código deve permanecer o mais humanamente legível possível, como uma prosa bem escrita, então ...
public void Function(string p_Parameter1, string p_Parameter2)
... seria mais legível como ...
public void Function(string parameter1, string parameter2)
... onde parâmetro1 e 2 são nomes descritivos para as variáveis correspondentes.
Aqui está o link, definitivamente vale a pena dar uma olhada: Link
fonte
Acredito no sufixo de parâmetro: string s_, int i_, etc
Também acredito que os nomes dos parm devem ser curtos e genéricos quanto possível.
Agora, pelas razões:
Tudo tem vantagens e desvantagens, se você usa algo ou não, dependerá muito de como ele se encaixa no seu estilo atual.
fonte
s
ei
são nomes curtos, porque este é apenas um exemplo. Não acho que seja húngaro - acho que você está interpretando mal um nome abreviado, que é apenas o clássicostring s
ouint i
não consigo pensar em um nome melhor, mas com sublinhados colados no .