首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

这样的代码让小弟我情何以堪~

2012-04-11 
这样的代码让我情何以堪~!~~~Java codepublic PagerModel findAllPropagandize(final int offset,final in

这样的代码让我情何以堪~!~~~

Java code
public PagerModel findAllPropagandize(final int offset,final int pageSize,final Propagandize propagandize) throws DataAccessException {        //查询总的条目数        int total = 0;        if(propagandize == null){            total = Integer.parseInt(this.hibernateTemplate.find("select count(*) from Propagandize").get(0).toString());        }else if(propagandize.getPropagandizestuff() != null){            total = Integer.parseInt(this.hibernateTemplate.find("select count(*) from Propagandize p where p.propagandizestuff.stuffId="+propagandize.getPropagandizestuff().getStuffId()).get(0).toString());        }else if(propagandize.getPropagandizeSize() != null){            total = Integer.parseInt(this.hibernateTemplate.find("select count(*) from Propagandize p where p.propagandizeSize.propagandizeSizeId="+propagandize.getPropagandizeSize().getPropagandizeSizeId()).get(0).toString());        }else if(propagandize.getPropagandizeNum() != null){            total = Integer.parseInt(this.hibernateTemplate.find("select count(*) from Propagandize p where p.propagandizeNum.propagandizeNumId="+propagandize.getPropagandizeNum().getPropagandizeNumId()).get(0).toString());        }else{            total = Integer.parseInt(this.hibernateTemplate.find("select count(*) from Propagandize").get(0).toString());        }        List<Propagandize> propagandizeList = this.getHibernateTemplate().executeFind(new HibernateCallback() {               public Object doInHibernate(Session session)                 throws HibernateException, SQLException {                Query query = null;                if(propagandize == null){                    System.out.println("one");                 query = session.createQuery("from Propagandize order by propagandizeId");                 query.setFirstResult(offset);                    query.setMaxResults(pageSize);                   }else if(propagandize.getPropagandizestuff() != null){                    System.out.println("stuff");                    query = session.createQuery("from Propagandize p where p.propagandizestuff.stuffId="+propagandize.getPropagandizestuff().getStuffId()+"order by p.propagandizeId");                    query.setFirstResult(offset);                       query.setMaxResults(pageSize);                }else if(propagandize.getPropagandizeSize() != null){                    System.out.println("size");                    query = session.createQuery("from Propagandize p where p.propagandizeSize.propagandizeSizeId="+propagandize.getPropagandizeSize().getPropagandizeSizeId()+"order by p.propagandizeId");                    query.setFirstResult(offset);                       query.setMaxResults(pageSize);                }else if(propagandize.getPropagandizeNum() != null){                    System.out.println("num");                    query = session.createQuery("from Propagandize p where p.propagandizeNum.propagandizeNumId="+propagandize.getPropagandizeNum().getPropagandizeNumId()+"order by p.propagandizeId");                    query.setFirstResult(offset);                       query.setMaxResults(pageSize);                }else{                    System.out.println("three");                    query = session.createQuery("from Propagandize p where p.propagandizestuff.stuffId="+propagandize.getPropagandizestuff().getStuffId()+"order by p.propagandizeId");                    query.setFirstResult(offset);                       query.setMaxResults(pageSize);                }                return query.list();            }          });          PagerModel pm = new PagerModel();        pm.setTotal(total);        System.out.println("total++++++++++++++++"+total);        pm.setList(propagandizeList);        return pm;    } 


还有下面这个短小精悍的,让我无解的
Java code
for (int i = 0; i < pm.getList().size(); i++) {            temp = (Propagandize) pm.getList().get(i);            temp.setCustomerGradeId(this.gradeDao.getGradeById(                    String.valueOf(temp.getCustomerGradeId())).getGradeId());        }


[解决办法]

太销魂了!

else if 结构跟for循环用得出神入化!
[解决办法]
山外青山楼外楼
[解决办法]
观察……
[解决办法]
一点这样的代码不可怕,如果整个项目都这样的代码!!!

旧代码中这样也不可怕,如果公司其它程序员每天提交这样的代码!!!


[解决办法]
佩服,运用娴熟啊。
[解决办法]
................................
[解决办法]
看看人家的代码多好,可以休息啦。呵呵
[解决办法]
冒泡下,敢问for有什么问题?求解
[解决办法]
我帮你顶了。
[解决办法]
这不就是我写的么!
[解决办法]
嗯。。。。还好= =~
[解决办法]
擦 ,
以后谁接受估计会死的~~~~~~~~~~~~~~~~~~~~~~
[解决办法]
有点密集恐惧症
[解决办法]
很多重复代码可以合并 但是可读性不错 起码维护人员读起来很简单
LZ去嘲笑别人不厚道
[解决办法]
看到这样代码维护起来真的够、、

下面那个for循环我很不解啊、那种循环有什么意思、、只能最后一个有值啊~~~

楼主、撒点分吧、、急求分啊、
[解决办法]
调理还是很清晰的么……
[解决办法]
如果真的遇到这样的代码 , 我想很多人的蛋会碎的一粒一粒 , 心情好像是被爆了菊花般的欲仙欲死。
[解决办法]
我们公司的代码 基本都这样 但你这还好
我们的在JSP 里
[解决办法]
如果这是刚出茅庐的新手写的也过得去,else
[解决办法]
我是来围观的。
[解决办法]
探讨
我们公司的代码 基本都这样 但你这还好
我们的在JSP 里

[解决办法]
表示有压力

写代码的同时要想到代码优化,很重要~~~
[解决办法]
额................代码量很大嘛!
[解决办法]
结构倒无所谓,关键是SQL语句的拼凑有问题,这种写法即使同一逻辑下也会导致每次数据库都要去分析SQL语句。
应该改成预编译处理。

至于结构嘛,根据业务逻辑来嘛,逻辑分支多很正常。

后面的循环也没什么问题啊?难道LZ你觉得该用IN关键字??那你就错了,IN关键字是不会用索引的,这样的查询比你用IN快多了。。

LZ你在嘲笑别人什么地方呢?难道是ORDER前面没有空格造成整个代码无法运行???
[解决办法]
getGradeById 
这个方法取的是Propagandize类型的对象吗?
------解决方案--------------------


探讨
结构倒无所谓,关键是SQL语句的拼凑有问题,这种写法即使同一逻辑下也会导致每次数据库都要去分析SQL语句。
应该改成预编译处理。

至于结构嘛,根据业务逻辑来嘛,逻辑分支多很正常。

后面的循环也没什么问题啊?难道LZ你觉得该用IN关键字??那你就错了,IN关键字是不会用索引的,这样的查询比你用IN快多了。。

LZ你在嘲笑别人什么地方呢?难道是ORDER前面没有空格造成整个代码无法……

[解决办法]
我是围观群众。。。
[解决办法]
Java code
 temp.setCustomerGradeId(this.gradeDao.getGradeById(                    String.valueOf(temp.getCustomerGradeId())).getGradeId());
[解决办法]
我是围观群众。。。
[解决办法]
娴熟的if..else
[解决办法]
估计让我写,也是这样的情况
[解决办法]
时间紧的话我也可能这样做的了...
非得压缩代码量的话,而且确实可以压缩,因为它的模型的共性很明显,可用数据结构工具处理,甚至要用运行时识别。不过那样可读性的话...还有一但模型变了,修改起来就麻烦,归结起来就是取舍问题了
[解决办法]
的确有点销魂!
[解决办法]
可能 想的太多啦,或者逻辑有点问题!
[解决办法]
代码写完后,要优化。。。。
[解决办法]
这样写有啥不好?
[解决办法]
我之前做过的一个项目,风格和这个很像~
SQL语句通过if else 拼出来。。。
[解决办法]
路过~~ if语句下边有一条语句是不是不用要花括号?!
[解决办法]
这个实现什么功能,还没看懂
[解决办法]
看上去好整齐啊!
[解决办法]
思路是很清晰,不过在此基础上还是优化下吧。代码分支太多,而且每行代码太长
[解决办法]
探讨

引用:

这不就是我写的么!

你不会就是。。。

[解决办法]
主c++的看明白后发现 密集度等于拖慢速度 没有什么值得推崇的 得看应用要求
[解决办法]
探讨

主c++的看明白后发现 密集度等于拖慢速度 没有什么值得推崇的 得看应用要求

[解决办法]
探讨
Java code
temp.setCustomerGradeId(this.gradeDao.getGradeById(
String.valueOf(temp.getCustomerGradeId())).getGradeId());


这个东西调试起来头疼的很。。。为了清晰可以一句一句的写

[解决办法]
My god
[解决办法]
请问楼上的各种大侠们! 你们是否从一开始就很厉害? 还是你们从娘肚子里出来就很牛X?一群一群自以为是的家伙。 每个人都有菜鸟的阶段。没必要谁看不起谁,嘲笑谁。 想想你刚进公司酱油的感受和别人轻视的感受吧。
[解决办法]
这种代码还算有水平,相对于某国企里的代码。。。。。
[解决办法]
so tidy..
[解决办法]
楼主可以将自己压缩后,抽象后的代码贴出来大家看看。
[解决办法]
可以重构一下代码啊
------解决方案--------------------


重构很重要、要不然像这样写出来的系统、会跟拖拉机一样、、、、
[解决办法]
呵呵,真可谓:无懈可击。
[解决办法]
//查询总的条目数
还有这句注释不错啦!
[解决办法]
每次我看到这样的代码,我就想当Manager
[解决办法]
第一段代码太有意义啦,充分体验到代码的垃圾性!
[解决办法]
挺好的,逻辑清晰


我怀疑是女的写的
[解决办法]
写出这样的代码并不可怕。可怕的是不及时重构。。没什么值得好笑的。我敢保证楼主绝对以前写过比这还烂的代码。。
[解决办法]
第一段应该不是if和else if的关系吧?
[解决办法]
比我要好,至少人家还有注释,
[解决办法]
情何以堪。。。。。。
[解决办法]
调那么多次select count星。。。。
[解决办法]
<font color="#ff0000">太好了,就是不想看</font>
[解决办法]
正常。太正常了。。想当初我们写面向过程的时候也不就是这德行吗,知足吧。。
[解决办法]
其实if else这段写的还是不错的。
流程挺清晰的。
只是没有优化而已。
[解决办法]
初学者表示不懂。。 有精简后的吗?
[解决办法]
其实还是可以的啊,稍微整理一下就更好了。
[解决办法]
如果真的遇到这样的代码 , 我想很多人的蛋会碎的一粒一粒 , 心情好像是被爆了菊花般的欲仙欲死。


我只是来看别人怎么说的
[解决办法]
我努力不去看。
[解决办法]
情何以堪
[解决办法]
怎么了?有什么大问题吗?
[解决办法]
这应该是为了反编译的才这么做的!
[解决办法]
情何以堪。。。。。。
[解决办法]
不得不说,其实还是挺清晰的。

[解决办法]
精简后的表示看不懂。。。。
[解决办法]
谁贴出好点的重构代码吧,
[解决办法]

探讨
我们公司的代码 基本都这样 但你这还好
我们的在JSP 里

[解决办法]
太霸道了。省了
[解决办法]
编码规范还是很有必要的。
[解决办法]
一个方法1K多行的代码。。你见过没。。。。。哥还不是照样维护了2年。。。我日。。。恶心死我了。。。。。。
[解决办法]

暂且不说你嘲笑新手的人品问题,就你发帖的目的而言,大家显而易见。。。敢问楼主开始没写过那样的代码??是一步登天的? 对你这种人无语了。。。 那敢问你把你的好的方法,好的建议也贴出来 让大家也学学啊 也对得起大家跟帖八十多楼!!!!!!

[解决办法]
很多产品的代码中都有这样的代码,我们产品中也是很多,产生的原因也很多,代码从起初开始易手很多人,水平差距也大,后来人又由于风险不敢重构。。。所以 你懂的~


[解决办法]
这代码不错.
[解决办法]
这样的我都不会写
[解决办法]
大家都没看出重点,for循环是亮点。。。

for (int i = 0; i < pm.getList().size(); i++) {
temp = (Propagandize) pm.getList().get(i);
temp.setCustomerGradeId(this.gradeDao.getGradeById(
String.valueOf(temp.getCustomerGradeId())).getGradeId());
}

执行完后除了能增加数据库的读写压力外,对业务没有任何意义。。。
[解决办法]
这样写好像是不错,但你为什么不封装一个参数类呢,这样应该会比这个简单很多啊
[解决办法]
还算好呢。。我有一个还写在js里面,但那太不安全了。

热点排行