`
suhuanzheng7784877
  • 浏览: 704010 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47743
社区版块
存档分类
最新评论

编程质量提高建议总结1(持续总结)

阅读更多

编程质量提高建议总结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.数值运算时注意数值类型的最大值,一般发生在intlong之间存在运算的时候

13.int或者long的最大值与其他的数值参与运算的时候,会发生不能预期的效果

14.对于外界的参数值永远抱着怀疑、需要验证的态度,包括null空指针异常

15.==<>的操作符要注意。==相对于对象只是比较指针(物理地址),在简单数值类型中比较的是数值,而<>只能用于数值的包装类或者简单数值。

16.Integer使用时,在数值-128127之间的数会被缓存到整型池中。

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.ListasList方法生成的List只读,不能做任何的addremove的变更性操作。

30.List的子列表仅仅是原始列表的视图,子列表依然保持元列表元素的引用,使用子列表处理局部元素数据的时候效率更高。

31.二分查找算法使用的前提是元素是已经按照一定的规律排序好的

32.ArrayListHashMap底层都是基于数组实现,ArrayList扩容是1.5倍,而HashMap扩容则是2倍。

33.集合中TreeSet排序需要使用List解决,Collections.sort()list进行重新排序。

34.commons-collectionsgoogle-collections是值得拿来使用的比JDK提供的自身集合类要优越的集合工具包。

35.Java的泛型在编译期间有效,运行期间会被擦除

36.反射机制性能不一定差,有人提出没有因为反射而导致程序运行效率变差的。

37.按照系统业务需要封装自己的异常类,让运营维护的人员也能看得懂。

38.Java分层是不可避免的,构建良好的Exception异常链是决定软件可维护性的关键

39.JDK1.7之前,finally代码块最好仅仅作为资源的回收,不要做任何的逻辑处理或者返回操作。

40.最好将方法可能出现的异常作为显示的受检异常(接口规范中明确指定要抛出哪些异常)

41.线程的优先级数字的底层,依赖于操作系统对线程资源占CPU的具体实现。优先级一般是1510这三种等级体现最佳。

42.异步运算考虑使用Callable接口,实现该接口的call方法的返回值。可以得知线程运行的状况。通过配合Futuresubmit方法执行具有返回值的线程。可以控制并行计算的能力。

43.new对象比克隆对象效率高一些

44.位操作比直接的加减乘除操作要快几个数量级,但是可读性差

45.适时调控JVM参数

46.处理日期可以采用Joda工具包

47.开源技术的选型基本原则是:广而用之;社区背景硬;专一(做的有深度);唯一(不要让一个项目同时存在两个功能一样的开源框架)

48.永远保持代码+注释的好习惯

49.//TODO注释让开发人员只好还有什么没做的

50.多总结

分享到:
评论

相关推荐

    编程报错总结及其可能的原因.pdf

    以下是一些常见的编程报错总结及其可能的原因 为了有效管理和预防编程报错,建议采取以下措施: 1、编写清晰的代码:确保代码易于理解和维护,遵循命名约定和编码规范。 2、使用单元测试:编写测试用例来验证代码...

    总结java编程中的经验教训

    标题:总结Java编程中的经验教训 在Java编程的漫长历程中,无数开发者通过实践与失败积累了宝贵的经验教训,这些经验和教训对于新晋程序员而言,是避免重蹈覆辙的捷径,也是提升代码质量和开发效率的关键。以下是从...

    高质量编程指南(有笔记)

    **高质量编程指南** ...总结,高质量编程不仅仅是写出没有语法错误的代码,而是关于代码的清晰度、可读性、可扩展性和性能。遵循上述原则和实践,可以帮助程序员编写出更可靠、更易于维护的软件。

    编程能力提升建议.pdf

    总结来说,提升编程能力需要个人兴趣、团队协作和实战经验三者相结合。通过参与自己感兴趣的事情,你可以保持学习的激情,提高解决问题的能力;通过团队合作,你可以提前适应未来的职场环境,提升你的团队协作能力;...

    高质量c编程.pdf

    ### 高质量C编程知识点概览 #### 一、文件结构 **1.1 版权和版本声明** - **知识点**: 在每个源文件顶部添加版权和版本声明的重要性。 - **详细解释**: 源文件顶部的版权声明可以保护开发者或组织的知识产权,明确...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)

    为了提高文章质量,作者鼓励读者提出反馈和建议,并承诺会及时进行修正。 #### 4. **已发布的章节概览** - **已发布章节**:截至2012年4月3日,已发布了27章,涵盖了从基本的字符串操作到复杂的算法设计等多个方面...

    编程技巧总结

    在编程的世界里,技巧是提升效率和质量的关键因素。这篇"编程技巧总结"涵盖了多年编程经验的精华,旨在帮助开发者更好地理解和...在“编程技巧总结”中,你将找到更多具体的实例和建议,帮助你在编程旅程中不断进步。

    高质量的C编程.pdf

    - **有益建议**:积累实践经验,不断总结教训,形成自己的编程风格。 #### 结论 高质量的C/C++编程不仅涉及到技术细节,还包括良好的编码习惯和团队协作精神。遵循以上原则,可以显著提高代码的质量和可维护性。...

    C# 编程规范总结

    8. **持续集成**:集成静态代码分析工具,如Resharper或SonarQube,以自动检查代码质量。 9. **版本控制**:使用版本控制系统(如Git)管理代码,保持代码历史记录和协同编辑。 遵循这些C#编程规范,可以显著提升...

    高质量C++/C编程指南

    - **实践建议**:使用`const`提高代码质量和安全性。 **11.2 提高程序的效率** - **方法**:优化算法,减少不必要的计算。 - **实践建议**:平衡代码的可读性和性能。 **11.3 一些有益的建议** - **总结**:持续...

    高质量C++编程指南.doc

    《高质量C++编程指南》应运而生,为开发者提供了详尽的指导和建议,以帮助他们提升编程质量,写出更加清晰、可读、易于维护的C++代码。 在编写高质量C++代码的过程中,程序的文件结构至关重要。良好的文件结构不仅...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)(by_July)定稿版.pdf

    ### 知识点总结 #### 1. **程序员编程艺术系列概述** - **主题与目的**:本系列文章主要围绕“面试”、“算法”、“编程”三大主题进行展开,旨在帮助程序员提高编程能力和掌握高效算法解决实际问题的方法。 - **...

    提高C语言教学质量的几点建议.pdf

    为了提高C语言的教学质量,建议从以下几个方面入手:首先,制定合理的教学计划是教学质量提高的基础,这包括对专业需求和学生基础的研究;其次,教材的建设要符合学生的特点;再次,教学方法和考核方式也需要进行...

Global site tag (gtag.js) - Google Analytics