`
foreverandever
  • 浏览: 9148 次
  • 性别: 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】是一份针对幼儿园大班儿童设计的音乐教育活动,旨在通过学习歌曲《大意的小画家》培养孩子们的观察能力和细心做事的习惯,同时也寓教于乐,让孩子体验音乐带来的幽默感。...

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

    【标题】:“考试粗心丢分怎么办,6大妙招帮你改掉粗心的毛病.pdf” 【描述】:“考试粗心丢分怎么办,6大妙招帮你改掉粗心的毛病.pdf” 【标签】:“考试技巧,学习策略,注意力集中” 【部分内容】:粗心是许多...

    粗心的烦恼作文.doc

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

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

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

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

    1. **认识粗心的普遍性**:首先,家长应理解,粗心不只是孩子的问题,成人也会有类似的情况。孩子的粗心往往在学业成绩上表现明显,因此被放大,但其实不应过分担忧。 2. **孩子粗心的原因**: - 视觉识别和记忆...

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

    这篇名为“我战胜了粗心”的初中语文经典美文,主要讲述了作者在学习过程中与“粗心”这一问题作斗争的经历。文章通过个人的情感变化和实际事例,展现了克服粗心大意的重要性,并揭示了一些深刻的道理。 首先,文章...

    粗心原因分析及对策.doc

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

    破解孩子粗心难题.doc

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

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

    【大班音乐教育活动:歌曲《粗心的小画家》】是一个旨在通过音乐教学培养幼儿音乐素养和生活教育的活动。活动以一首歌曲为载体,通过故事讲述、歌词学习、歌唱练习、绘画改正和角色扮演等多种形式,激发幼儿的学习...

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

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

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

    在教育孩子的过程中,面对孩子因粗心导致的成绩不稳定问题,家长需要采取正确的策略来帮助孩子。首先,要认识到过度的干预可能削弱孩子的责任感和自我检查的能力。案例中的母亲原本习惯于在孩子完成作业后替她检查,...

    终于战胜了粗心精选.doc

    文档标题“终于战胜了粗心精选.doc”以及描述中提到的内容主要讲述了三个不同的故事,都是围绕作者们如何克服自己在学习和生活中粗心大意的问题。这些故事共同的主题是作者们因为粗心所遇到的挫折,以及他们采取的...

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

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

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

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

    粗心惹的祸作文.doc

    【粗心惹的祸——以作文为载体探讨注意力与责任感】 这篇名为“粗心惹的祸”的作文,是由严陵中心校二年级5班的学生晏楚奕所撰写,讲述了一个因粗心大意而导致的教训深刻的故事。故事发生在充满自然美景的蜀南竹海...

    粗心要不得作文.doc

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

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

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

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

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

    英语作业评语大全.doc

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

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

    1. **熟练度不足**:孩子在考试中出现粗心的状况,往往源于对知识的熟练程度不够。就像成年人做简单的计算题,即使简单,如果频繁练习,才能保证快速且准确。因此,解决方法是让孩子对每个知识点进行多次的复习和...

Global site tag (gtag.js) - Google Analytics