进攻性编程规范
来源:互联网 发布:谜样女友x 淘宝 编辑:程序博客网 时间:2024/06/06 02:50
一次一次的排除错误早已成了习惯性的动作,一天两天甚至一个月都很难找到错误的原因,在上万行的代码中更是如此。也许错误是沧海一粟,那么就会考验耐心。
如下有一串代码:
这段代码的意思是将数据以CSV的形式保存起来,它使用的是软件提供商的类库。
try {
objBAOStream = new ByteArrayOutputStream();
objBAOStream = new ByteArrayOutputStream();
objPrWriter = new PrintWriter(objBAOStream);
CSVWriter csvWriter = new CSVWriter(objPrWriter);
List lstDetailsData = logicDataResult.getList();
int intSize = lstDetailsData.size();
List lstCSVData = new ArrayList(intSize + 1);
for (int i = 0; i <= intSize; i++) {
if (i == 0) {
java.util.List lstTitle = java.util.Arrays
.asList(strArrTitle);
lstCSVData.add(lstTitle);
}
if (i > 0) {
KSK08AP01LogicData logicDataRow = (KSK08AP01LogicData) lstDetailsData
.get(i - 1);
List lstCSVRowData = new ArrayList();
lstCSVRowData.add(logicDataRow.getNYK_KYT_CDE());
lstCSVRowData
.add(replaceStr(logicDataRow.getKYT_NAM_RYK()));
lstCSVRowData.add(logicDataRow.getSRS_CDE());
lstCSVRowData.add(replaceStr(logicDataRow
.getDAI_SRS_NAM_RYK()));
lstCSVRowData.add(logicDataRow.getMKR_CDE());
lstCSVRowData
.add(replaceStr(logicDataRow.getMKR_NAM_RYK()));
lstCSVRowData.add(StringUtil.unformatDate(logicDataRow
.getSIR_KZY_YMD()));
lstCSVRowData.add(StringUtil
.unformatDate(replaceStr(logicDataRow
.getSRS_NOU_YMD())));
lstCSVRowData
.add(replaceStr(logicDataRow.getSRS_DEN_NUM()));
lstCSVData.add(lstCSVRowData);
}
}
csvWriter.write(strFirstTitle, lstCSVData);
} catch(Exception){//do nothing for it}
finally {
if (objPrWriter != null) {
objPrWriter.close();
objPrWriter = null;
}
if (objBAOStream != null) {
objBAOStream.close();
}
previousForm.reset(mapping, request);
}
出现的问题是文件出来了,但是数据没有加载,其实很简单,类已经GET异常,但是却什么也没有做,代码继续往下执行导致了这样的结果。
这样的情况还有很多类型。
1.预防的方法不适用于出现的异常或错误。
2.出现的异常或错误过于宏观。
当然这样的方式还有很多情况,换句话讲,我们不应该预防错误,而应该主动的将其爆发出来。这样的方式有如下的几点好处:
1.方便了测试。
2.降低了偶然性错误,降低了时间性错误。
3.降低了后期维护的成本。
当然好处不止这么多,但是我们要做的需要如下几点:
A:采用预防性思维但是不要采用预防性编程。
B:制定文档,针对各种类型的错误制定解决方案,这样可以达到程序的规范性。
C:程序开发之时要采用,注释之类的标签,也可制定既定方案。
D:最后产品交付之时采用统一处理方式。
- 进攻性编程规范
- 【规范】编程注释规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范:
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范
- 编程规范!
- 在Red Hat Linux ES4 上安装Oracle 9.2.0.4
- 在Linux上升级Oracle9.2.0.4到9.2.0.7
- 【职业规划】了解自己~
- 美国朋友来中国
- 基于WinCE的I2C驱动程序设计
- 进攻性编程规范
- ASPUpLoad 文件上传
- 给XP的右键菜单增加“在命令行中打开这里……”功能
- EVC入门之一: 实现远程调试的最佳硬件途径
- arm wince 如何点亮ep9315的两个led灯
- wince下访问io端口的经验
- DLTK是什么?
- 正则表达式经典教程
- 转载:C++库大汇