`
toreking
  • 浏览: 36944 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Java好习惯

 
阅读更多

养成编程开发的好习惯,做一名优秀的程序员

 

 

  • 编程规范1 >public方法参数的合法性检查应由方法本身负责,每一个public方法必须保证自己的健壮性。
错误示例: 
public String getDate(Date date) 
{ 
	//缺少入参检查 
	SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
	return sf.format(date); 
} 
正确示例: 
public String getDate(Date date) {
	if (date == null) //增加入参校验 
	{ 
		logger.log(ERROR, PROC, "getDate(): date is null"); 
		return null; 
	} 
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
		return sf.format(date); 
}
  • 编程规范2 >调用方法获取返回结果后必须进行有效性校验,以确保后续代码在运行过程中不会抛出异常或产生逻辑错误。

 

错误示例:
	public void printDate1() 
	{
		Date date = new Date();
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

                // 缺少对方法返回结果的有效性检查
		String dateStr = sf.format(date);
		System.out.println(dateStr.equals(date.toString()));
	}

正确示例:
	public void printDate2() 
	{
		Date date = new Date();
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String dateStr = sf.format(date);

		if (dateStr == null) // 增加判空
		{ 
			logger.log(ERROR, PROC, "printDate(): getDate return null");
			dateStr = date.toString();
		}
		System.out.println(dateStr.equals(date.toString()));
	}
 

 

  • 编程规范3 >在进行数据库操作或IO操作时,必须确保资源在使用完毕后得到释放,
    并且必须确保释放操作在finally中进行。
  • 编程规范4 >对于if..else if..(后续可能有多个else if..)这种类型的条件判断,最后必须包含一个else分支,避免出现分支遗漏造成错误;每个switch-case语句都必须保证有default,避免出现分支遗漏,造成错误。
  • 编程规范5 >在使用Timer或者ScheduledThreadPoolExecutor执行周期性任务时,实现Runnable接口必须在方法内捕获异常,避免因为异常抛出导致周期性任务失效,后续不会继续执行。
  • 编程规范6 >确定需要覆写对象equals()方法则必须同时覆写hashCode()方法。
  • 编程规范7 >在进行精确计算时(例如:货币计算)避免使用float和double,浮点数计算都是不精确的,必须使用BigDecimal或将浮点数运算转换为整型运算。
  • 编程规范8 >确保程序不再持有无用对象的引用,避免程序内存泄露。
  • 编程规范9 >对象比较必须使用equals而不是"=="。
  • 编程规范10 访问数组、List等容器内的元素时,必须首先检查下标是否越界,杜绝下标越界异常的发生。
  • 编程规范11 >将对象存入HashSet,或作为key存入HashMap(或HashTable)后,必须确保该对象的hashcode值不变,避免因为hashcode值变化导致不能从容器内删除该对象,进而引起内存泄露的问题。
  • 编程规范12 >在编码过程中必须在适当的位置,以适当的级别打印日志,便于代码出现问题后进行定位分析。例如:方法入口,出口以Debug打印;异常分支使用ERROR,关键参数打印使用INFO。
  • 编程规范13 >避免在程序中使用魔鬼数字,必须用有意义的常量来标识。
  • 编程规范14 >将字符串转换为数字时必须处理NumberFormatException异常。
  • 编程规范15 >在进行三个字符串(不包含三个)以上的串联操作时必须使用StringBuilder或StringBuffer,禁止使用"+"。
  • 编程规范16 >根据应用场景选择最适合的容器,避免因为容器选择不当造成程序性能问题。
  • 编程规范17 >必须在进行I/O操作时使用缓存。
  • 编程规范18 >在程序中必须考虑对象重用,避免创建不必要的垃圾对象。
    编程规范19 >对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题。
  • 编程规范20 >新起一个线程,都要使用Thread.setName("..")设置线程名。
  • 编程规范21 >线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程。禁止在循环中创建新线程,否则会引起JVM资源耗尽。
分享到:
评论

相关推荐

    25个好习惯帮你快速成为JAVA高手

    标题和描述均强调了25个好习惯对于快速成长为JAVA高手的重要性。这25个习惯不仅涵盖了JAVA语言的基础知识和核心类库的应用,还深入到了JAVA的高级特性、框架使用、数据库技术、分布式对象处理、中间件技术、XML处理...

    15个Java编程好习惯

    ### 15个Java编程好习惯详解 #### 1. 设计先行,代码随后 在开始编码之前,拥有一个正式或粗略的设计方案是至关重要的。设计阶段可以帮助开发者明确目标,规划逻辑流程,减少后期的代码重构工作。设计不必过于复杂...

    好的Java编程习惯

    作为一个java新手,好的Java编程习惯是非常重要的。

    良好的java编程习惯

    ### 良好的Java编程习惯:提升代码质量与可维护性 #### 1. 遵循KISS原则,保持代码简洁 优秀的Java程序应当遵循KISS(Keep It Simple, Stupid)原则,即保持代码的简单性和直接性。避免使用过于复杂或奇特的语法...

    JAVA编码规范 JAVA变成好习惯

    **JAVA编码规范** 在软件开发领域,编码规范是程序员遵循的一套规则和约定,旨在提高代码的可读性、可维护性和团队协作...通过遵循这些规范,可以显著提升代码质量和团队合作效率,使得JAVA编程成为一种良好的习惯。

    四个有害的java编程习惯

    编程习惯在Java开发中可能会导致代码可读性和可维护性下降。以下是对标题和描述中提到的四个有害Java编程习惯的详细解释和改进建议: 1. **变量命名没有区分** 不同类型的变量(局域变量、参数、字段)使用相同的...

    hibernate-符合Java习惯的关系数据库持久化

    “hibernate-符合Java习惯的关系数据库持久化”这一标题明确指出了我们要探讨的主题——Hibernate,这是一个非常流行的Java ORM(对象关系映射)框架,它使得Java开发者能够按照面向对象的方式来操作数据库,而无需...

    HIBERNATE符合Java习惯的关系数据库持久化

    在“HIBERNATE - 符合Java习惯的关系数据库持久化”这个主题中,我们将深入探讨以下几个核心知识点: 1. **对象关系映射(ORM)**:ORM是将数据库中的表映射为Java对象的技术,Hibernate就是这种技术的一种实现。...

    Java2Pas(Java代码转换成Delphi代码)

    3. 处理转换结果:Java2Pas会尽可能地将Java语法转换为Delphi语法,但需要注意的是,由于两种语言的差异,转换后的代码可能需要人工调整才能完全符合Delphi的编程规范和习惯。 Java2Pas的主要功能和特点包括: 1. ...

    Hibernate 符合JAVA习惯的关系数据库持久化.pdf

    **Hibernate:符合JAVA习惯的关系数据库持久化** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了Java应用程序与关系数据库之间的交互。通过提供一套API和元数据描述,Hibernate能够将Java类与...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    而习惯于把汽车当作一个整体来认识。 包含通用对象类的库叫作类库。 2.2.7 多态型 面向对象程序的最后一个概念是多态性。凭借多态性,你可以创建一个新的对象,它具 有与基对象相同的功能,但是这些功能...

    JavaDemo_java_云课堂_

    在"JavaDemo.txt"中,开发者可能通过编写简单的实例来解释这些概念,以便学习者能更好地理解和掌握。通过分析和运行这些代码,学习者可以逐步提高自己的编程技能,从而在实际工作中灵活运用Java解决各种问题。同时,...

    从Java菜鸟到专家的资料

    10. **JAVA编码规范.chm**:遵循编码规范是保证代码可读性和团队协作的基础,此文件可能是Sun Microsystems或Oracle发布的官方Java编码指南,有助于养成良好的编程习惯。 这些资料覆盖了从基础语法、高级特性到企业...

    最好的java教程,英文版的。官方java tutorial

    Oracle官方提供的Java Tutorial是学习Java的绝佳资源,它涵盖了Java语言的各个方面,从基础知识到高级特性的深入探讨,旨在帮助初学者和有经验的开发者更好地理解和运用Java。 这个教程以英文版的形式提供,虽然...

    Java204

    支持现有所有Java环境产生的Class代码,而最重要的是它生成的源代码可读性极好,又充分考虑了国人的Java编码习惯,是一个不可多得的学习Java编程的好工具。 想知道那些出色的Java程序是怎么编的吗??--问问Java...

    JAVA课程设计源码

    在【描述】中提到,源码直接从编程工具中导出,这意味着它们保留了原始的编程环境设置和结构,这有助于学习者更好地理解代码的组织方式和开发流程。例如,可以看到类的继承关系、包的划分、模块化的设计,以及如何...

    java8java8java8java8java8java8java8java8java8java8java8java8java

    5. **日期与时间API**:Java 8引入了全新的java.time包,提供了更好的日期、时间和日期/时间处理。LocalDate、LocalTime、LocalDateTime、ZonedDateTime等类替代了过时的Calendar和Date。 6. **默认方法**:在接口...

    Java转C++代码工具 J2C

    4. **跨平台兼容性**:虽然Java有很好的跨平台性,但在某些特定环境下,C++可能是更好的选择。 然而,转换过程并非总是无缝的。Java的动态性和灵活性在某些情况下是其优势,但在C++中可能需要额外的编程工作来实现...

    java程序设计课件

    最后,学习Java程序设计不仅仅是学习语法和技术,还包括良好的编程习惯和设计模式。遵循SOLID原则,编写可读性强、可维护的代码,以及了解如何利用设计模式解决常见问题,都是成为一个优秀Java程序员的必备素养。 ...

Global site tag (gtag.js) - Google Analytics