Você valoriza o controle do estilo de código?

26 respostas
Mauricio_Linhares

O “estilo” de código é o padrão (ou a falta de um) que você segue quando está escrevendo código fonte. Existem diversos padrões de escrita de código e a linguagem Java, inclusive, tem uma definição própria sobre como é o seu padrão de escrita de código.

O Frank Sommers faz alguns comentários sobre estilo de código e como “obrigar” pessoas a trabalhar com isso e termina com uma questão, você usa alguma ferramenta de controle de estilo de código? Você tem regras de estilo de código ou cada um na equipe escreve do jeito que quer?

Notícia: How Important is Coding Style, and How Do You Enforce It?

26 Respostas

Y

Respondendo ao título do tópico: Sim, eu valorizo, e muito, o estilo do código. Acredito que o código se torna Muito mais legível quando segue um padrão mínimo. Particularmente eu discordo (e portanto não sigo) algumas das diretrizes do Code Conventions da Sun, mas primo pela boa organização, apresentação e disposição dos códigos nos arquivos. Não utilizo ferramentas (existem?) para isso, apenas sigo umas regrinhas básicas que com certeza fazem muita diferença.

shison

Meu pensamento é basicamente como o colega acima, valorizo, talvez até demais o estilo e arrumação da coisa.
A cada projeto sempre busquei um melhor estilo de código, e já mudei/melhorei bastante.
Depois que vi a convenção da Sun, muita coisa seguia o meu padrão, algumas eu assimilei e outras eu ignorei :slight_smile:

Agora, sobre ferramentas… utilizo tipo um netbeans da vida que tem suas identation engines da vida. Mas isso não é nada que arrume tudo automaticamente também né.

glaucioguerra

No Eclipse tem um esquema chamado Templates se eu não me engano. Você cria um padrão para praticamente tudo no seu código, como identação, posição das chaves, cor, variáveis, etc. Não sei como funciona, mas sei que existe :wink:

Um abraço!

glaucioguerra

Depois é só usar o atalho (SHIFT + CTRL+F) para ele organizar de acordo com o seu template. Acho que até nome de variável de acordo com o tipo você pode selecionar.

Um abraço!

dudaskank

Acho bem interessante existir um padrão sim, pelo menos pra cada projeto.

Eu de ferramenta só costumo usar a formatação automática do eclipse mesmo, junto com o Ctrl+Shift+F hehehe, e junto com um perfil do formatter do eclipse ajustado para mais colunas pra ocupar melhor minha tela. O que indica no serviço umas 115 colunas e em casa umas 140 ±.

:slight_smile:

J

Na Java Magazine edição 36 fala sobre isso. … inclusive com ferramentas que auxiliam neste aspecto

marcos.junqueira

Seguir um padrão no código é muito importante para a continuidade do projeto, não adianta você ser “o cara”, se no dia que você abandonar o projeto o seu sucessor não conseguir entender nada do que você fez.
Sempre assumo o padrão do Java, e também uso os comentários javadoc, mesmo que eu gaste 1/4 do meu tempo comentando o que eu fiz. Uma vez eu peguei um projeto que não tinha uma identação muito boa e tinha 0% de cometários, ai foi foda… :?

O atalho CTRL + SHIFT + F também funciona no NetBeans :lol:

X

No meu estágio seguimos o “padrão acadêmico”.

G

No meu caso uso o estilo que a empresa que faço estágio determinou em sua documentação

eduveks

Eu utilizo o:

:arrow: http://checkstyle.sourceforge.net/

Tem plugin para Eclipse, NetBeans, BlueJ, etc…

Mas já vou adiantando… ele é muito chato :smiley: e acho q isto é um ponto positivo…

Aqui podem ver o resultado do checkstyle num projeto:

http://cnossos.nce.ufrj.br/checkstyle-report.html

O que menos gosto, é ter o limite das linhas de 80 caracteres, mas isto é bom para evitar a scrollbar horizontal, mas em blocos de códigos com muitos ifs e loops, fica dificil manter a tabulação dos 80 caracteres…

Também dá os alertas de que esta faltando javadoc… ou q o comentario para o javadoc ta mal feito…

Até espaços a mais nos finais das linhas, primeira letra maiuscula em nome de métodos e variaveis… ifs esquisitos ele acusa também… acho ele idel para manter um código padronizado, e para isto tem q ser chato, não tem outro jeito…

:wink:

Dieval_Guizelini

O checkstyle realmente é muito bom… mas infelizemente ele não resolve tudo…

Segundo Brian W. Kernighan e Rob Pike em “A Prática da Programação”: “o propósito do estilo é facilitar a leitura do código para você e para as outras pessoas, e o bom estilo é crucial para a boa programação.”

E de cara no início do capitulo ele apresenta um exemplo em que o código fonte deve ter sofrido atualização e o comentário não (vocês já sabem das conseqüências…).

O fato é que bons programadores, acabam programando para eles próprios e esquecem que nem todos são ou estão iluminados pela mesma luz (risos).

