- 浏览: 99748 次
- 性别:
- 来自: 上海
-
最新评论
-
zhang1212:
<div class="quote_title ...
poi 获取excel中图片 -
u010100704:
import org.apache.poi.ss.usermo ...
poi 获取excel中图片 -
ashidaya:
陈臣的博客
策略模式--读chjavach之博客感想 -
kyh8408:
有谁知道如何读取excel 2007 中图片及图片所在的行数
poi 获取excel中图片 -
lygxy12:
请问你是怎么解决的啊?我也遇到了这个错误,帮忙分析一下
D:\ ...
MAVEN苦闷了N长时间的小错误 纪念和反思
文章列表
一:直接新建一个Vector
String[] args = {"1","2"}
Vector v = new Vector(Arrays.asList(args));
二:使用自带的API
String[] args = {"1","2"};
Vector v = new Vector();
v.addAll(Arrays.asList(args));
三:自己写实现
private void copyToVector(String[] args,V ...
重构中为什么要去除重复代码
- 博客分类:
- 编程实践
看到不堪入目的代码,我唯一的想法就是重构,重构完了,再去谈修改BUG!
而重构中最简单的事情,就是提取方法,也就是把做太多事情的方法分解成只做一点事情的方法!
而今天早上在提取方法中,我发现也可以对方法进行抽象,而进一步满足我重构的冲动和欲望!
于是我就思考,为什么我会有如此的想法呢?或者别人也会不会有这样的想法!
其实以前看过的好多书里面,就提到每个方法的代码量不应该超过十行,否则就需要重构,而解释就是,必须迅速的理解方法的意图,方法需要做的事情!
清晰的结构和迅速的理解,对于软件的意义是非常大的,如果没有这个意识,那么就谈不上重构了!
为 ...
ORACLE里面的外连接可以简写成:
(+)=:右连接的简写
也就是:保留右表存在,左表不存在的行!
=(+):左连接
也就是:保留左表存在,右表不存在的行!
对于这种简写的局限性是显而易见的
可读性就很差,需要花时间去理解.因为我们的思维方式是:首先是怎么去连接,然后用什么条件过滤!分成两步走,便使得SQL清晰易懂.
记得在数据结构里面,完成表达式求解的算法也是采取分两步走的策略,一:转换成后缀表达式,二:然后在求职!虽然一步理论上可以达到,但是根据电脑的思维方式,采取两步走,是最容易实现的!
而SQL就是宣称的以人类的思考方式去解决问题!
||在ORA ...
昨天看了下JDK源码里面二分法查找的实现,对于一个地方甚是奇怪!
一般来说,想得到某个INT型变量除以2,假设是VAR,我只能想到的是VAR/2
然而我确看到的是VAR>>>1.象这样的写法,记得好像汇编,或者C++里面应该有不少这么的小技巧!
于是我对比了一下它们之间引起性能的差异,当数据在一万条左右,都是微乎其微的,但是当达到百万条时,差距就显现出来了!
这个让我思考,为什么会有差距呢?
难道除以2的底层实现不是>>>形式吗?
我可以推断,如果底层的除以2一定包括>>>这么一个步骤的,也就是说除以2这个方式是&g ...
spring come after a man who gain a music degree!
that tell us lyrics of music is written by a programmer!
Recently,I had listened much musics
and I try to remember the lyrics,I try to follow the tone,I try to
But finally,I image myself to write a song like programming!
I believe a high solution ...
如果是第一眼,我会惊叹它的美!
可是当我无数次走遍时,重复让我迟钝,让我呆滞,让我茫然!
我开始反思自己,是我还是它的缘由?
变
我从失落时走进新的命运时,我心中欣喜,憧憬
它随著自然走遍春夏秋冬
变幻莫测时,才是美的!
突然觉悟:
变才是生命的主题曲
程序应变而生
一切因变而美
没有变,起点和终点都重复了
没有变,美丽和丑陋没有区别
没有变,一切毫无意义
为什么对于小需求却要花很多时间去添加完成呢?目前对于自己编写代码的速冻非常不满意!于是反思下,并且以后做以下尝试!
1 没有明确的需求分析,代码设计,以及测试的过程!也没有使用被证明的TDD开发,目前的流程非常原始,而且非常混乱!
2 测试占开发时间的大头,这个终于体会到了!
以后觉得应该尝试的是:
1,设计独立出来虽然不是很现实,但是至少要用伪代码来替代
2,测试时,也应该稍做测试计划
开发时有个思想现在越来越强烈了
任何东西都是建立在确定的基础上的,如果你持有怀疑,那么结果成功的概率很小,如果你不能明确,一定要找到相应的文档,相应的原代码,相应的理论与事实,基于 ...
一:没有注意大小写
今天在修改以开源框架的代码时,基本上找到了修改点!可是怎么都没有按照预期运行!编译器上好像也没有任何错误信息!
程序一直报空指针错误!
好像怎么调试都找不到问题的节点在哪儿!
最后请了一高手来,只是按照我做的重做下,结果就好了!后来才发现原来是大小写错误!把大写忽略掉了!
总结:由于过分的关注程序的逻辑,导致习惯地认为逻辑上的错误!
二:不主动找错误,确一直靠感觉来修改
同样一次修改开源框架的源代码的过程中,逻辑上怎么都觉得正确,编译器上也没有发现错误,实际上后来编译器报错了,只是没有好的显示出来!
最后慢慢的调试,一:发现 ...
问题:用柱状图显示某个RUNCARD下所有工艺的预估时间和实际时间
准备
由于第一次使用JFREECHART,所以没有什么好说的,去官方网站找文档,并且把软件包一并下下来!
这一步很顺利,唯一的是USER GUIDE文档是要钱 ...
When I think of the problem that is so easily sovled,but I have a long and devious way of exploring the method.what make me spend so long time?how can I work out it next time?
Recall the question that I have run into today,I discovery I get some anticipation in my mind since I get the proble ...
从这一次配置日志过程中体会到一点,如果对于所面临的工作似懂非懂,就动手的话,反而会使得自己不仅信心丧失,而且任务也难以完成!
第一步,查看TOMCAT文档:
Instead, the default Tomcat configuration will use java.ut ...
在用FLEX作前端開發的過程中,充分感受到了FLEX簡化開發,提高開發效率的作用!
但是由于剛剛用FLEX,由于以前用的是JAVA,所以總是不由自主地把FLEX和JAVA對比,甚至語法上總是象JAVA一樣的書寫!編譯后才反應過來!雖然如此,但是JAVA和FLEX總的來說,還是挺象的,尤其是FLEX的事件模型和JAVA里面常見的貫徹者模式簡直如出一轍!FLEX只所以好用,就是其大大的簡化,其實我覺得就是現在"約定優于配置思想的應用"!FLEX很多的默認值就是一種經過經驗積累后的優化配置,所以一般的話,我們直接拿過來用,就行了!
下面是兩個小教訓,馬后炮總結下 ...
初次学习与研究NETTY,有如不妥,恳求批评与改正
准备工作
在集成了MAVEN的ECLIPSE中,导入下载好的NETTY自带的项目!现在研究如下代买片段
// Configure the client.
ClientBootstrap bootstrap = new ClientBootstrap(
new Nio ...
今年的冬天来得特别早,夹带着深入骨髓的冷!
这正如人生的体验和挫折也来得如此的早,外面寒风凛冽,自己却单衣薄薄!
跨过曾以为不可逾越的鸿沟,前面却有未曾预料的险山!
处于低谷,不会惧怕重新再来,面壁思过,正视现实!
- 2009-11-20 12:29
- 浏览 854
- 评论(0)
总是喜欢把软件和生活一概而论,总是喜欢由游戏联想到生活!
有时候觉得生活就是盘棋,大家其实都是公平在较量,只是有些人CPU快,算得远!智慧决定命运。
有时候觉得生活似牌,虽然上天总是不那么公正地主宰着各人手里的牌,或者当牌发下来时候,其实结果已经决定。这就好似当你降临这个世界上时候,未来其实差不多都可以预见!
生活中有很多的不惑,倒着来,顺过去,就是怎么也难以弄明白!
件的分层突然让我明白,如果我们对分层来理解生活,那么就不会像上面那么的盲人摸象了!处在不同层次,有着不同的规律;层次之间也有规则在运行;不同的规则又可以运用到同一事物上!
横看成岭侧成峰!
...
- 2009-11-13 17:53
- 浏览 996
- 评论(1)