主页 > 合作媒体 > 如何通过代码审查来查找和解决java异常问题

如何通过代码审查来查找和解决j

如何通过代码审查来查找和解决j

随着互联网的不断发展,越来越多的人都开始学习软件编程开发...

语言功能和库之间的区别都有哪些

语言功能和库之间的区别都有哪些

随着互联网的不断发展,越来越多的人都开始通过自学或者参加...

零基础入门学习java编程开发需要了

零基础入门学习java编程开发需要了

随着互联网的不断发展,java编程开发也成为了大多数人都在学习...

文章正文

如何通过代码审查来查找和解决java异常问题
发布时间:2019-10-23 01:10  责任编辑:IT观察  点击量:

随着互联网的不断发展,越来越多的人都开始学习软件编程开发,但是由于开发经验的不足,偶尔也会因为代码问题而造成异常,下面我们就一起来了解一下具体情况吧。

如何通过代码审查来查找和解决java异常问题

一、关于异常

Java的异常可以分为两种:运行时异常和检查性异常。

运行时异常:

RuntimeException类及其子类都被称为运行时异常,这种异常的特点是Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。

检查性异常:

除了RuntimeException及其子类以外,其他的Exception类及其子类都属于检查性异常。检查性异常必须被显式地捕获或者传递。当程序中可能出现检查性异常时,要么使用try-catch语句进行捕获,要么用throws子句抛出,否则编译无法通过。

��������、代码审查要点

实现

此代码更改会执行它应该做的事情吗?

这种解决方法是简单的吗?

这个更改有引入一些不需要的编译时或运行时的依赖吗?

是否使用了不应该使用的框架、API、库、服务?

是否存在可以提升解决方法的未使用的框架、API、库、服务?

代码是否处于正确的抽象级别?

代码是否的模块化做的是否足够好?

你是否有其他的解决方案,该方案在代码可维护性、可读性、性能、安全方面表现更好?

是否已经存在类似功能的函数?如果有,为什么不复用?

是否有佳实践、设计模式或特定语言模式可以优化代码?

代码是否遵循面向对象的分析和设计原则,例如单一责任原则,开闭原则,里氏替换原则,接口隔离,依赖注入?

逻辑错误或Bug

你能想到代码不按预期运行的任何用例吗?

你能想到任何可能破坏代码的输入或外部事件吗?

错误处理和日志

错误都被正确处理了吗?

是否有需要增加或删除的日志/debug信息?

错误消息对用户是否友好?

是否有足够的日志,它们的编写方式是否是易于调试的?

可用性和可访问性

从可用性角度出发,所提出的解决方案是否设计合理?

API文档是否足够好?

提出的解决方案是否具备可访问性?

API/UI是否直观易用?

测试与可测试性

代码是否达到可测试标准?

是否有足够的自动化测试(单元测试/集成测试/系统测试)?

现有测试是否合理覆盖代码变更?

是否有额外的测试用例、输入或边界用例以供测试?

依赖

如果这个修改需要更新代码以外的文件,例如更新文档,配置,readme文件。是否完成了这些更新?

这个修改是否会对系统其他地方造成影响?是否能够向后兼容?

安全和隐私数据

这段代码是否打开软件的安全漏洞?

权限和身份验证是否被正确处理?

是否安全处理了敏感数据,例如用户数据、信用卡信息等?是否正确使用加密方法?

代码更改是否显露了一些私密信息(如迷药,用户名等)?

如果代码处理用户输入,是否解决了跨站点脚本,SQL注入等安全漏洞,是否进行了输入清洗和验证?

从外部API或库中获得的数据是否进行了相应的检查?

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!

今日焦点

专栏评论

新闻图片