编程质量提高建议总结1(持续总结)
1.混淆字母要明显
比如
long i = 1l; |
最好写成
long i = 1L; |
字母意义突出明显。
2.常量定义不要包含非常量因子
final static long a = 当前日期的long数值 |
3.变长方法重载JVM优先采用最精确的重载方法
4.变长参数如果调用者传的是null,那么就不好应付了,应该是让JVM知道客户端显示调用的是哪个类型的变长参数,哪怕值是null,都可以编译过去。
5.自增操作千万不要和自己赋值在一起
a=a++; |
这种操作是十分不可取的。
6.如果自身的静态变量与import的静态变量有冲突,则JVM编译器会遵循最短路径的原则使用静态值。
7.final变量尽量单纯
8.switch-case-别忘记break
9.在实际开发中,如果某个历史类class文件变更了,最好重新build整个项目,否则,可能造成的现象是:牵一发而错全身。
10.判断奇偶数用偶数作为标准
11.数值位数敏感的使用NumberFormat工具进行格式处理
NumberFormat f = new DecimalFormat("#.##"); f.format(10.00-9.60) |
或者使用更加敏感的数值运算BigDecimal类型,或者直接使用整形扩大1000倍,运算后再缩小1000倍。
12.数值运算时注意数值类型的最大值,一般发生在int与long之间存在运算的时候
13.当int或者long的最大值与其他的数值参与运算的时候,会发生不能预期的效果
14.对于外界的参数值永远抱着怀疑、需要验证的态度,包括null空指针异常
15.==;<;>的操作符要注意。==相对于对象只是比较指针(物理地址),在简单数值类型中比较的是数值,而<与>只能用于数值的包装类或者简单数值。
16.在Integer使用时,在数值-128至127之间的数会被缓存到整型池中。
17.数值使用的时候,如果没有什么复杂的运算逻辑,使用原型,最好
18.对象展现为2面,一面是具体实际类型,一种是表面类型。在实例方法被调用的时候展现出来的是实际类型,静态方法被调用的时候展现出来的是表面类型。
19.面向对象的设计原则,对象的构造函数要尽量简单,不要含有复杂的业务逻辑,仅仅就是初始化成员变量。
20.执行块语句{}可以提炼出重复的业务逻辑,构造函数都是先执行执行块语句再在自己的逻辑中执行。
21.保证工具类不能实例化,反射也不能调到构造函数
private A(){throw new Error("错误,不能实例化工具类");} |
22.覆写toString方法输出的内容有助于程序调试
23.不到万不得已,不要手工FullGC
24.为了编码统一,一律调成UTF-8编码
25.变长数组采用数组拷贝的原理完成扩容的
26.泛型要规范使用,尤其是集合,数组操作的时候,泛型一定要加上。淘汰无泛型的时代
27.以Array为底层实现的集合,在遍历的时候使用下标for循环的效率比较高,因为实现了随机读取接口,表明元素间无任何上下行关系。如果以链表结构方式实现的集合,最好使用for-each的方式遍历,底层使用迭代器模式,适用于链表的形式。
28.两个不同类型的集合,只要是里面的元素相等,比较结果就想等。
29.List的asList方法生成的List只读,不能做任何的add与remove的变更性操作。
30.List的子列表仅仅是原始列表的视图,子列表依然保持元列表元素的引用,使用子列表处理局部元素数据的时候效率更高。
31.二分查找算法使用的前提是元素是已经按照一定的规律排序好的
32.ArrayList与HashMap底层都是基于数组实现,ArrayList扩容是1.5倍,而HashMap扩容则是2倍。
33.集合中TreeSet排序需要使用List解决,Collections.sort()对list进行重新排序。
34.commons-collections、google-collections是值得拿来使用的比JDK提供的自身集合类要优越的集合工具包。
35.Java的泛型在编译期间有效,运行期间会被擦除
36.反射机制性能不一定差,有人提出没有因为反射而导致程序运行效率变差的。
37.按照系统业务需要封装自己的异常类,让运营维护的人员也能看得懂。
38.Java分层是不可避免的,构建良好的Exception异常链是决定软件可维护性的关键
39.在JDK1.7之前,finally代码块最好仅仅作为资源的回收,不要做任何的逻辑处理或者返回操作。
40.最好将方法可能出现的异常作为显示的受检异常(接口规范中明确指定要抛出哪些异常)
41.线程的优先级数字的底层,依赖于操作系统对线程资源占CPU的具体实现。优先级一般是1、5、10这三种等级体现最佳。
42.异步运算考虑使用Callable接口,实现该接口的call方法的返回值。可以得知线程运行的状况。通过配合Future的submit方法执行具有返回值的线程。可以控制并行计算的能力。
43.new对象比克隆对象效率高一些
44.位操作比直接的加减乘除操作要快几个数量级,但是可读性差
45.适时调控JVM参数
46.处理日期可以采用Joda工具包
47.开源技术的选型基本原则是:广而用之;社区背景硬;专一(做的有深度);唯一(不要让一个项目同时存在两个功能一样的开源框架)
48.永远保持代码+注释的好习惯
49.//TODO注释让开发人员只好还有什么没做的
50.多总结
相关推荐
以下是一些常见的编程报错总结及其可能的原因 为了有效管理和预防编程报错,建议采取以下措施: 1、编写清晰的代码:确保代码易于理解和维护,遵循命名约定和编码规范。 2、使用单元测试:编写测试用例来验证代码...
标题:总结Java编程中的经验教训 在Java编程的漫长历程中,无数开发者通过实践与失败积累了宝贵的经验教训,这些经验和教训对于新晋程序员而言,是避免重蹈覆辙的捷径,也是提升代码质量和开发效率的关键。以下是从...
**高质量编程指南** ...总结,高质量编程不仅仅是写出没有语法错误的代码,而是关于代码的清晰度、可读性、可扩展性和性能。遵循上述原则和实践,可以帮助程序员编写出更可靠、更易于维护的软件。
总结来说,提升编程能力需要个人兴趣、团队协作和实战经验三者相结合。通过参与自己感兴趣的事情,你可以保持学习的激情,提高解决问题的能力;通过团队合作,你可以提前适应未来的职场环境,提升你的团队协作能力;...
### 高质量C编程知识点概览 #### 一、文件结构 **1.1 版权和版本声明** - **知识点**: 在每个源文件顶部添加版权和版本声明的重要性。 - **详细解释**: 源文件顶部的版权声明可以保护开发者或组织的知识产权,明确...
为了提高文章质量,作者鼓励读者提出反馈和建议,并承诺会及时进行修正。 #### 4. **已发布的章节概览** - **已发布章节**:截至2012年4月3日,已发布了27章,涵盖了从基本的字符串操作到复杂的算法设计等多个方面...
在编程的世界里,技巧是提升效率和质量的关键因素。这篇"编程技巧总结"涵盖了多年编程经验的精华,旨在帮助开发者更好地理解和...在“编程技巧总结”中,你将找到更多具体的实例和建议,帮助你在编程旅程中不断进步。
- **有益建议**:积累实践经验,不断总结教训,形成自己的编程风格。 #### 结论 高质量的C/C++编程不仅涉及到技术细节,还包括良好的编码习惯和团队协作精神。遵循以上原则,可以显著提高代码的质量和可维护性。...
8. **持续集成**:集成静态代码分析工具,如Resharper或SonarQube,以自动检查代码质量。 9. **版本控制**:使用版本控制系统(如Git)管理代码,保持代码历史记录和协同编辑。 遵循这些C#编程规范,可以显著提升...
- **实践建议**:使用`const`提高代码质量和安全性。 **11.2 提高程序的效率** - **方法**:优化算法,减少不必要的计算。 - **实践建议**:平衡代码的可读性和性能。 **11.3 一些有益的建议** - **总结**:持续...
《高质量C++编程指南》应运而生,为开发者提供了详尽的指导和建议,以帮助他们提升编程质量,写出更加清晰、可读、易于维护的C++代码。 在编写高质量C++代码的过程中,程序的文件结构至关重要。良好的文件结构不仅...
### 知识点总结 #### 1. **程序员编程艺术系列概述** - **主题与目的**:本系列文章主要围绕“面试”、“算法”、“编程”三大主题进行展开,旨在帮助程序员提高编程能力和掌握高效算法解决实际问题的方法。 - **...
为了提高C语言的教学质量,建议从以下几个方面入手:首先,制定合理的教学计划是教学质量提高的基础,这包括对专业需求和学生基础的研究;其次,教材的建设要符合学生的特点;再次,教学方法和考核方式也需要进行...