博客
关于我
专业素养瞎扯淡
阅读量:755 次
发布时间:2019-03-23

本文共 1158 字,大约阅读时间需要 3 分钟。

高素质程序员素养提升指南:从代码注释到异常处理

成为一个专业的程序员不仅需要高超的技术能力,更需要良好的开发素养。以下是提升专业能力的几大方面。

高素质注释注释是编程中的"思考捕捉器",不仅能提高代码可读性,更能帮助他人理解代码设计理念。以下是注释使用的注意事项和优化建议:

1、在不需要注释的地方使用注释

  • 避免在简单的语句后添加注释,会让其他人感到困惑。
  • 注释应包含足够的上 下文信息,帮助其他开发者理解代码功能。

2、去除不必要的注释注释过多反而会影响代码可读性。通过优化变量和方法命名,使代码更具清晰度。

高素质变量变量命名要简洁明了,使用具有描述性的命名能提升代码可读性。例如:word Preferred over "var"

高素质函数函数划分要严格,保持单一职责原则。传递明确的参数,避免数据污染。

高素质结构(SOLID 原则)遵循单一职责、开放封闭、里氏替换、接口隔离和依赖倒置原则。

高素质异常异常处理使程序更加健壮,掌握掌握基本概念和使用技巧至关重要。

Exception Hierarchy in JavaJava中的异常体系分为Checked和Unchecked两大类。CheckedException适用于开发者能预见的潜在问题。

UncheckedException包含 ArrayIndexOutOfBoundsException, NullPointerException 等常见编程错误。

checked vs uncheckedCheckedException应具备恢复性,如IOException。而UncheckedException通常代表不可恢复的编程错误。

高素质异常处理try-catch-finally结构是日常开发的基础。Java7的AutoCloseable接口提供了更简便的资源释放机制。

资源释放通过try-with-resources方式自动处理资源释放,减少错误和内存泄漏的可能性。

异常传播方法抛出异常时,应确保异常对象包含详实的信息,方便排查问题。

自定义异常不要过度使用自定义异常类。在以下情况下可考虑自定义:

  • 定义新的错误类型。-桥接已有异常类。

UMP计算机领域的用途,自动驾驶中的障碍物检测则需要自定义异常,提供上下文信息。

实用异常处理建议

  • 避免过度捕获异常,减少性能开销。
  • 不要在try-catch中条件语句,会导致代码混乱。

适用场景:

  • DAO层的SQLException应转化为RuntimeException,避免传递给Service层。

编程习惯日期时间验证、输入参数检查等操作不应该依赖异常处理。在性能敏感场景中,使用布尔变量来指示操作成功与否更为合适。

最终,注重代码质量,遵循优秀的编程规范,才能提升开发效率和程序健壮性。

转载地址:http://ncyzk.baihongyu.com/

你可能感兴趣的文章
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
查看>>
SQL-CLR 类型映射 (LINQ to SQL)
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>