huahuah e o pattern SILENCIATOR conhecem???
try{
//faz alguma coisa…
}
catch(IOException Ex){
//Silenciator
}
Tecnoage, não zoa não pq uma vez eu vi um cara (do C++) que tinha traduzido Singleton para Solteirão.Imagina como o mundo é estranho cheio de objetos esquisitões por aí… :lol:
Estamos falando de servidores com 4 processadores e 4GB RAM.
meu acho que nessa disputa um codigo que dei manutenção foi o campião
era um relatório web que escrevia num xls com POI
meu tinha mais de 2k de linhas todos em script let as mais de 30 variaveis com os nomes todos assim
String a;
int b;
...
String z2; // acabou o alfabeto
float z3;
ai o cara (pra não dizer outra coisa que o chamei quando tive q dar manutenção) para “modularizar” seu codigo fez o metodo no jsp (continua scriptlet) para preencher celulas abaixo
public void preenche(HSSFRow r, int c, String t, String ti) throws java.text.ParseException {
HSSFCell cl; double v=0;
c = r.getCell( (short) c);
if (ti.equals("I")){
v = cell.getNumericCellValue();
v = v + Integer.parseInt(t);
c.setCellValue(v);
}
else if (ti.equals("D")){
v = cell.getNumericCellValue();
v = v + Double.parseDouble(t);
c.setCellValue(v);
}
else if (ti.equals("Date")){
Date dtaData = null;
SimpleDateFormat formatter;
formatter = new SimpleDateFormat("hh:mm:ss");
if(!t.equals("")){
dtaData = formatter.parse(t);
c.setCellValue(dtaData);
}
}
}
nunca senti tando medo em mexer em um código
gostaria de poder postar todo o codigo, mas não posso.
Agora o melhor vinha no final desse arquivo jsp que tinha o seguinte codigo
<script>location.href = "Relatorio2.jsp";</script>
e era outro jsp igualzinho, detalhe isso foi até o Relatorio13.jsp
e ai será que da pra ganhar?
Porque alguém estende a classe java.util.Date, quando na verdade só cria redundância de semântica?
Note o método getStorageDate(). Campeão!!!
Além do que, os métodos [get/set] StorageDate e SystemDate significam a mesmíssima coisa.
Senhor, dai-me paciência!
[code]//…
public class HDate extends Date {
public HDate() {
super();
}
public HDate(long millis) {
this(new Date(millis));
}
public HDate(Date date) {
setSystemDate(date);
}
public HDate(String data, String mascara) throws ParseException {
SimpleDateFormat dateformat = new SimpleDateFormat(mascara);
this.setTime(dateformat.parse(data).getTime());
}
public HDate(String data) throws ParseException {
this(FormatHelper.parseAny(data));
}
public java.util.Date getStorageDate() {
long millis = ( (long) this.getTime() / 1000 ) * 1000;
this.setTime(millis);
return this;
}
public java.util.Date getSystemDate() {
return this;
}
public void setStoredDate(java.util.Date date) {
this.setTime(date.getTime());
}
public void setSystemDate(java.util.Date date) {
this.setTime(date.getTime());
}
public String toString() {
return FormatHelper.getDataCompleta(this);
}
}[/code]
[quote=Ironlynx]Tecnoage, não zoa não pq uma vez eu vi um cara (do C++) que tinha traduzido Singleton para Solteirão.Imagina como o mundo é estranho cheio de objetos esquisitões por aí… :lol:
[/quote]
huahauhauhau foda!!! ahuaha mas esse silenciator foi encontrado em ambiente de produção. rsrsrs
Achei mais esta preciosidade:
public static Date parseDataHora(String ddmmyyyyHHmmss) throws ParseException {
return new Date(FORMAT_DATE_TIME.parse(ddmmyyyyHHmmss).getTime());
}
Por que não simplificar assim?
public static Date parseDataHora(String dt) throws ParseException {
return FORMAT_DATE_TIME.parse(dt);
}
Que tal isso?
//Acho que tem um pau que acontece
//mais vezes se apagar essas linhas. NAO APAGUE!
while (true)
break;
Ok… eu acredito em duendes.
[EDITED] Ah sim, esqueci de dizer… isso se repetia pelo menos umas 15 vezes pelo código…
Ah, então o cara é relaxado… tem um mundo de RAM!!!Q inveja…
Daniel, essa é a famosa “programação com comentário embutido”…huahauha o cara pôs ddmmyyyyHHmmss para não esquecer dos parâmetros de formatação! :lol:
if (!form.getCod().equals(null) && !form.getCod().equals("")) {
vo.setCod(new Long(form.getCod()));
} else {
vo.setCod(new Long(0));
}
Este programador não sabe o que está fazendo…
!form.getCod().equals(null) ??? Isto pode dar um belo de um NullPointerException.
vo.setData(new Date(new HDate(31/12/2699).getTime()));
Será que a falta de ASPAS na data vai fazer diferença??? O teste nunca nem passou perto daqui!
Fora os “milhares” de objetos que ficam criando à toa.
[quote=ViniGodoy]Que tal isso?
//Acho que tem um pau que acontece
//mais vezes se apagar essas linhas. NAO APAGUE!
while (true)
break;
Ok… eu acredito em duendes.
[EDITED] Ah sim, esqueci de dizer… isso se repetia pelo menos umas 15 vezes pelo código…[/quote]
15 vezes?? Só???
Aqui temos isso 15 vezes por tela!
Pior que a documentação do Fox Pro já vem com esses exemplos…rs…
preciso de outro emprego urgente!
[quote=danieldestro]
!form.getCod().equals(null) ??? Isto pode dar um belo de um NullPointerException.[/quote]
Só se o equals estiver implementado errado. equals com null sempre dá false.
Ainda sim, é tosco. É o mesmo que fazer:
if (true && !form.getCod().equals(""))
Aí era caso para == mesmo.
Pra que isso:
Faz um select que retorna 44.500 linha e guarda em um cursor!
[code]select * from w_materiais_cores ,‘xcursormat’
.
.
.
select * from xCursorMat where material = ‘algumMaterial’
[/code]
Depois filtra do cursor o que será preciso para o relatório.
Com mais algumas bizarrices o relatorio demorava 3 minutos p ser gerado, com a alteração, passou p 5 seg…
Logo o cara levará o prêmio Nobel da desprogramação:
public Object create(VO vo) {
String query = new String(); // HÃM ???
query = "select max(cod+1) from a_tabela"; // Alguém me explica isto???
Vector cod = (Vector) dao.getSingleResult(query);
vo.setCod(new Long(cod.get(0).toString())); // MEU DEUS DO CÉU
vo.setData(new Date(new HDate().getTime())); // QUANTO MAIS OBJETOS CRIADOS MELHOR
vo.setUsuario(" "); // BOA PRÁTICA COLOCAR ESPAÇO EM BRANCO
dao.create(vo);
return vo;
}
Eu fiz comentários ácidos e sarcásticos no próprio código.
select max(cod+1) ??? Seria pelo menos select max(cod)+1.
Fora que o código não funcionaria com concorrência…
Posso desistir já???
String query = new String();
query = " select * from A_TABELA where 1 = 1 and COD >= :cod";
List<VO> vos = new ArrayList<VO>();
vos = dao.createNativeQuery(VO.class, query);
Ah, falar dos outros é fácil, quero ver alguém ter coragem de falar dos proprios erros… aí vai, o código da minha primeira app web(e primeira versão do meu projeto final), olha essa JSP “que liiinda”(ECA!):
[code]
<%@ page language=“java” import=“com.siap.,org.prevayler.,java.io.*,com.thoughtworks.xstream.XStream;” %>
<% Prevayler prevayler=(Prevayler)this.getServletContext().getAttribute(“prevayler”);
SistemaAcademico siap=(SistemaAcademico)prevayler.prevalentSystem();
Usuario usuario=(Usuario)session.getAttribute(“usuario”);
try{
UsuarioRenovaCadastro u=new UsuarioRenovaCadastro();
u.setUsuario(usuario);
u.setNomeUsuario(request.getParameter(“nome”));
u.setEndereco(request.getParameter(“endereco”));
u.setBairro(request.getParameter(“bairro”));
u.setCidade(request.getParameter(“cidade”));
u.setEstado(request.getParameter(“estado”));
u.setCep(request.getParameter(“cep”));
u.setComentario(request.getParameter(“comentario”));
XStream xstream = new XStream();
xstream.alias("usuariorenovacadastro", UsuarioRenovaCadastro.class);
String xml = xstream.toXML(u);
PrintWriter saida = new PrintWriter(new FileOutputStream("c:/cadastro.xml",true));
saida.write(xml);
saida.close();
}
catch(Exception e){
e.printStackTrace();
System.out.println(“Merda Exception!Não deu para gerar o XML!”);
}
%>
Resultado da Requisição:
|
---|
:lol:[quote=julianostr]
[code]if (a == 1 && a ==2) {
…
…
}[/code]
[/quote]
Talvez o atributo “a” tivesse dupla personalidade!!! :lol: :lol:
Encontrei em um código aqui:
if (categSis.equals("AB")) {
categSis = "B";
}else if(categSis.equals("AC")) {
categSis = "C";
}else if(categSis.equals("A")) {
categSis = "A";
}else if(categSis.equals("B")) {
categSis = "B";
}else if(categSis.equals("C")) {
categSis = "C";
} else if ...//e a cadeia continua
for (int i=0; i<16; i++) {
if (i==0) {
preencherCampo(0);
} else if (i==1) {
preencherCampo(1);
} else if (i==2) {
preencherCampo(2);
} else if (i==3) {
preencherCampo(3);
}
...
}
isso foi até o 15…