月写意&随月

导航

2011年11月9日

如何运用代理模式解耦你的程序

摘要: 程序员以码字为主要任务,一份代码写出来总归要经过多番的测试,调试与修改。作为一个java程序员,一般使用一些静态检查工具做一些初步的测试:checkstyle:用来检查代码的格式,主要是一些代码规范的问题,当然首先你得有一个规范。findbugs:找出程序中隐藏的一些漏洞,在某些时候可能会给你致命一击。PMD:复杂度检测工具,用来检查代码的逻辑复杂度,当然我们常说的代码耦合程度是里面的一个特例。代码的耦合度,是指代码中的单元代码的紧密程度,其中一个单元代码的更改对其它单元代码的影响力与作用。代码间的耦合度越高,系统就在变动时就更加难以控制,但并非不能控制,只是你将为此付出巨大的代价。一句话就是 阅读全文

posted @ 2011-11-09 20:55 月写意&随月 阅读(645) 评论(0) 推荐(0) 编辑

2011年11月7日

线程管理工具类(支持单线程队列以及多线程并发)

摘要: 我们开发的过程中,如果某个动作耗时过长,我们又不想等待;如果某个动作需要定时不断执行;如果我们想同时做几件事情;我们就需要使用到线程了。线程里面运用最多的,无疑就是单线程的队列管理,或者多线程并发执行了。这种情况有1个经典的应用场景,也是个人至今做的唯一的一个J2ME项目中的运用:处理http请求。 那个是我工作第一年做的唯一的一个项目,对手机客户端开发感兴趣的应该有所了解,是移动的一个定制项目:手机阅读。现在已经全国推广使用了,各种机型应该都可以下载到适用的客户端。那个时候真的是个菜鸟,刚刚毕业,写起代码来就像摸着石头过河,一步一徘徊。团队里面有个工作第2年的算是老鸟的一个写手,处理htt. 阅读全文

posted @ 2011-11-07 22:24 月写意&随月 阅读(888) 评论(1) 推荐(0) 编辑

代码重构技巧

摘要: 作为一个软件开发人员,你是否遇到过这样的情况:在阅读其他人的代码时,感觉很混乱,且大量重复;或是自己写的代码过一周或二周后再去看时,会发现其中很多的不足。如果是的话,那么恭喜你,最起码你是个有思想的程序员,你的境界比之前提升了。这个时候你是放之任之,还是决定亲自操刀来重构它呢?如果你选择后者,再次恭喜你,你不仅有思想,你还是个想到且能付诸实践的程序员。如果你选择前者,很遗憾,你可能已经深深的麻木了,你不再能感受到软件开发的乐趣所在,或许你曾经也有过激情,还请你再次拥有它,哪怕一点。在编写一段新代码时,你不必考虑代码的重构,因为你根本无代码可以重构,你其实也不必太执着于代码编写前的结构设计,ja 阅读全文

posted @ 2011-11-07 10:01 月写意&随月 阅读(1329) 评论(0) 推荐(1) 编辑

2011年11月6日

bug

摘要: 软件的质量问题往往表现为缺陷,这样的缺陷就是(bug)。软件缺陷的产生主要有两个原因:软件产品的特点和开发过程。例如:需求不够明确,开发人员不太了解需求,不知道应该“做什么”和“不做什么”,常常做不合需求的事情,这方面的问题最多。由于竞争激烈,过早使用新技术也容易产生问题。有的企业为了在时间上取胜,认为实现很新、很酷的功能比质量更重要,因此时间上安排很紧,分析和设计的投入远远不够,测试也不到位,这是产生软件错误的主要原因之一。除此以外,设计文档不清楚,文档本身就存在错误,沟通上存在问题,项目管理水平差,都可能导致问题。概括起来可以有七项原因:1. 项目期限的压力。2. 产品的复杂度。3. 开发 阅读全文

posted @ 2011-11-06 21:02 月写意&随月 阅读(170) 评论(0) 推荐(0) 编辑

xml解析工具类

摘要: xml是用来描述一组数据的规范,在不同系统交互,或者通信的过程中,我们往往使用到它,所以对于xml解析用的也是比较多的。本文没有依赖任何第三方jar包,就是jdk本身的API完成,支持任意复杂的xml的解析,有自定义handler供实现。 package com.xxx.utility.xml; i 阅读全文

posted @ 2011-11-06 11:29 月写意&随月 阅读(2642) 评论(0) 推荐(0) 编辑

excel解析工具类(支持2003&2007)

摘要: 2003excel直接采用的jxl进行解析,2007excel其实是个压缩文件,我们用解压缩工具可以打开,里面有对于这个excel结构的完整描述。开始采用的解析方法是直接解析压缩文件里面的excel结构来进行解析,但是处理小数的时候有点问题,最后还是换成poi的方式进行,但是处理小数仍然有问题,还是 阅读全文

posted @ 2011-11-06 11:11 月写意&随月 阅读(3620) 评论(2) 推荐(1) 编辑