平时在写循环语句时,总是习惯性地把变量的自增都放在了for(表达式1;表达式2;表达式3)的"表达式3"语句执行,今天在调试一段源代码的时候发现,这个习惯不经意间会导致代码的健壮性受到影响,如下:
(1)平时习惯性的写法:
for(int i=0,j=0;i<currentNames.length;i++,j++) {
Name name = currentNames[i];
if(!name.isMarkedForDeleting()) {
newNames[j] = name;
}
}
这样书写时,因为变量j在每一次的循环中都会自增,而不是根据if条件是否得以执行而改变值!因此存在一个隐患,有可能导致j变量值超出了newNames的范围,从而导致IndexOutOfBoundsException异常;而如果谨慎一点写成如下的格式,就避免了不必要的错误。
(2)正确写法:
for(int i=0,j=0;i<currentNames.length;i++) {
Name name = currentNames[i];
if(!name.isMarkedForDeleting()) {
newNames[j++] = name;
}
}
j的值只会根据条件执行而得到改变,代码健壮性会更好一些。
备注,留作复习。
分享到:
相关推荐
通过高效地阅读和分析他人的代码,我们可以学习到新的编程技巧,理解不同编程范式,以及如何写出更优雅、更高效的代码。 首先,代码阅读的起点是对编程语言的基础掌握。了解并熟悉所读代码的语言特性和语法结构是必...
"MATLAB智能优化算法 从写代码到算法思想" MATLAB智能优化算法是一类利用MATLAB编程语言实现智能化优化的方法,例如随机森林、神经网络等。它们在各种实际问题中有着广泛的应用,如函数优化、数据分类和预测等。...
写代码的一些技巧,可以提高效率
内联样式(如`style="..."`)可以直接写在HTML元素中,但可能导致代码混乱;内部样式(在中的<style>...)适用于整个页面;外部样式(链接到单独的.css文件)更利于维护和复用。 5. **表格与表单**: 表格使用, ,...
以下是一些有助于写出更好代码的习惯: 1. **保持代码整洁与一致性**:遵循统一的代码风格和格式,例如,缩进、空格和命名约定。每个函数或方法应保持单一职责,避免过长的代码块。当需要添加新功能时,先考虑如何...
以下是一些关于好的程序员写代码的特点和技巧: 1. **整洁规范**:好的程序员注重代码的视觉美感,空白和注释的布局都显得错落有致,遵循统一的命名和排版规范,使得代码易于阅读和理解。 2. **命名一致性**:他们...
然而,我计划根据他人对jQuery总结的一些速度方面的技巧和一些建议,来教你提升你的JSLite和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。 首先,在脑子里牢牢记住JSLite就是...
4. **调试技巧**:在处理“没写完的代码”时,使用断点、日志记录、单元测试等调试技巧能有效定位问题。Arthas的命令如`trace`和`watch`可以动态追踪代码执行,帮助开发者了解代码实际运行路径。 5. **持续集成与...
本文将深入探讨近100个C#开发小技巧,这些技巧覆盖了从基础语法到高级特性,旨在提升开发效率,优化代码质量,并提供实际可运行的.NET实例源代码。 1. **Linq查询优化**:使用LINQ可以极大地简化数据操作,但需要...
综上所述,《代码之美》一文全面地涵盖了编写高质量代码的各种方面,旨在引导开发者提升编程技巧,打造既实用又美观的代码。通过学习和实践这些原则,我们可以写出更优秀的软件,提高开发效率,同时也为团队合作和...
《Visual C++编程技巧精选集源代码》是一个包含丰富的编程示例资源的压缩包,专为深入学习和提升VC++编程技巧而设计。这个资源集合了超过1300个实例,涵盖了各种复杂的编程概念和技术,是开发者们自我提升、实践操作...
硬编码(即在代码中直接写死的值)应当被避免,因为它们会降低代码的灵活性和可维护性。使用常量和配置文件来代替硬编码的值是更好的实践,这样可以在不修改代码的情况下轻松更改这些值。 技巧7:编写可测试的代码 ...
在电子设计领域,FPGA(Field-Programmable Gate Array)是一种广泛应用的可编程逻辑器件,它可以被配置为实现各种不同的数字...通过理解和实践这样的代码,不仅可以提高对SRAM操作的理解,还能增强Verilog编程技巧。
6. **编程技巧**:除了基础知识外,书中还会分享一些实用的编程技巧和最佳实践,如错误处理、性能优化、内存管理等,帮助开发者写出更加健壮和高效的代码。 7. **调试与测试**:作为一本全面的指南,本书还会涉及...
这份"VC++经验技巧宝典第1~5章源代码.rar"压缩包包含了书中的前五章所有示例程序,帮助读者更好地理解和应用书中讲解的技术。 首先,让我们逐一探讨这些章节可能涵盖的内容: 1. **第1章:基础环境与设置** - ...
手写代码不仅仅是简单地写出正确的代码,更是要在限定时间内理解题目要求、设计算法、调试代码,并以清晰的逻辑表达出来。在这个过程中,通过大量的练习和模仿经典的代码,程序员可以提升自己的编码技能和对算法的...
【打字游戏代码 纯C语言写】是一款利用C语言编写的打字练习软件,旨在帮助用户提高打字速度和准确性。C语言是一种基础且强大的编程语言,它以其高效、简洁和灵活性著称,因此用C语言编写打字游戏代码能够实现游戏的...
"人工智能如何让机器自动写编写程序代码!" 人工智能是否能够让机器自动写编写程序代码?这是一个具有挑战性的问题。随着电脑科技、硬件、CPU 的发展,人工智能算法所要求的计算密集型处理能够被实现。那么,人工...