先汇总一下错误的分类吧
1 全角问题
2 =和==的问题
3 空格问题
4 拼写问题
5 疏忽,忘记做该做的事情
6 新东西,不是很熟悉
下面是明细,呵呵呵。
1 老紫竹(java2000_net)
我最难忘的一次,是自作聪明的在一个for循环后面加上了一个分号,而且是在大量的代码重构之后,运行时偶尔发生这个错误。
大概用了我近1周的时间。
从那之后,我的代码的大括号,就都放在代码行的后面了!
1. for(int i=0;i<=10;i++);
2. {
3. //
4. }
for(int i=0;i<=10;i++);
{
//
}
1. for(int i=0;i<=10;i++);{
2. //
3. }
for(int i=0;i<=10;i++);{
//
}
编辑器格式化代码时,可以有很大的帮助。
说说大家曾经常犯的低级错误吧,也好让其它朋友有个心理准备,想拿块豆腐砸自己脑袋的冲动少几次。
2 jsp页面莫名的报空指针,而且有时出有时不出。最后发现是jsp代码里混了个全角的空格,排版比较乱的时候看不出来。然后那空格被当变量名的一部分了,偏偏那变量还不常用。悲剧啊( ̄(工) ̄)
3 当年用vc,貌似写个类似于jTable的东西,在我的机器上一切都好,在老板(小公司,cto也是老板之一)的机器上一跑就死。。。。。。。。然后发现,我的机器分辨率是640×480,老板的是800×600的,结果数组溢出。。。。。。。
4 写了2个preparestatement,一顿addbatch,然而最后只写了一个preparestatement.executeBatch();找了n长时间才看到问题所在。
5 三层架构里面的业务逻辑层比如:
1. public bool Add(hLink.Model.FavoriteInfo model) {
2. return dal.Add(model) > 0;
3. }
public bool Add(hLink.Model.FavoriteInfo model) {
return dal.Add(model) > 0;
}
写成了
1. public bool Add(hLink.Model.FavoriteInfo model) {
2. return Add(model) > 0;
3. }
public bool Add(hLink.Model.FavoriteInfo model) {
return Add(model) > 0;
}
还好碰到了一次,以后报stackoverflow...异常就知道什么错了,呵呵、
6 struct CXTEST_DAT
{
...
WORD wLen;
...
}
int TestData(..., DWORD dwLen);
使用时:
CXTEST_DAT stData;
TestData(..., stData.wLen);
自动扩展为DWORD后,长度总是不对
7 我也经常犯低级错误,但我觉得并不可笑,每次发现自己犯低级错误后,自己的印象也更加深刻,重复犯错的机率就小了很多。
比如,我第一次使用Java枚举时是这样写:
1. /**
2. * SQLCommandType SQL命令类型枚举
3. * @author CodingMouse
4. * @version 1.0.0.1
5. */
6. public enum SQLCommandType {
7.
8. /**
9. * SQL查询数据命令
10. */
11. SELECT,
12. /**
13. * SQL插入数据命令
14. */
15. INSERT,
16. /**
17. * SQL修改数据命令
18. */
19. UPDATE,
20. /**
21. * SQL删除数据命令
22. */
23. DELETE
24.
25. }
/**
* SQLCommandType SQL命令类型枚举
* @author CodingMouse
* @version 1.0.0.1
*/
public enum SQLCommandType {
/**
* SQL查询数据命令
*/
SELECT,
/**
* SQL插入数据命令
*/
INSERT,
/**
* SQL修改数据命令
*/
UPDATE,
/**
* SQL删除数据命令
*/
DELETE
}
当在方法中switch传入的枚举参数值时:
1. switch(枚举变量) {
2. case SQLCommandType.SELECT
3. // 中间的逻辑处理
4. break;
5. case SQLCommandType.INSERT
6. ......
7. }
switch(枚举变量) {
case SQLCommandType.SELECT
// 中间的逻辑处理
break;
case SQLCommandType.INSERT
......
}
语法老报错,却不知道怎么回事,明明Java中的switch分支是支持枚举的啊?
后来摆渡了一下才知道原来switch分支中case枚举时是不需要加枚举类型前缀的。
8 oracle ,写sql 语句时候 怎么老是提示错误 ,语句老长 ,调试了一天 ,眼睛看花了 ,结果一看 ,掉了个冒号!!
老紫竹的家
9 又一次 装了个防火墙 运行myeclipse的时候 报错,说端口有问题 ,我还以为是被占用 或者tomcat的问题 弄了半天 百度 Google 都无果,猛然发现是被防火墙拦截了
10 struts.xml ------>sturts.xml
11 用C言语时
if(i=1)
{
}本来我是想判断真假
结果......
12 在修改配置文件的时候,就因为一个空格,而找了半天的错误
老紫竹的家
13 在维护公司一个比较老的项目的时候,自作聪明地写了这么一个类(主要是为了共用数据库连接)
public class DataQuery{
//静态的connection
private static Connection con=ConnectionFactory.getConnection();
private Collection <User> getUsers(int groupId){
Statement st=null;
ResultSet rs=null;
try{
st=con.createStatement();
String SQL="......";
......
}catch(Exception e){
e.printStackTrace();
}
}
//其他查询方法,共用一个connection......
}
因为这个项目已经运行了5年了,Struts1.1的时候就做的这个项目,老紫竹的家实在没有办法在里面配连接池,于是自作聪明在里面做了这种事
唉
后果很显然啊
要么是connection太多,要么是某个地方把connection关了导致其他方法抛空指针
还好,出问题的时候拿过来跟了一把马上意识到了这个愚蠢的问题
唉。。。
14 以前犯过一个错误,在while()中==写成=了。
因为开始的时候写的是正确的,后来不知道怎么不小心误操作删掉一个等号,结果程序死活不对了。当时是在一个嵌入式平台上,开发环境很垃圾,所以还老以为是编译环境的bug。
昨天写程序调出了n个bug,一个是在finally加返回语句了,程序输出的正好有别的异常,所以没往这考虑。搞了半个下午才发现问题。
还有指针的问题是最让人头疼的了。
15 用中文输入法输入全角的分号,结果编译不通过,还查不出原因
老紫竹的家
16 select * from a where a.idin(.....)
17 前10分钟写JAVA代码,写好后再写javascript代码
错误:
for(int i = 0 ; i < xxx.length; i++){
}
正确:
for(var i = 0 ; i < xxx.length; i++){
}
老紫竹备注:这个错误太长见了,我也经常如此
18 我的第一个错误是,UPDATE 是后面没有加条件,结果,所有数据全部,UPdate了,呵呵,老板猛劈!!!
19 有此写存储过程传进来的参数USERId, 有张涉及到的表有字段userId
存储过程有一个条件为 update *** where userId = USERID;
把数据库干翻了,后悔得要死。
不区分大小写啊!
20 把表单里面的input标签的类型写成了submit,本来这是正常的,但是我的目的是想在input类型中触发某一个方法,然后在页面上显示相应的数据,并不是想提交整个表单,结果我一点input中的按钮,页面始终没有反应,新数据就是不能够显示,搞了整整两天才发现这个简单的问题!
21 for (int i = 0,len = arr.size(); i < len; i++) {
temp = arr.get(0);
}
。。。循环下来都取的第一个元素。。。
22 改linux内核的时候缓冲区长度定义为128字节,后来改了方案,老紫竹的家需要512字节的缓冲区,忘了改定义,结果一赋值缓冲区溢出,内核崩溃,查了几个月才查出是什么原因
23 写SQL存储过程的时候拼接字符串的长度给的太小,导致多条件查询的时候总是出现bad results。。。
24 VB的代码
FOR I=1 to N
Next
忘记给I加一了
老紫竹的家
25 操作注册表是造成了溢出,把堆破坏了,造成了之后的代码,只要申请new,malloc就出错,查了半天才查出来。
主要是写注册表的函数的参数是传出参数,返回指超出了定义的长度。
还有就是c下,segment错误, 数组越界,很难查,都是运行时出错, 访问了不能访问或无效的地址。
26 嵌套循环用同一个变量:
1. int i=0;
2. while(i<10){
3. for(i=0;i<5;i++){
4. ....
5. }
6. }
int i=0;
while(i<10){
for(i=0;i<5;i++){
....
}
}
27 印象最深刻的就是c#的一个循环
if后面忘加{}
调了一个下午
28 引用窗体类指针是直接定义头文件用 没有在App中存放 造成指针不一样,调不出相应成员(VC)
29
1. Sring date = request.getParameter("date");
2.
3. if(!"".equals("date")){
4. .....
5. }
6.
7. ........
Sring date = request.getParameter("date");
if(!"".equals("date")){
.....
}
........
最低级的错误......
老紫竹备注:我也犯过多次,习惯的就把双引号加上去了
30 循环变量搞错了
for( int i=0; i!=5; ++i )
{
for( int j=0 j!=5; ++i )
{
31 记得初学Delphi 的时候,把程序代码保存在了一个中文命名的目录下,按F9 编译加运行,
始终运行失败,到处找人帮忙看,整个项目组高手都找遍了,都觉得奇怪,折腾了好久,都解决不了,各种方法都用尽了,
就是不能正常运行,后来把程序重新抄了一遍,换了个文件夹,问题解决了。
从那以后再也不敢把程序放在中文文件夹了,这事过去五六年了还记得。
老紫竹的家
32 打包的时候不修改数据库配置文件,然用户在测试数据库上跑
33 昨晚写条件语句时把If()的括号输成了全角的格式。偏偏那个IF括号还是嵌套的,盛怒之下卸掉了所有中文输入法,今天又重新装上
34 一次用了ImageButton,结果又用js进行的提交,照成了冗余数据,后来才知道ImageButton是会submit的~
35 数据库时的case语句
case when then
后面总是忘了写end
36 写SQL语句用全角的逗号然后调试总是报sql语句错误动员很多同事帮我查错,最后发现被同事鄙视很久
37 我最近也在维护公司的一个网站,发现原来写程序的那个人也是用了全局的静态的连接,导致访问的人多时老是出现数据列不存在的错误,他竟然在数据层中用一个这样的变量,搞得上面说我写的程序有问题,自从修改后就没出现不存在数据列的问题了.呵呵.
老紫竹备注: static 这东西,老紫竹的家你一定要知道他到死是干啥的再用,否则你还是去掉比较保险,虽然浪费点内存。但问题出现的越早越好啊。
38 一个变量命名中的0写成O,不知道几个兄弟可以不戴眼镜找出来
39 form写成了from。。。。。。。
发表于 @ 2009年04月22日 20:03:00 | 评论( 60 ) | 编辑| 举报| 收藏
旧一篇:CSDN的相册里如何圈人?圈人功能如何使用? | 新一篇:庆祝CSDN的个人博客访问量排名进入50名
发表于2009年4月23日 8:18:58 IP:举报删除
似乎这些错误我都犯过,呵呵,收藏了�?d=0.8643161600853919
发表于2009年4月23日 11:06:31 IP:举报删除
18 我的第一个错误是,UPDATE 是后面没有加条件,结果,所有数据全部,UPdate了,呵呵,老板猛劈!!!这个我也遇到过,直接将数据库中几万条数据update了,幸好有备份,庐山瀑布汗,经理看了我良久,没说话�?d=0.4256436878081802
wlkjhxd 发表于2009年4月23日 13:17:25 IP:举报删除
19 有此写存储过程传进来的参数USERId, 有张涉及到的表有字段userId 存储过程有一个条件为 update *** where userId = USERID; 把数据库干翻了,后悔得要死。 不区分大小写啊! 就是区分大小写这样也不对滴,要这样update *** where userId = @USERID;
skyscraping 发表于2009年4月23日 13:18:56 IP:举报删除
恩,有几个错误我也犯过。。。呵呵。。。顶。。。
w50698942 发表于2009年4月23日 16:33:33 IP:举报删除
.......
t134679 发表于2009年4月23日 16:38:11 IP:举报删除
所以做什么事都要确保万无一失。特别是做数据库的。一不小心,一键下去,公司所有的数据将受到极大的破坏。所以程序员从第一天编写代码开始就要养成认真的习惯。
x5115x 发表于2009年4月23日 19:29:58 IP:举报删除
错误人人有,不要天天犯就行了,没有错误,何来经验?
kidd2829 发表于2009年4月23日 22:38:47 IP:举报删除
有些错误我也犯过, 呵呵
zhaowei_520 发表于2009年4月24日 8:43:18 IP:举报删除
总结的比较好!
发表于2009年4月24日 8:56:07 IP:举报删除
有一段时间写了php然后又去写java..到java里面就开始写..function some(){}........编译怎么报错�?...停了一�?..�?..哈哈哈哈..............................................还有就是在表单提交的时�?..每次都想数据库插入两次数�?.应为用js来提�?.这个错误到目前为止我犯了三次..实在是汗�?d=0.8489799914180003
zwd0971 发表于2009年4月24日 8:57:02 IP:举报删除
自作聪明写一个变量类型 然后选用自动IMPORT的时候选错了...
发表于2009年4月24日 11:16:40 IP:举报删除
唉!我们常犯的错误啊!深表同情!
ViewStates 发表于2009年4月24日 11:18:01 IP:举报删除
public class SthDAL{ private string strSQL=string.Empty; public XXX GetData() { strSQL="select ...."; }}为了写的方便,经常在类中定义一个STRSQL的变量,有时就会写成strSQL ="select...";结果SQL语句老报错。。。。
发表于2009年4月24日 11:54:45 IP:举报删除
数据库这个错误有点危�?d=0.7113930267868722
silence2006 发表于2009年4月24日 12:31:28 IP:举报删除
刚犯的错 update忘了写条件 结果数据库中....... ....
发表于2009年4月24日 13:14:18 IP:举报删除
又一次在Oracle数据库里写语句,跟新后没有写 commit;死活报错,还以为是SQL语句写错了,找了半天才恍然大�?d=0.3767848132016922
bigmartin 发表于2009年4月24日 15:01:02 IP:举报删除
把数据库里“日期”的字段名定义成了 date结果一处理日期就出错后来把 date 改成 riqi 才算没事
发表于2009年4月24日 23:26:03 IP:举报删除
呵呵,收藏您的文章的啦!我也来说一个吧,SQL中如果有表叫user的话,代码的SQL语句中一定要写成[user]而不是user,否则就于SQL的关键字冲突了�?d=0.9849085576887314
angelsinklow 发表于2009年4月25日 0:19:46 IP:举报删除
为了预防我也犯同样的错误 收藏了
jichunxu 发表于2009年4月25日 8:49:18 IP:举报删除
这些错误貌似我也犯过
zss_dolphin 发表于2009年4月25日 9:34:52 IP:举报删除
for循环后面加上了一个分号这是我学习C语言的时候也就是我刚刚学习编程的时候犯的第一个错误,结果找了一天,还被老师狠狠的劈了一顿!!!印象深刻啊!
tjzero_sapce 发表于2009年4月25日 11:00:06 IP:举报删除
真没想到 这么牛的人也能范这些错误 , 我曾经 也范过类似的错误
发表于2009年4月25日 18:35:47 IP:举报删除
这些错误再学习中经常碰到,以后一定要注意�?d=0.19851834687320602
zfsn7722483 发表于2009年4月25日 19:09:54 IP:举报删除
为了预防我也犯同样的错误 收藏了
发表于2009年4月25日 20:59:16 IP:举报删除
struts.xml ---> Struts.xml
发表于2009年4月26日 14:22:28 IP:举报删除
还记得刚开始写数据库的操作代码,单引号和双引号老是搞不清,很是郁闷,还有就是from写成form,update的时候条件弄错,那叫一个晕哦。。。。 while()中的==号也经常弄错。。。看来要把常量写在左边,不然到死都查不出来为什么。。�?d=0.2819692492535695
fujian0910 发表于2009年4月26日 21:16:37 IP:举报删除
那些数据库方面的貌似 我都遇到过 汗!!
zhangzhili5188 发表于2009年4月26日 21:36:33 IP:举报删除
学习一下,以后注意了。
发表于2009年4月27日 12:50:36 IP:举报删除
手册�?d=0.2539390578691142
发表于2009年4月27日 14:22:11 IP:举报删除
谢谢分享,学习了。有些错误真是很眼熟啊。呵呵�?d=0.3276260962506669
发表于2009年4月27日 16:41:35 IP:举报删除
谢谢提醒�?里面的错误都比较的熟�?d=0.8254942663233766
albert_lee博客专家 发表于2009年4月27日 17:24:24 IP:举报删除
如果把程序员当作用户语言当作产品的话,让用户犯这么多低级的错误,难道不是产品的问题么?犯了错还要用户说:是我自己的错!
发表于2009年4月27日 22:28:00 IP:举报删除
�?分析的很透彻�?见过好多错误�?d=0.21420970995297733
发表于2009年4月27日 23:05:13 IP:举报删除
很多�?经常�?呵呵
发表于2009年4月28日 12:11:54 IP:举报删除
学习 收藏�?d=0.14659476955379708
freeaccept 发表于2009年4月28日 14:38:59 IP:举报删除
这个可以当个错题集,面试技术人员的时候,从里面抽两题。哈哈。
zyq5945 发表于2009年4月29日 9:32:09 IP:举报删除
好像全角和半角问题这个问题还挺多的啊~~~~~~~~
junyi2003 发表于2009年4月29日 9:48:36 IP:举报删除
18 我的第一个错误是,UPDATE 是后面没有加条件,结果,所有数据全部,UPdate了,呵呵,老板猛劈!!!-------------------良好的习惯可以避免大多数错误,先 select 一把看需要更改的字段并加上条件,别加Order by/Group by.然后在Update ....set ....替换 select [fields] from table
yetuweiba 发表于2009年4月29日 17:23:10 IP:举报删除
刚学数据库,上面sql的几乎都碰到过
kdpujie 发表于2009年4月29日 18:57:44 IP:举报删除
顶,老师!我最带错==写成=。结果找半天!
发表于2009年4月30日 8:22:36 IP:举报删除
我的第一个错误也是update时没带条件,结果数据库路�?0万用户数据全部出错,导致了极其坏的影响,差点废了我们的项目,结果经理和我一起做了很长时间的恢复才搞过来,结果被通报在公司批评了一次,还扣发了300块钱的工资。。。。爆汗呀!!!搞得我现在一听数据库就全身冒汗!真是一次惨痛的教训呀 �?d=0.7310119106746982
kfj2eegood520 发表于2009年4月30日 9:33:31 IP:举报删除
好好学习,避免犯这些细节错误!
army27 发表于2009年4月30日 10:04:12 IP:举报删除
在用Ajax实现页面与后台的交互时,没加out.close(); 测试了半天!总结:最好的办法是以前实现过的复制过来,手写错误的机率较高。
fengzhw 发表于2009年4月30日 11:17:13 IP:举报删除
其实这种事我也常干
发表于2009年4月30日 11:48:27 IP:举报删除
你好,请问如果我用c 编程,想实现有窗口的界�?或者说就是mfc编程,有什么好书能推荐一下的�?
jellyabcd 发表于2009年4月30日 16:07:25 IP:举报删除
总结很实际,很好!
dengke19870616 发表于2009年4月30日 16:21:20 IP:举报删除
ding....................
发表于2009年4月30日 20:53:20 IP:举报删除
我整天犯一些低级错误,比你还神经,呵呵,写的多了就好了�?d=0.914727593597124
发表于2009年5月1日 13:10:27 IP:举报删除
没办�? 有时候找到了错误 自己都吓一�?呵呵 顶!�?d=0.15734265642547013
jsm920 发表于2009年5月2日 0:12:42 IP:举报删除
太好了,就些错误真的自己都不知为什么自己就犯了!唉!
zhenglei8899 发表于2009年5月2日 16:34:48 IP:举报删除
在上面出现的大多错误都有过,GOOD
yqsshr 发表于2009年5月2日 17:06:42 IP:举报删除
以后工作了也要养成作笔记的习惯~~;-)
发表于2009年5月2日 17:48:57 IP:举报删除
学习一下,以后要注意,呵呵~
发表于2009年5月2日 20:36:28 IP:举报删除
学习下,收藏�?d=0.3960397100851367
发表于2009年5月3日 11:18:54 IP:举报删除
哇塞 看开大家都是一样的 呵呵
qingfeng0611 发表于2009年5月3日 19:00:09 IP:举报删除
学习学习
wz860106 发表于2009年5月4日 16:52:38 IP:举报删除
很好啊,学习啦,收藏先。
yue_1986_2010 发表于2009年5月5日 14:51:02 IP:举报删除
form写成了from。。。。。。。
lianda220 发表于2009年5月5日 15:13:19 IP:举报删除
总结的比较好! 顶!!
zjszjs1982 发表于2009年6月11日 18:55:00 IP:举报删除
很好,总结的很全面
分享到:
相关推荐
C++程序员容易犯的十个C#错误 C++程序员在转换到C#时,经常会遇到一些错误。本文将讨论C++程序员最容易犯的十个错误,帮助C++程序员更好地理解C#语言和.NET Framework。 错误1:析构函数上的差异 C++程序员在使用...
程序员必读经典电子书收集 包括设计模式 C++ 算法等等
网上收集的程序员漫画,《神秘的程序员们》,没事的时候可以看看,放松一下。
"Java程序员容易犯的10大低级错误" 本文总结了Java程序员容易犯的10大低级错误,旨在帮助开发人员避免这些错误,提高编程质量。下面是这10个错误的详细解释: 1. 不能用“==”比较两个字符串内容相等 在Java中,...
程序员大本营.net版,程序员的天堂,程序员的乐园,程序员的精神粮食
本资料集"程序员面试题大集合"专注于C语言的笔试题,旨在帮助求职者在企业面试和笔试中脱颖而出。 首先,我们要理解C语言的基础知识。C语言是一种结构化编程语言,它提供了丰富的控制语句,如if-else、switch-case...
【程序员的酸甜苦辣:IT行业的五味杂陈】 在IT行业中,程序员是一群特殊的存在,他们的工作生活充满了各种滋味,如同一道复杂的菜肴,包含了酸、甜、苦、辣,有时甚至还有些咸。这份“程序员的酸甜苦辣”不仅仅是对...
总的来说,程序员专用的输入法如精灵输入法,是通过提供高效便捷的编码环境,帮助程序员提升工作效率,减少错误,从而更好地投入到软件开发工作中。这样的工具对于经常进行编程工作的人员来说是非常有价值的。
程序员记事本的共享与协作功能对团队工作有极大的帮助。团队成员之间可以共享记事本中的代码片段,通过讨论和评论来优化代码,共同提高代码质量和工作效率。云同步功能让程序员不受地点限制,无论在家、办公室还是...
程序员的七大武器
如何让自己成为大牛,也许这篇文章改变你以后的人生。
《程序员教程》是一本针对初学者和有一定经验的程序员精心编写的教材,旨在全面介绍编程基础知识和实践技能。这本书以PDF格式提供,便于电子阅读和随时查阅。它涵盖了程序员需要掌握的各种关键知识点,无论你是刚踏...
程序员学长聊聊大学选课那些事儿
整体来看,文档为程序员如何在不断变化的IT行业中保持竞争力提供了一个全面的视角,涵盖了个人学习成长、技术深度追求、市场价值评估等各个方面。其中的每一个观点都值得程序员深思,并结合自身实际进行规划和实施。
java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...
程序员项目交接文档概要 IT 项目交接文档概要是程序员在项目交接过程中的重要文件,它对项目的开发、测试和维护起着至关重要的作用。本文档概要将对程序员项目交接文档的主要内容进行概要介绍。 人事模块是程序员...
大学生程序员实习报告大全.docx大学生程序员实习报告大全.docx大学生程序员实习报告大全.docx大学生程序员实习报告大全.docx大学生程序员实习报告大全.docx大学生程序员实习报告大全.docx大学生程序员实习报告大全....
程序员简历程序员简历.pdf