1)不要随意增加null判断,通过异常来明确业务要求
下面代码的业务逻辑:如果bspcalendar.getHasProduction() is true,那么billPeriodService.queryBillPeriod一定有值,这个限制时通过界面控制实现的,这样的话下面的if (billp != null) 判断是没有意义的,由于开发阶段的数据准备问题会导致billPeriodService.queryBillPeriod可能会为空,所以增加if (billp != null) 判断,使得程序不会出现空指针,但如果真得为空了会导致逻辑错误(代码没有报错,但结果不对,给调式问题带来的困难),数据为空的原因是其他代码的错误导致的。更好的做法是如果为空就抛出异常,使得程序中断而不是按错误的路径执行,明确提示开发人员是数据问题导致的,这样开发人员一眼就能知道原因了。并且一定不能为空也是业务逻辑上的要求。
int month = 1;
int period = 1;
BspCalendar bspcalendar = bspCalendarService.queryBspCalendar(param.getYear());
if (bspcalendar.getHasProduction()) {
BillPeriod billp = billPeriodService.queryBillPeriod(userInfo.getBspCode(),
param.getStartDate());
if (billp != null) {
month = praseBillPeriod(billp.getBillPeriod().substring(2))[0];
period = praseBillPeriod(billp.getBillPeriod().substring(2))[1];
}
} else {
if (yearHeader.compareTo(param.getStartDate()) > 0) {
month = 1;
} else {
month = DateUtils.getMonth(param.getStartDate());
}
}
改进后的代码,增加了为空后的异常。
int month = 1;
int period = 1;
BspCalendar bspcalendar = bspCalendarService.queryBspCalendar(param.getYear());
if (bspcalendar.getHasProduction()) {
BillPeriod billp = billPeriodService.queryBillPeriod(userInfo.getBspCode(),
param.getStartDate());
if (billp != null) {
month = praseBillPeriod(billp.getBillPeriod().substring(2))[0];
period = praseBillPeriod(billp.getBillPeriod().substring(2))[1];
} else {
throw new RuntimeException("not exist BillPeriod,it's StartDate is:"
+ DateUtils.dateToString(param.getStartDate(), "yyyyMMdd"));
}
} else {
if (yearHeader.compareTo(param.getStartDate()) > 0) {
month = 1;
} else {
month = DateUtils.getMonth(param.getStartDate());
}
}
分享到:
相关推荐
这对于团队协作尤其重要,因为统一的代码风格可以减少代码审查的时间,并提高代码质量。 在描述中提到的插件适用于Visual Studio 2022,这意味着开发者无需离开他们熟悉的开发环境就能享受到代码整理的便利。安装`....
5. **代码分析**:DelForExp具有代码质量检查功能,可以发现潜在的编程问题,如未初始化的变量、冗余的代码块等,帮助开发者及时修复,提升代码质量。 6. **版本控制集成**:与常见的版本控制系统如Git、SVN等良好...
5. **提高代码质量**:通过上述功能,VB代码整理工具不仅可以提升代码的整洁度,还可以帮助开发者发现潜在的问题,如重复的代码段、未使用的变量等,从而提升代码的整体质量。 总的来说,这款VB代码整理工具是VB6...
为了统一代码风格,提高代码质量,我们可以使用自动代码整理工具。这些工具能够按照特定的编码规范,如K&R、LLVM或GNU等,对C代码进行格式化,使得代码更加整洁,便于阅读和维护。 本文将深入探讨C语言的自动代码...
3. **代码重构**:高级的C语言代码整理工具可能包含代码重构功能,比如提取函数、重命名变量、消除重复代码等,这些操作在大型项目中尤其重要,能够帮助改善代码结构,提高代码质量。 4. **代码检查**:部分工具还...
总的来说,"C语言代码自动整理工具"是一个提升C语言编程效率和质量的实用工具,通过自动化整理代码和生成流程图,能有效帮助程序员优化工作流程,提高代码质量和可读性。对于初学者和经验丰富的开发者来说,都是值得...
"代码整理",也称为代码格式化或代码美化,是指将编程语言源代码按照一定的规范进行自动化格式调整的过程,旨在提高代码的可读性和一致性。在C语言中,由于其灵活性,不同的开发者可能会写出风格各异的代码,这会...
这就是JavaScript格式化工具的作用所在,它们能够帮助开发者整理JS代码,使其保持整洁、易读的格式,提高代码质量和团队合作效率。 1. **JavaScript格式化的重要性** - **可读性**:格式化的JavaScript代码更易于...
这个工具旨在帮助VB程序员整理他们的源代码,使其更有序、更易读,从而提高开发效率和代码质量。 描述中提到的“源代码”,意味着这个压缩包不仅包含了可执行的代码整理工具,还提供了其背后的源代码。这对于学习和...
通过定期运行代码整理工具,可以保持代码库的整洁,提高代码质量,同时简化代码审查和合并过程。在大型项目中,这类工具的使用尤为重要,因为它可以确保所有成员提交的代码风格一致,从而降低维护难度。
在IT行业中,代码的整洁和规范对于项目的维护和...这三者结合,能够为开发者提供一个高效、整洁的开发环境,提高代码质量和团队合作效率。对于任何致力于提升开发流程的专业人士,掌握这些工具的使用都是极其重要的。
标题“软件著作权源代码自动整理2023”指出,这是一个专门用于整理软件源代码的工具,可能旨在帮助开发者组织和管理...对于开发者而言,这样一个工具可以显著减少手动整理代码的时间,提高代码质量和团队协作的效率。
综上所述,这款“软著代码整理工具2022-09-29亲测好用”是为开发者量身打造的,旨在简化代码整理过程,提升代码质量,并且对于需要提交软件著作权的开发者来说,提供了额外的便利。使用这样的工具,开发者可以更专注...
"Xcode代码整理"这个主题就涉及到了如何通过工具和策略来维护代码质量,确保团队间的合作更加顺畅。 首先,`uncrustify_obj_c.txt`文件通常用于定义代码格式化规则。Uncrustify是一款开源的代码格式化工具,支持...
总的来说,"keil 5代码整理插件TOOLS.zip"为Keil 5开发者提供了一系列实用的辅助工具,旨在提升开发效率,提高代码质量,并简化项目的管理工作。通过正确安装和使用这些插件,开发者能够更加专注于代码的逻辑和功能...
在申请软著的过程中,提交的源代码质量直接影响审批效率和成功率。为了简化这一过程,"软著代码整理工具"应运而生,它能够一键提取代码、删除空行和注释,使代码更符合申请要求。 1. **一键提取文件中的代码**:此...
- **调试技巧**:详细介绍了多种调试技巧和工具的使用方法,包括但不限于断言(assertions)、日志(logs)等,这些都是提高代码质量不可或缺的部分。 - **代码审查**:提倡定期进行代码审查(code review),不仅可以帮助...
《代码整理助手V1.1:提升编程效率与代码质量的神器》 在软件开发过程中,保持代码整洁、规范是至关重要的。它不仅有助于提高代码的可读性,还能降低维护成本,提升团队协作效率。"代码整理助手V1.1.7z"是一款专...