Pergunta sobre variables, oop, methods, java, android – Declare as variáveis ​​locais o mais tarde possível ou com a chave mais próxima a que pertencem? [fechadas]

5

Estou trabalhando para definir alguns padrões de práticas de programação para minha organização. Fazendo isso, me deparei com a questão "Título desta pergunta"

Alguns acham que é melhor declarar as variáveis ​​o mais tarde possível e algumas acham que é bom tê-las no início da chave de início do método.

O Oracle Standard também diz para declará-los o mais cedo possível. Então, eu sou a favor de declará-los na chave mais próxima a que pertencem.

Preocupações são

Código de legibilidade

atuação

Menos propenso a erros

Quaisquer comentários são bem-vindos.

Qual é o problema de apenas seguir o padrão Oracle? Se você quiser aproximá-los de um código específico, basta cercar isso com {} se quiser definir um escopo local. user387184

Sua resposta

4   a resposta
1

acho que declarar a variável no início de um bloco como a melhor opção.
Ao passar pelo código, você sempre sabe onde procurar a declaração, em vez de procurar entre as linhas de código. Também é melhor quando se olha para um método para ver primeiro as variáveis ​​declaradas e depois o código. Eu penso nisso como uma receita em um livro de receitas que você lista os ingredientes necessários separados da instrução da receita.

Quanto ao desempenho, não vejo como isso faria qualquer diferença. Enquanto declarar tarde pode economizar um pouco de memória, apenas criando a variável quando necessário no final de um bloco, você usará a mesma quantidade de memória que teria se declarasse no início de um bloco.

Erro propenso eu diria que é as mesmas razões que a legibilidade.

Declare no menor escopo necessário e declare no início do bloco.

10

Code Complete 2:

Idealmente, declare e defina cada variável perto de onde ela é usada. Uma declaração estabelece o tipo de variável. Uma definição atribui à variável um valor específico. Em linguagens que o suportam, como C ++ e Java, as variáveis ​​devem ser declaradas e definidas perto de onde são usadas pela primeira vez.

Ele também recomenda manter as variáveis ​​ativas pelo menor tempo possível e minimizar o escopo.

O importante para mim é seguir as convenções de nomenclatura (as convenções do código Java da Sun são amplamente usadas). Quanto a onde eles são declarados primeiro, eu atrasaria a declaração tanto quanto possível por razões de desempenho (declarar que um var que você não usaria é um desperdício). A menos que você saiba de antemão que vai ser usado com certeza, nesse caso você pode agrupá-lo com outros vars para melhorar a legibilidade. Eu acho que é issoo que a JCC diz sobre isso.

1

Code Readability' é o único ponto importante aqui. E o código é definitivamente mais legível se as variáveis ​​forem declaradas mais próximas de onde são usadas.

Mas, às vezes, a fim de evitar 'erros' para novos programadores em transição entre idiomas, um estilo particular de método de codificação pode ser adotado. Por exemplo, o JavaScript tem escopo funcional versus Java, que tem escopo de bloco. Um programador Java pode se deparar com problemas em JavaScript se não tiver conhecimento do escopo funcional do JavaScript. Portanto, no caso de JavaScript, para evitar possíveis erros, é recomendado apenas declarar tudo no início de uma função / método.

Como eu mencionei acima, 'Performace' não deveria ser uma preocupação. Mas, se você optar por declarar variáveis ​​mais perto de onde elas são usadas, isso pode ajudar a reduzir os custos de declaração e inicialização das variáveis.

0

Legibilidade do código:

Boa prática para declarar as variáveis ​​no método começando porque é fácil para manutenção e menos confusão.

Atuação:

Caso 1:

Se declararmos variáveis ​​no método de início e método com centenas de declarações, precisaremos de 10 variáveis ​​antes de 50 declarações ocupando desnecessariamente a memória para essas variáveis.

Se precisarmos de 20 variáveis ​​no método e declaramos no começo, se obtivermos alguma exceção em uma instrução muito inicial ocupando desnecessariamente a memória.

caso 2:

Se declararmos variáveis ​​onde precisamos, isso gera um pouco mais de desempenho.

Eu diria que se você precisar de uma quantidade tão grande de variáveis ​​em uma função, ela não será facilmente legível de qualquer forma, independentemente de onde elas sejam declaradas. paulm

Perguntas relacionadas