Boas práticas de programação - Onde consultar?

Bom dia a todos!

Estou procurando algum artigo ou algo do tipo, sobre boas práticas de programação, no google não achei nada muito específico, apenas algumas dicas soltas em vários tópicos de vários foruns, e na busca do GUJ, ou a ferramenta de consulta não funcionou no chrome, ou a palavra chave “boas práticas” realmente não retorna nada.

Portanto, alguém conhece algum conteúdo com dicas básicas de boas práticas de programação? Sempre gostei de ler coisas do tipo pra tentar escrever um código de boa qualidade.

Abraço a todos.

Tópico movido para o fórum de metodologias de desenvolvimento.

Geralmente você encontra esses assuntos em livros. Eu sugeriria que você lesse:

  • Refatoração, do Martin Fowler;
  • Effective Java, do Joshua Bloch
  • Clean Code, do Robert Martin

Livros de padrões de projeto, domain driven design e TDD também ajudam bastante.

E, claro, sempre que você for mexer com uma tecnologia específica (seja Hibernate, threads, etc) ajuda muito buscar livros especializados nessas tecnologias. Pois as tecnologias em si também tem seus manuais de boas práticas.

Outra fonte de informação legal é ler os artigos do Brian Goetz:
http://www.briangoetz.com/pubs.html

[quote=Bruno M Gasparotto]Bom dia a todos!

Estou procurando algum artigo ou algo do tipo, sobre boas práticas de programação, no google não achei nada muito específico, apenas algumas dicas soltas em vários tópicos de vários foruns, e na busca do GUJ, ou a ferramenta de consulta não funcionou no chrome, ou a palavra chave “boas práticas” realmente não retorna nada.

Portanto, alguém conhece algum conteúdo com dicas básicas de boas práticas de programação? Sempre gostei de ler coisas do tipo pra tentar escrever um código de boa qualidade.

Abraço a todos.[/quote]

Se você espera um compêndio de todas as boas práticas num lugar só, vai ser dificil mesmo. Tem que garimpar muito na net e fazer o compêndio você mesmo. Eu tentei começar algo como isso no http://www.javabuilding.com/ mas o assunto é vasto.

Tem o livro padrões de projeto do Use A Cabeça (http://www.amazon.com/First-Design-Patterns-Elisabeth-Freeman/dp/0596007124)

É complexo até pelo fato das práticas variarem de acordo com o contexto. O que são péssimas práticas numa aplicação comercial podem ser boas práticas, se usadas com certos cuidados, em aplicações de tempo real ou firmwares. O que vale bem em C++, muitas vezes não será aplicável em Java.

Tem as revistas MundoJ (http://www.mundoj.com.br) e Java Magazine (http://www.devmedia.com.br/), nelas você encontra vários artigos que abordam padrões.

Bom dia senhores!

Primeiramente peço desculpas pela demora para responder, pois fiquei fora do departamento na semana passada.
Segundo, agradeço a postagem de todos!

Andei lendo alguns artigos do Brian Goetz e gostei bastante, mas pude perceber realmente o que vocês falaram: não será possível achar tudo em um mesmo lugar, até pq a tecnologia é muito vasta.

Gosto muito, muito mesmo dos livros da série Head First, e o Design Patterns está na lista para a próxima compra na amazon.

Vou dar uma olhada nas revistas e nos livros indicados pelo Vini.

Uma pergunta boba que talvez saia do contexto, quando vocês começaram a programar, vcs também escreveram código do qual não se orgulhariam muito hj em dia? ~~

Abraço a todos!

Depende do que vc chama “se orgulhariam”.
Eu tive a sorte de fazer alguns cursos na Sun (sim ,ainda era a sun) e de me abrirem os olhos para uns tais de “design patterns”.
No principio não sabia bem o que isso era e me guiava mais pelos principios gerais de design (SOLID) . Depois comecei a ver que usando esses principios sempre caia nas mesmas construções e ai comecei a entender melhor o que era um pattern.

Ha um principio não oficial que vc deve ter em mente : eat your own dog food ( coma sua propria comida de cachorro). Isto signfiica que se o seu codigo é uma bosta, vc irá comer bosta no futuro. A menos que vc queira isso, nunca escreva um codigo do qual vc não se orgulha. Seria o equivalente a criar um filho do qual vc não se orgulha. É meio non-sense.

Se vc não sabe o suficiente hoje, saberá amnhã. Mas o ponto é que o codigo que vc fez hoje era bom pelos padrões de maanhã. Para conseguir esta mágica temporal basta saber os princípios e segui-los. E nunca, nunca, jamais, fazer gambiarra.

[quote=sergiotaborda][quote=Bruno M Gasparotto]
Uma pergunta boba que talvez saia do contexto, quando vocês começaram a programar, vcs também escreveram código do qual não se orgulhariam muito hj em dia? ~~
[/quote]

Depende do que vc chama “se orgulhariam”.
Eu tive a sorte de fazer alguns cursos na Sun (sim ,ainda era a sun) e de me abrirem os olhos para uns tais de “design patterns”.
No principio não sabia bem o que isso era e me guiava mais pelos principios gerais de design (SOLID) . Depois comecei a ver que usando esses principios sempre caia nas mesmas construções e ai comecei a entender melhor o que era um pattern.

Ha um principio não oficial que vc deve ter em mente : eat your own dog food ( coma sua propria comida de cachorro). Isto signfiica que se o seu codigo é uma bosta, vc irá comer bosta no futuro. A menos que vc queira isso, nunca escreva um codigo do qual vc não se orgulha. Seria o equivalente a criar um filho do qual vc não se orgulha. É meio non-sense.

Se vc não sabe o suficiente hoje, saberá amnhã. Mas o ponto é que o codigo que vc fez hoje era bom pelos padrões de maanhã. Para conseguir esta mágica temporal basta saber os princípios e segui-los. E nunca, nunca, jamais, fazer gambiarra.[/quote]

Chamo de “se orgulhariam” é na época que comecei a programar, ainda estagiário, colocar código SQL dentro de classes de negócio por exemplo, por não conhecer ao menos um DAO, e sem muito espaço para pesquisar antes de implementar, principalmente por sempre ter algo para ser entregue ontem, se é que me entende =( Já fui diversas vezes induzido por superiores, a fazer gambiarra.

Hoje em dia alguma parte do meu tempo eu uso para reescrever esse tipo de código e colocar as coisas em um padrão, já fiz isso em aproximadamente 70% do projeto e devo terminar logo, mas durante esse processo eu paro pra olhar oq fiz antigamente e penso “de onde saiu isso?”

Mas acho que aprendi a lição haha, to conseguindo estudar bastante e já me recusei diversas vezes a implementar as coisas correndo, sempre mostrando pros superiores que a melhor forma não é essa, e mostrando o porque, é claro.

Atualmente tô correndo de gambiarra igual o d**** foge da cruz da rs.