Conforme o livro, fazem parte deste assunto:

  1. Nomes - identificadores em feral, o Java já possui e influência bons padrões para nomes de pacotes, classes, métodos e para por aí. Os programados que definem os padrões para variáveis locais, parâmetros etc.

  2. Expressões e declarações - depende novamente do conhecimento do programador, acrescentado aqui o conhecimento de matemática… neste tópico a ausência de comentários no código é quase regra geral.

  3. Consistência e idiomas - melhor não comentar… quem aqui não pegou classes com nomes BrasUSA!!!

  4. Macros - não se aplica…

  5. Números mágicos - se comentar é castigo, imaginem o uso de constantes… para quê ou para quem?

  6. Comentários
    Esta parte é fabulosa… vocês tem que ler os exemplos, até parece que ele andou lendo algumas APIs ou frameworks populares… vou dar uma colher de chá:

/* retorna SUCESS */ return SUCESS

E entre as conclusões…

“(…) o código bem escrito é mais fácil de ler e entender. Ele contém menos erros e provavelmente é menor que o código que foi jogado sem cuidado e nunca foi aperfeiçoado. (…)”

fw

cv1

Pq ter muitos ifs e loops indentados eh uma pessima ideia, pra comecar :wink:

O

Bah, eu nem acredito que o pessoal não sabe usar(e nunca usa) um formatador de códigos! Como vcs vivem sem isso?

Eu tenho toda a formatação do jeto que gosto no eclipse, é toda hora Ctrl+Shift+F…

No eclipse, vão em janela, preferências, java, estilo de código, formatador e cliquem em editar.

O IDEA tem um bom formatador tb, já o Netbeans é sofrível nesse aspecto.

Rage

Eu sempre formato o meu código direitinho, aliás sou super chato com isso!!!
Tem que estar tudo sempre muito bem indentado.
A pessoa que, por acaso precise mecher no código futuramente agradece…mesmo sem muitos comentários, torna mais fácil a visualização e o entendimento, o famoso ‘decifrar’ o código alheio.
Fico impressionado com a quantidade de códigos-lixo que existem por aí…

marcos.junqueira

não vejo nada sofrível nesse aspecto no NetBeans.

A identação de código é automática, vc pode usar Ctrl + Shift + F para identar o código… só um estágiário muito descuidado pra não conseguir identar no NetBeans.

Inclusive vc pode controlar o estilo de geração de listener como:

:arrow: Classes Internas Anônimas;

:arrow: Classe Interna Única;

:arrow: Classe principal.
O

Ninguém aqui entende porcaria nenhuma de formatação de código.

1112

Eita. Pode me dizer então o que você usa que o pessoal não entende? Divida seus conhecimentos.

marcos.junqueira

pelo jeito não mesmo… :lol:

Mauricio_Linhares

Olha o troll, olha o troll, não vamos acanalhar uma dicussão séria minha gente :smiley:

jack_ganzha

Um artigo recente da developerWorks mostra como usar plugins do Eclipse para garantir, entre outras coisas, estilo de codificação. Vale a leitura:
http://www-128.ibm.com/developerworks/java/library/j-ap01117/index.html

valeuz…

plentz

jack_-_ganzha:
Um artigo recente da developerWorks mostra como usar plugins do Eclipse para garantir, entre outras coisas, estilo de codificação. Vale a leitura:
http://www-128.ibm.com/developerworks/java/library/j-ap01117/index.html

valeuz…

Só lembrando que é bom ter cuidado ao utilizar esses plugins, para não acabar exagerar na quantidade de regras.

roadhouse

estilo de codificação traz pelo menos uma vantagem clara: maior facilidade na hora de integrar código feito por diversas equipes, porque?

Simples! Aquele monte de espaço em branco e tabulações perdidas são o terror para qualquer build manager, claro que alguém pode mencionar que o comando diff do unix tem uma flag para ignorar espaços em brancos e tabulações, mas e quando algum desenvolvedor só muda o método de lugar dentro da classse por exemplo?

Ai lá vai o build manager ter que fazer o merge na mão e querer matar um ou dois programadores, basicamente essa pra mim é a maior vantagem de se manter um padrão de codificação principalmente em projetos muito grandes e com várias equipes.

sim! eu já fui build manager =:D por isso amo o ant até hoje…

cv1

Build manager?

Cara, se tem um desses na sua equipe, tem alguma coisa bem errada. Esse eh o tipo de tarefa que a gente delega pra maquinas, hoje em dia.

roadhouse

muito provavelmente sim cv porque depois disso o soft saiu do nosso controle e foi para os chineses =:]

Mauricio_Linhares

E olhem só esse tutorial sobre qualidade de código com PMD -&gt Improving code quality with PMD and Eclipse

bzy

Nossa, depois que descobrio o CTRL + SHIFT + F do Eclipse, tento usar isso até no editor de texto.

Criado 31 de janeiro de 2007
Ultima resposta 7 de fev. de 2007
Respostas 26
Participantes 19