Tutorial de como programar com qualidade em Java? [RESOLVIDO]

27 respostas
paulinhohd

Bom dia a todos,

Entrei no mundo Java a pouco, lendo muito e postando aqui, aprendi muita coisa, e já to desenvolvendo uma aplicação para empresa, porém, estou percebendo, e também já comentaram comigo, que meu código não está uma coisa descente; ele é funcional sim, mas gostaria de fazer algo mais organizado, eficiente, 100% qualidade…

Dei uma olhada no Google, mas é maior complicado encontrar tutoriais bons neste aspecto…

Alguém aqui já passou por isso, conhece algum tutorial bom? Dicas de se programar “descentemente” rs…

Valeu! 8)

27 Respostas

Rafael_Steil

Comece procurando por “separation of concerns” e “refactoring”.

Ler codigo fonte de outras pessoas ajuda um bocado tambem - pegue projetos open source como o JForum, webwork, mentawai e a fins, e veja como o povo faz.

Eh uma questao de bom senso tambem: ao inves de ter um metodo com 400 linhas, que conecata no banco, carrega o arquivo de confguracao, solicita cafe, faz validacao de dados, popula array list e manda email, quebre essas o metodo em partes logicas - um metodo que conecta no banco, outro que carrega o arquivo de configuracao, outro que solicita cafe, e assim por diante.

Vai ficar milhares de vezes mais facil manter e extender o sistema

Rafael

Rafael_Nunes

Sugiro também o livro Effective Java(Joshua Bloch) e Refactoring(Martin Fowler)

andgonca

Procure o “Java Code Conventions” e “Java Best Practices” no site da Sun. Tem várias dicas pra quem tá começando.

Um artigo bastante interessante é o seguinte: http://www.hacknot.info/hacknot/action/showEntry?eid=54

Good code!

Thiago_Senna

Paulinho…

Tem um livro que se chama “Pragmatic Programmer”. Ele trata exatamente sobre este assunto, ou seja, como ser um bom programador, independente de qual metodologia ou empresa em que você trabalha!

Abraços!
Thiago

Java_Vinicius_Machin

Isso serve como leitura rápida:

Bani

Cujo resumo do primeiro pode ser encontrado na lateral do meu blog

(e que eu preciso arrumar outro lugar para hospedar, então em breve os links de artigos e palestras vai mudar)

paulinhohd

Galera, valeu pela ajuda…

Estarei dando uma visualizada em todos…

Valeu mesmo! 8)

Rubem_Azenha

Java Vinicius Machine:
Isso serve como leitura rápida:

Muito bom! Vou passar para o resto da sala!

paulinhohd

microfilo:
Java Vinicius Machine:
Isso serve como leitura rápida:

Muito bom! Vou passar para o resto da sala!

Realmente esse mandou bem…

Ótimo…aliás…sem comentários hauhauhua!!!

Valeu! 8)

paulohbmetal

Dá uma olhada nisso:Programando com qualidade

A Paz!!

paulinhohd

paulohbmetal:
Dá uma olhada nisso:Programando com qualidade

A Paz!!

Esse eu já tinha encontrado no Google, mas dá uma lida rápida no que o Vinicius colocou…muito bom mesmo…

valeu! 8)

paulohbmetal
paulinhohd:
paulohbmetal:
Dá uma olhada nisso:Programando com qualidade

A Paz!!

Esse eu já tinha encontrado no Google, mas dá uma lida rápida no que o Vinicius colocou.........muito bom mesmo.....

valeu! 8)

É mais tem uma coisa errada. Bom pelo menos fora dos padrões da Sun. As chaves devem começar logo após a assinatura dos métodos e não abaixo:
Ex.:

//Correto
    public class teste {
    //...
    }

    //Errado
    public class teste 
    {
    //...
    }

A Paz!!

paulinhohd

Bom, eu acho que isso não influencia muito…tanto é que se colocar abaixo, fica mais visível pelo código inteiro…vai de cada um…

Valeu! 8)

pcalcado

Não tem nada errado ou certo em convenções. A convenção da Sun é utilizada na maioria dos lugares, mas mesmo projetos da Apache, por exemplo, usam uma convenção própria.

Eu recomendo obedecer a convenção da Sun, que é mais difundida, mas ser da Sun não indica ser “certa” :wink:

Shoes

paulinhohd

Uma dúvida,

Estava lendo este tutorial e tem uma parte que me ficou meio obscura:

12) Nenhum método deve conter mais do que 30 linhas. Esta  regra destina-se apenas a incentivar a decomposição das funções em métodos menores.

Tudo bem que é uma espécie de incentivo a decompor as funções do programa, mas por exemplo:

Se eu crio um botão “Entrar” em meu prog. e dentro do método onclick dele, surgem novos componentes que assim também terão seus onclicks com novas funcionalidades…Isso é exceder as “30” linhas?

