Best Practices

Não é lindo?

package com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.imp;

import java.rmi.RemoteException;

import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.FinderException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.resource.ResourceException;
import javax.resource.cci.Interaction;
import javax.resource.cci.InteractionSpec;
import javax.resource.cci.MappedRecord;
import javax.resource.cci.RecordFactory;

import com.japoneis.esg.jf.jca.o.cc.OCcConnection;
import com.japoneis.esg.jf.jca.o.cc.OCcConnectionFactory;
import com.japoneis.esg.jf.jca.o.cc.OCcInteractionSpec;
import com.japoneis.esg.jf.jca.o.cc.OCcMappedRecord;
import com.japoneis.esg.jf.jca.o.cc.OCcRecordFactory;
import com.japoneis.esg.jf.jca.o.cc.command.OCcBaseOutput;
import com.japoneis.esg.jf.jca.o.cc.command.OCcCopyPerfilCmd;
import com.japoneis.esg.jf.util.log.Logger;
import com.japoneis.esg.xarope.programalegal.ejb.entity.PerfilLocal;
import com.japoneis.esg.xarope.programalegal.ejb.entity.PerfilLocalHome;
import com.japoneis.esg.xarope.programalegal.ejb.error.BusinessException;
import com.japoneis.esg.xarope.programalegal.ejb.error.DefaultErrorGroup;
import com.japoneis.esg.xarope.programalegal.ejb.error.ParameterValidationException;
import com.japoneis.esg.xarope.programalegal.ejb.error.SystemException;
import com.japoneis.esg.xarope.programalegal.ejb.session.imp.AbstractServiceBean;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.CopyPerfil;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.GetAllAllowedJaponeis;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.GetAllAllowedJaponeisRemote;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.GetAllAllowedJaponeisRemoteHome;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.GetAllAllowedJaponeisRemoteUtil;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.GetPerfilRemote;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.GetPerfilRemoteHome;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.GetPerfilRemoteUtil;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.SetSwitchingTimeRemote;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.SetSwitchingTimeRemoteHome;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.SetSwitchingTimeRemoteUtil;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.UpdatePerfilRemote;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.UpdatePerfilRemoteHome;
import com.japoneis.esg.xarope.programalegal.ejb.session.Perfil.UpdatePerfilRemoteUtil;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.AddSmokeFilter;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.AddSmokeFilterRemote;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.AddSmokeFilterRemoteHome;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.AddSmokeFilterRemoteUtil;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.GetSwitchingTimes;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.GetSwitchingTimesRemote;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.GetSwitchingTimesRemoteHome;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.GetSwitchingTimesRemoteUtil;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.imp.DefaultAddSmokeFilterInput;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.imp.DefaultGetSwitchingTimesInput;
import com.japoneis.esg.xarope.programalegal.ejb.session.shared.imp.DefaultGetSwitchingTimesOutput;

public class CopyProBean extends AbstractServiceBean {

...

Nomes modificados, claro…

E o pior que ainda tem gente q sobrevive depois de escrever uma coisa dessas!!! :expressionless:

Assim que bati o olho, pensei que fosse um Stack Trace. :lol:

Isso me lembra daquele povo que le o J2EE Core Patterns, usa o “Session Facade” como ponto ÚNICO de entrada no sistema e escreve uma classe com 3456 métodos e 20mil linhas de código.

Eu também hehe

Tadinho do shoes hehe vai ter que refatorar um bocadinho

E louds, qual o grande problema? :hunf: Assim é possível ter controle TOTAL sobre o que está acontecendo. Pena que o Eclipse não tem split editor :mrgreen:

Nunca vi tantos import´s assim… :hunf:

O melhor é o nome da classe.

public class CopyProBean extends AbstractServiceBean 

Será que ela faz o que o Shoes detesta?

:mrgreen:

Ora, vamos… não sejam tão maus. Pelo menos quem fez isso usou o “organize imports” do Eclipse.

Esse nome não tá tão ruim…

Uma vez vi um método que se chamava runBabyRun, que possuia um while onde a variável de controle do loop se chamava mandaBala…

Nooooossa! Então não fui o único que passou por isso na vida…Ufa!
Empatia eh algo que nunca existiu no dicionário para essas pessoas…(Se eh q pode chamar isso de pessoas…)

As vezes essa coisa de usar patterns sobe pra cabeça de uns caras para o lado errado do cérebro, e eles acabam se esquecendo de qual eh o verdadeiro propósito da existencia deles. :?

Querem ver o que são melhores práticas? :wink:



Censurado...

Quero ver alguem bater :slight_smile:

Eu nao acho muito estranho isso, depois que eu vi coisas parecidas com isso ai mas acessando EJB direto, nada mais me assusta.

:lol:

[quote=fabgp2001] Eu nao acho muito estranho isso, depois que eu vi coisas parecidas com isso ai mas acessando EJB direto, nada mais me assusta.

:lol:

[/quote]

Hehe
esse é o mais fraquinho, só uma viewzinha qualquer hehe

Putz! Eh impressão minha ou o povo tah esquecendo da opção de “Anexar arquivo” do JForum ?!

ANEXAR ARQUIVO NÃO FAZ MAL A NINGUÉM GALERA!

Pelo Amor de Deus!!! Usem-na!

Na na ni na na… eu usei o orgazine improts, que criou isso nem sabe o que é Eclipse :wink:

Sobre o meuc aos específico, a galerinha do GUj já conhece esse caso.

É um sistema TODO baseado em Command Pattern (com Struts na Web) onde CADA operação é um Session Bean, totalizando mais de 220 session beans.

Os programadores eram ex-programadores C/C++ “convertidos” por determianda “ferramenta de alta produtividade” (muito parecido com VB) que roda em cima de um NetBeans.

Crianças, não tnetem isso em casa…

[quote=fabgp2001] Eu nao acho muito estranho isso, depois que eu vi coisas parecidas com isso ai mas acessando EJB direto, nada mais me assusta.

:lol:

[/quote]
Ae fabio, ainda esqueceu um detalhe, jsp macarrao(+de 1000 linhas) acessando SessionBeans que acessavam direto o banco.:shock:
eu vi, ninguem me contou…hehehe!!!
quero ver melhor pratica!!!

:mrgreen:

[]'s

Esses caras tem muuuito o que aprender ainda! :smiley:

How To Write Unmaintainable Code

Na na ni na na… eu usei o orgazine improts, que criou isso nem sabe o que é Eclipse ;)[/quote]

É, então não tem o que perdoar.

Se bem que vocês estão no paraíso. Pior é pegar um sistema em Swing programado como se tivesse sido feito em Clipper. Classes de cadastros, aí vamos nós!

Afe… ao inves de terem ficado postando esses codigos enormes e toscos no forum, teria sido mto melhor a todos se anexassem os arquivos.

Rafael