CheckStyle

Olá,
estou usando o checkstyle no eclipse, e ele apontou alguns warnings o qual não consigo resolver, alguem poderia me ajuar?

1º - Método tem mais de 150 linhas.
Até quantas linhas posso colocar como max sem prejudicar perfomance, pesquisei isso na internet, e não encontrei nada. sobre esse padrão.

2º - Mais de 20 parâmetros no método.
Até quantos parâmetros posso deixar declarar dentro um método sem causar perda de perfomance ou sair do padrão de programação.

3º - Nome deve condizer com o padrão ‘^[a-z][a-zA-Z0-9]*$’.

4º - Variável 'nome da variável ’ deve ser privada e ter métodos acessores.
OBS: tenho variáveis declarada dentro da classe na qual estão como protected, são classes abstratas. e não posso altera-las para private e criar métodos pra acessá-las isso causaria um coas no projeto.

Sei que posso alterar algumas configurações no arquivo xml do checkstyle, porém não sei como configurar os dois ultimos itens(3 e 4), para ser utilizado por um grupo restrito de classes ou qualquer outra forma de configurar que não deixe genérico.

Ola milinha,

Seguinte,

1º. - Vc deve colocar 120 caracteres no max e pular linha quando isso ultrapassar.

2º. - Bem, qdo vc tem que passar mais de 20 paramentros, vc ja deveria ter pensando em usar um Bean para poder passar seus dados. Facilitaria mto a sua vida.

3º. Nao sei te dizer

4º. - Declare corretamento seus metodos e classes.

Abs

Além de checar o seu estilo de programação, o Checkstyle também possui diversas boas práticas que ajudam na aprimoração do seu próprio código, ao invés de somente aprimorar a forma deste. Alguns dos casos que você citou decorre da violação de boas práticas.

[quote=milinha]
1º - Método tem mais de 150 linhas.
Até quantas linhas posso colocar como max sem prejudicar perfomance, pesquisei isso na internet, e não encontrei nada. sobre esse padrão. [/quote]

É extremamente danoso possuir um método muito longo, pois ele se torna muito complexo e, por vezes, o código presente pode sequer realmente pertencer ao objeto onde se encontra o método. Eu sigo uma velha regra que li no livro do Deitel, certa vez: “Um método não deve ser maior que a tela de seu computador”. Ou seja, se você precisar rolar a barra de rolagem de sua IDE para poder ver uma parte significativa de seu método, seria interessante refatorar o código. De forma mais prática, procure não ter um método com tamanho superior a 50 linhas, incluindo assinatura do método, código, linhas em branco e comentários. 150 já é um tamanho considerável, eu possuo 50 definido em minha configuração.

[quote=milinha]
2º - Mais de 20 parâmetros no método.
Até quantos parâmetros posso deixar declarar dentro um método sem causar perda de perfomance ou sair do padrão de programação.[/quote]

O problema de uma grande quantidade de parâmetros é que se torna difícil utilizar o método. O ideal seria diminuir a quantidade, talvez até criar um objeto que encapsula os parâmetros e usá-lo caso realmente seja necessário um valor tão alto (é realmente necessário 20 parâmetros?). O ideal seria 3 ao máximo, mas eu costumo utilizar 4 em minha configuração pois às vezes ocorrem exceções.

Você está violando alguma das regras de nomenclatura do Java. Elas facilitam na identificação do elemento, seja este uma variável, uma classe, entre outros. Visite este link para obter mais informações a esse respeito.

[quote=milinha]4º - Variável 'nome da variável ’ deve ser privada e ter métodos acessores.
OBS: tenho variáveis declarada dentro da classe na qual estão como protected, são classes abstratas. e não posso altera-las para private e criar métodos pra acessá-las isso causaria um coas no projeto. [/quote]

O ideal seria que o seu design utilize somente variáveis privadas. Porém, como existem raros casos em que realmente é necessário possuir variáveis protected, você deverá alterar sua configuração para terminar com esse warning. Eu não recomendo, no entanto. Minha configuração está como private. Para realizar a alteração, siga os seguintes passos:

Pré-Condição: Você deve ir para a janela de edição de sua configuração.

1 - Clique em “Class Design”; Do lado direito, uma lista deve aparecer.

2 - Nesta lista à direita, clique duas vezes em “Visibility Modifier”.

3 - Clique na opção protectedAllowed.

4 - Clique em OK.

Esse procedimento foi o suficiente?