Porque de qualquer forma estou modularizando o programa. Por exemplo se este botão Entrar me traz um Jtree e essa todas suas funcionalidades, está modularizado o prog.

Só carrego os métodos de acordo com a necessidade em tempo de execução. Isso é errado???

Valeu! 8)

paulohbmetal

Tudo bem, eu prefiro assim. :smiley:

Mas por exemplo, quem codifica desta forma e usa o NetBeans como eu, só tem a ganhar, pois o mesmo tem um reformatador muito show. E segue os padrões da Sun.

A Paz!!

pcalcado

Geralmente estes formatadores são configuráveis (pelo menos o do Eclipse é :wink: ) é uma boa tarefa pro estagiário: configurar o eclipse segundo o padrão da empresa e depois exportar pros outros :twisted:

paulinhohd

Galera de todos os meus posts no GUj esse foi o mais produtivo e o qual eu mais adquiri conhecimento…

Muito obrigado a todos!

Valeu mesmo! 8)

pcalcado

Calma que aidna não acabou :slight_smile:

Dizer que devem haver 30, 40, 200, 1999 linhas é meramente um numero escolhido ao acaso.

O importante é você dividir para conquistar, como esse é assunto extenso, minha sugestão de pesquisa para você:

  • Coesão
  • Acoplamento
    -Dependência

Google neles :wink:

Shoes

paulinhohd

pcalcado:
Calma que aidna não acabou :slight_smile:

Dizer que devem haver 30, 40, 200, 1999 linhas é meramente um numero escolhido ao acaso.

O importante é você dividir para conquistar, como esse é assunto extenso, minha sugestão de pesquisa para você:

  • Coesão
  • Acoplamento
    -Dependência

Google neles :wink:

Shoes

Valeu, por enquanto creio que meu dividir conquistar tá 100%…mesmo assim continuarei lendo a respeito e claro utilizando o famoso GOOGLE.

Valeu! 8)

boaglio

Bani:

Cujo resumo do primeiro pode ser encontrado na lateral do meu blog

(e que eu preciso arrumar outro lugar para hospedar, então em breve os links de artigos e palestras vai mudar)

Paulinho,

Esses resumos que a Vanessa fez são bem simples e objetivos, você com certeza deve ler todos eles! :smiley:

paulinhohd

[quote=boaglio]

Bani:
Paulinho,

Esses resumos que a Vanessa fez são bem simples e objetivos, você com certeza deve ler todos eles! :smiley:

Fazer o que né…se quiser ser alguém na vida hoje deve-se estudar muito…hauhaua…

Valeu galera! 8)

F

colegas,

tambem estou comecando com java agora, e estou com uma duvida. tenho um arquivo class ja compilado, e gostaria de saber como faco para visualizar o comando de programação.

pcalcado

Olá,

Não reaproveito um tópico. Quando tiver uma duvida, crie um novo :wink:

Antes de perguntar, leia este topico: http://www.guj.com.br/posts/list/15477.java

E veja em qual seção seu tópico se adequa antes de postar. Quanto mais organizado, mais fácil de achar respostas.
[b]
Você acha bons tutoriais aqui:

http://www.guj.com.br/user.article.list.chain
[/b]

Shoes

fredferrao

to começando em java agora e prefiro colocar a chave embaixo:

[code]
public class Teste
{
.....
}
[code]

acho que eh porque eu vim do Delphi, sei la, mas acho que da visualizar o bloco bem melhor!!

Java_Vinicius_Machin

fredferrao:
to começando em java agora e prefiro colocar a chave embaixo:

public class Teste
     {
          .....
     }

acho que eh porque eu vim do Delphi, sei la, mas acho que da visualizar o bloco bem melhor!!


O importante enquanto você não esta trabalhando em grupo é programar da maneira que se sente melhor. Agora trabalhando em grupos é outra história. :wink:

Thiago_Senna

Eu li em um livro que o ideal seriam 20 linhas!

Bom, em um dos posts no início deste tópico eu indiquei o Livro Pragmatic Programmer. Sinceramente, naum sei quanto tiveram interessem em buscar no google algo sobre o livro, entaum vou colocar um link aqui.

Descrição:

If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book." – Ward Cunningham

Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process–taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you’ll learn how to

Fight software rot;

Avoid the trap of duplicating knowledge;

Write flexible, dynamic, and adaptable code;

Avoid programming by coincidence;

Bullet-proof your code with contracts, assertions, and exceptions;

Capture real requirements;

Test ruthlessly and effectively;

Delight your users;

Build teams of pragmatic programmers and

Make your developments more precise with automation.

Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you’re a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you’ll quickly see improvements in personal productivity, accuracy, and job satisfaction. You’ll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You’ll become a Pragmatic Programmer.

Abraços!
Thiago Senna

Criado 28 de junho de 2005
Ultima resposta 29 de jun. de 2005
Respostas 27
Participantes 13