`
foreverandever
  • 浏览: 9298 次
  • 性别: Icon_minigender_1
  • 来自: 云南
最近访客 更多访客>>
社区版块
存档分类
最新评论

粗心是程序员的天敌!

阅读更多
如果我不告诉你下面的代码里面有什么错:
		for(int index = 0; index < 10; index++){
			Element e = new Element("type");
			String id = "id" + index;
			e.setAttribute("id", id);
			
			for(int innerIndex = 0; innerIndex < 5; index++){
				Element ie = new Element("url-pattern");
				String pattern = "type-url-pattern #" + innerIndex;
				
				ie.setText(pattern);
				e.addContent(ie);
			}
			
			userType.addContent(e);
		}

你能发现为什么会一直出OutOfMemory错么?

粗心,可以让再好的设计都成为空想!
谨以此文,记念我的粗心!
生活如是,粗心不好。


没能发现的兄弟姐妹们在下面留个名!
分享到:
评论
29 楼 jltest 2009-04-08  
ijk啊。
真折腾到4层循环那也够复杂了。。
28 楼 kunee 2009-04-08  
函数,函数!!

看到多层循环或者多层IF else 就头晕
27 楼 ycmhn 2009-04-08  
发现了 里层循环的index++
26 楼 ray_linn 2009-04-07  
把第二层for单独放一个方法里
25 楼 kaipingk 2009-04-07  
这个算什么嘛, 在写程序的时候不要写了几百行才测试,一般写一个方法就测试一下,这种问题一下子就会发现!
24 楼 songze39 2009-04-07  
2个循环里面都是index++
23 楼 thinblue 2009-04-07  
命名的问题``
22 楼 minzaipiao 2009-04-07  
for(int innerIndex = 0; innerIndex < 5; index++){ 

index++; --->innerIndex++;
21 楼 faye.feelcool 2009-04-07  

代码大全,不错的。
我最早看的时候是2002年,当时是下了一个网上一些热心人翻译的第一版。自己用打印机打印出来,细细读了几遍受益匪浅。

最受用的就是“方法(或叫函数)”这个工具了。将问题层层分解,独立的功能就让他成为一个函数或方法,不要仅仅在需要公用的时候才想到函数,我们不仅需要给别人提供工具,更需要给自己提供工具。复杂是思维的大敌。

拆嵌套的最好的方法就是函数。循环做循环的事情,功能点做功能点的事情。如果是用函数的话是不容易发生此类问题的。不用IDE工具提醒,你一眼就能看的到。如果习惯够好的话,压根就写不出来楼主的情况的代码


for(int index = 0; index < 10; index++){ 
    Element e = new Element("type"); 
    String id = "id" + index; 
    e.setAttribute("id", id); 
    addChildContent(e); 
   
}

private void addChildContent(Element parent){
for(int innerIndex = 0; innerIndex < 5; innerIndex++){ 
        Element ie = new Element("url-pattern"); 
        String pattern = "type-url-pattern #" + innerIndex; 
         
        ie.setText(pattern); 
        parent.addContent(ie); 
    }
}
20 楼 absolute 2009-04-07  
楼主好好看看代码大全吧,你会豁然开朗的
19 楼 xzj127 2009-04-06  
无限循环!死机了吗?。。

     
18 楼 soaring 2009-04-06  
建议不要用这么容易混淆的变量,出了错误设个断点调试下很快就查出来了
17 楼 RednaxelaFX 2009-03-27  
同是论坛新手的飘过……

foreverandever 写道
其实用for(Object obj: Objects)这种方式是很不错的,只是有的时候代码就是要在这个Objects里面的第x个就要做不同的操作的时候,您会选择加一个计数器呢,或者是用常规的 for()去实现呢?


所以Ruby的Enumerable里有each_with_index,D语言的foreach语句也有可以得到index的版本;就怪Java语言太硬吧,哈哈(纯粹开玩笑

在Java里需要用到index时还是用传统的for语句合适。而IJK三位老人家也是从早期的高级编程语言开始就作为循环变量而被惯用的名字,倒也没啥不好的。只不过如果for循环是复制粘贴出来的话,漏改那么一两个变量是人之常情。所以说复制粘贴代码很邪恶……

PSP(个人软件过程)说应该养成code review的习惯。信不信PSP是一回事,写完代码之后先review过再运行或许比运行了再找错来得合算……
16 楼 foreverandever 2009-03-27  
night_stalker 写道
好吧,是我错了。请用index,innerIndex,innerOfInnerIndex……

ps:我决定以后用 index, jndex 和 kndex

以纪念 IJK 三位老人家……

我是论坛新手,也是JAVA新手。没有顶撞您的意思。我只是在上面的问题里面征求您的意见啊~
15 楼 night_stalker 2009-03-26  
好吧,是我错了。请用index,innerIndex,innerOfInnerIndex……

ps:我决定以后用 index, jndex 和 kndex

以纪念 IJK 三位老人家……
14 楼 foreverandever 2009-03-26  
night_stalker 写道
foreverandever 写道


可是当您在一个方法里面多次出现i, j, k, 您会不会觉得这些也会混 淆呢?


凡事不要绝对……i, j, k 一般只作整型循环变量。
非整型的循环变量往往不用i,j,k,如
for(Item item : itemsList)


如果无数的i, j, k和ii, jj, kk叠一起……我想是往往是程序结构有问题,写别的名字也好不了多少,抽出个函数更好吧?

其实用for(Object obj: Objects)这种方式是很不错的,只是有的时候代码就是要在这个Objects里面的第x个就要做不同的操作的时候,您会选择加一个计数器呢,或者是用常规的 for()去实现呢?
13 楼 night_stalker 2009-03-26  
foreverandever 写道


可是当您在一个方法里面多次出现i, j, k, 您会不会觉得这些也会混 淆呢?


凡事不要绝对……i, j, k 一般只作整型循环变量。
非整型的循环变量往往不用i,j,k,如
for(Item item : itemsList)


如果无数的i, j, k和ii, jj, kk叠一起……我想是往往是程序结构有问题,写别的名字也好不了多少,抽出个函数更好吧?
12 楼 foreverandever 2009-03-26  
night_stalker 写道
innerIndex这种写法,就是问题的根源。

它降低了可读性——和index容易混淆,还要打这么多字。

而且有i,j,k 这些公认的整型循环变量,为什么要用index?

是的啊。

可是当您在一个方法里面多次出现i, j, k, 您会不会觉得这些也会混 淆呢?
11 楼 night_stalker 2009-03-25  
innerIndex这种写法,就是问题的根源。

它降低了可读性——和index容易混淆,还要打这么多字。

而且有i,j,k 这些公认的整型循环变量,为什么要用index?
10 楼 luolonghao 2009-03-23  
关键还是要严谨,习惯问题啊

相关推荐

    大班音乐教案:粗心的小画家.doc

    今天,我们以《大班音乐教案:粗心的小画家》为例,探讨如何通过音乐教学活动,寓教于乐地提升孩子们的观察力、创造力与品德修养。 《大班音乐教案:粗心的小画家》是一份专门针对幼儿园大班儿童设计的音乐教育活动...

    粗心的烦恼作文.doc

    【粗心的烦恼】这篇作文揭示了一个常见的学习问题——粗心大意,它不仅影响了学生的学习成绩,也反映了个人的注意力集中与习惯养成。在本文中,作者通过自己的经历,分享了因粗心导致考试失误的心得体会,强调了粗心...

    孩子粗心,成绩不稳定怎么办?.doc

    然而,在这个过程中,家长经常会遇到孩子因为粗心而导致成绩不稳定的问题。这不仅影响孩子的学习成绩,同时也会影响到家长的教育方式和心态。那么,面对孩子的这些问题,家长应该怎么办呢?本文将根据案例,提出一...

    大班音乐教育活动:歌曲《粗心的小画家》.doc

    特别是对于大班的孩子们来说,通过歌曲《粗心的小画家》进行音乐教育活动,不仅能够培养他们的音乐素养,还能渗透生活教育,让孩子们在快乐中学习,从实践中成长。 首先,音乐活动作为幼儿教育的一种形式,具有独特...

    如何改掉粗心的坏习惯.doc

    【如何改掉粗心的坏习惯】 粗心大意是一个常见的问题,尤其在学习和工作中,经常导致不必要的错误。然而,粗心并非无药可救,实际上,它可以通过一系列策略和习惯的改变来克服。以下是一些有效的方法: 1. 仔细...

    怎样改掉孩子粗心的毛病.doc

    但是,粗心并非孩子特有的问题,成年人在日常生活中也可能会有类似表现。我们应该怎样帮助孩子改掉粗心的毛病呢?首先,我们需要了解造成孩子粗心的几个常见原因。 孩子的粗心可能是由于其视觉识别和记忆能力有限所...

    初中语文经典美文我战胜了粗心

    在学习的道路上,每个人或多或少都会遇到各种挑战,而对于成长中的初中生而言,“粗心”便是一块不小的绊脚石。一篇题为“我战胜了粗心”的初中语文经典美文,通过生动的叙述和深刻的反思,向我们展示了一名初中生...

    粗心原因分析及对策.doc

    "粗心"是许多孩子在学习中常见的问题,也让家长们感到困扰。首先,我们要了解,孩子粗心并不仅仅是他们不够认真或疏忽,这背后往往有更深层次的原因。家长在处理孩子粗心的问题时,常常陷入误区。第一个误区是认为...

    破解孩子粗心难题.doc

    【破解孩子粗心难题】 孩子的粗心大意是许多家长面临的一大挑战。家长常常对此感到焦虑,然而,一味的责备并不能解决问题。实际上,每个人都会有疏忽的时候,成年人也不例外,因此,对于孩子的粗心,家长应该采取...

    大班美术公开课粗心的小画家教案反思.docx

    大班美术公开课粗心的小画家教案反思.docx

    考试粗心丢分怎么办,6大妙招帮你改掉粗心的毛病.pdf

    因此,为了帮助广大学生克服粗心这一弱点,本篇文章将分享六种有效的策略,以助学生养成良好的学习习惯,提升考试表现。 首先,粗心的根源往往在于熟练度的不足。因此,第一条策略是提高熟练度。熟练度的提升需借助...

    终于战胜了粗心精选.doc

    本文精选了三个真实的故事,让读者一窥粗心的代价,并分享了战胜这一顽疾的宝贵经验。 第一个故事的主人公是一位三年级的小学生。在期末考试中,他在简单的数学题上犯下了计算错误,就是因为这区区几分,他与...

    为什么程序员发现不了自己的BUG

    最近在朋友圈流行了这样的一张小学数学题,当然结果是“出乎意料”,看似简单的结果,几乎很少有人作对,而分析下来的原因无非是惯性思维下的粗心导致完全错误,那么云层带大 最近在朋友圈流行了这样的一张小学数学...

    中班语言优秀公开课教案《粗心的小耗子》润新教育.txt

    中班语言优秀公开课教案《粗心的小耗子》润新教育.txt

    高中政治趣味知识期末考试后孩子说“就是粗心了其实我都会”真相却是…素材

    在高中期末考试之际,我们经常能听到孩子们在考试后无奈地抱怨:“就是粗心了,其实我都会。”这不仅是一个常见的现象,而且背后往往隐藏着更深层次的问题。粗心并非单一因素所致,它可能是熟练度不足、概念模糊、...

    粗心要不得作文.doc

    《粗心要不得》 这篇作文是一篇富有启示意义的范文,主要讲述了作者在学习过程中因为粗心导致的失误,并由此引发了对生活细节重要性的深刻反思。作文中的故事发生在一个二年级学生的数学测验中,他面对一道看似简单...

    幼儿园教案2021-大班语言教案:粗心的王阿姨.doc

    【教案主题】:本次教案的主题是“粗心的王阿姨”,旨在通过角色扮演和情境教学,帮助幼儿园大班的孩子们理解和感受粗心可能带来的问题,同时培养他们细心观察、关心他人以及良好生活习惯的能力。 【教学目标】: 1...

    解决粗心马虎问题必须对症下药.doc

    在教育领域,尤其是在培养学生写作能力的过程中,解决"粗心马虎"的问题至关重要。"粗心马虎"常常导致学生在作文中出现语法错误、拼写错误、逻辑不清等问题,这不仅影响了文章的质量,也可能阻碍学生的思维发展。下面...

    英语作业评语大全.doc

    - 粗心! - Untidy! - 杂乱无章! B. 短语评语: - Well done! - 干得好! - Neat and tidy! - 整洁美观! - Far from correct. - 远离正确答案。 - So careless! - 太粗心了! C. 语气评语: - Your English is ...

    献给php初学者(入门学习经验谈)

    程序员最忌讳浮躁,有时候发现一段程序完全找不出错误,仅仅是因为少了或多了一个符号,程序员需要的是细心,粗心的人当不了程序员! 2.php参考手册是必须熟知的,有的初学者会问一些很基础的问题,其实手册上面都有...

Global site tag (gtag.js) - Google Analytics