2013-12-19 方法命名:方法名称体现方法的功能,与谁调用无关
问题描述:磨课活动中有些步骤必须全部活动成员都操作才算完成,由于活动成员中存在一些无效用户导致该步骤无法完成(这些无效成员是不会执行操作的),活动管理员发现这些无效用户并删除后,逻辑上这个步骤应该算是完成了,但是完成标准的设置是在用户操作的时候判断的,因为删除用户后没有进行该步骤的操作,所以不会去判断完成标志。
增加了一个删除用户后重新计算完成标志的方法
public void updateFinishedWhenDeleteUser(Integer actId),当删除活动成员时调用该方法。
该方法的功能就是重新计算各步骤是否真正完成。
@Async//删除用户后通过事件调用
public void onApplicationEvent(DeleteActUserEvent event) {
actStepService.updateFinishedWhenDeleteUser((Integer)event.getSource());
}
后来发现之前的历史数据没法自动完成,需要通过一个操作重新触发,这时该方法的名称就不太合适了,因为和删除用户没有关系。方法功能的本意是重新计算,而不是什么时候重新计算。
//对历史数据进行处理,这时候updateFinishedWhenDeleteUser名称明显不合适
List<Activity> allacts=activityService.selectActivitys(formIds.toArray(new Integer[0]));
for(Activity act:allacts){
actStepService.updateFinishedWhenDeleteUser(act.getId());
}
将方法名称重构成updateFinishedStatus,上面两种情况的调用改成如下形式。
List<Activity> allacts=activityService.selectActivitys(formIds.toArray(new Integer[0]));
for(Activity act:allacts){
actStepService.updateFinishedStatus(act.getId());
}
@Async
public void onApplicationEvent(DeleteActUserEvent event) {
actStepService.updateFinishedStatus((Integer)event.getSource());
}
相关推荐
1. **重构记录的缺失**:研究发现,程序员在进行重构时,很少会在版本控制系统的提交日志中明确标注其活动为重构。这与之前许多研究者所持有的观点相悖,他们通常假设重构活动会被明确记录在提交日志中。这一发现...
5. 重构名录:包括重构的记录格式、挑选重构的依据等。 6. 第一组重构:包括提炼函数、内联函数、提炼变量、内联变量、改变函数声明、封装变量、变量改名、引入参数对象、函数组合成类、函数组合成变换、拆分阶段等...
他相信学习的重要性,并且总是致力于将所学的知识和经验记录下来,以便更好地分享和传播。 总结来说,《重构:改善既有代码的设计》这本书对于任何希望改进其代码质量的软件开发人员来说,都是一本不可或缺的指导...
- **版本控制**:使用版本控制系统记录每一次改动,便于追踪和回滚。 #### 四、重构的技术与方法 - **常见重构技巧**: - **提取方法(Extract Method)**:将一段代码提取成独立的方法,提高代码的可读性和可...
5.1 重构的记录格式 103 5.2 寻找引用点 105 5.3 这些重构手法有多成熟 106 第6章 重新组织函数 109 6.1 Extract Method(提炼函数) 110 6.2 Inline Method(内联函数) 117 6.3 Inline Temp(内联...
遗留系统的重构与维护是软件工程领域中一项至关重要的工作,它关注的是那些历史悠久、结构复杂且可能缺乏文档记录的旧有软件系统。重构是为了提高软件系统的可维护性、可扩展性、可读性和性能,而维护则涉及对系统的...
- AOP(面向切面编程):在重构方案中,利用AOP技术对系统日志进行增强,实现了记录日志的非侵入式添加。 - SystemLogService:系统日志服务接口,定义了记录日志的规范。 - SystemLogAspect:系统日志切面,通过AOP...
- 可视化进度:使用版本控制系统记录每一步的变更,便于回溯和协作。 3. **常见的重构技术**: - 提取函数:将一段完成特定任务的代码块提取为单独的函数,以增加代码复用和可读性。 - 提取类或模块:当一个类或...
### Java代码重构经验总结 在软件开发过程中,代码重构是一项重要的技能,它旨在不改变代码外部行为的前提下,改进其内部结构,从而提升代码质量和可维护性。本文将深入探讨Java代码重构的关键点,涵盖重构原则、...
而"note.txt"可能是对重构步骤的记录,包括为什么要进行某些改变,以及这些改变带来的好处。 总之,这个C++重构实例是一个学习和实践代码优化的好材料,通过它,我们可以深入了解C++语言的特性,并掌握如何在实际...
5.1 重构的记录格式 5.2 寻找引用点 5.3 这些重构手法有多成熟 第6章 重新组织函数 6.1 Extract Method(提炼函数) 6.2 Inline Method(内联函数) 6.3 Inline Temp(内联临时变量) 6.4 Replace Temp with Query...
- **可撤销操作**:可以通过维护一个命令历史记录,实现撤销操作。 - **方便实现事件驱动**:命令模式适合实现事件驱动架构,调用者可以触发一系列命令的执行。 **4. 在实际项目中的应用** 在IT行业中,命令模式被...