`

特定的方法只做特定的事情

 
阅读更多
/** 是否还有战斗未结束 */
	public static boolean hasWarNotEnd(long roleId) {
		WarBean wb = getWarByRole(roleId);
		if(wb == null) {
			WarEndListenerBase listener = getCacheWarEndListener(roleId);
			if (listener == null) {
				return false;
			}
		} else {
			long gapTime = System.currentTimeMillis()-wb.getWarBeginTime();
			// 结束掉超过两个小时的战斗
			if(gapTime >= 3600*1000*2) {
				//代码注释掉,导致死循环
				try {
					warEnd(roleId, -1, new WarEndInfoBean(false), true);
				} catch (Exception e) {
					e.printStackTrace();
					logger.error("自动结束玩家["+roleId+"]上一场战斗发生错误,因为战斗时间超过2小时!", e);
				}
				return false;
			}
		}
		return true;
	}

 该段代码喜欢在判断战斗是否结束的情况下,把超过2小时的战斗偷偷的结束,在用户登录,需要判断用户是否在战斗中的代码还是在引用是否这个方法,导致出现了死循环 。这个方法在方法命名上只判断是否结束,而不应该做操作,方法的命名和方法的实现应该尽量的遵循统一的规则,不然很容易造成歧义而写出类似的代码

at com.game.business.listener.SingleWarEndListener.doProcess(SingleWarEndListener.java:98)
	at com.game.business.manager.WarManager.doWarEndListener(WarManager.java:734)
	at com.game.business.manager.WarManager.warEnd(WarManager.java:848)
	at com.game.business.manager.WarManager.hasWarNotEnd(WarManager.java:2087)
	at com.game.business.listener.SingleWarEndListener.doProcess(SingleWarEndListener.java:98)
	at com.game.business.manager.WarManager.doWarEndListener(WarManager.java:734)
	at com.game.business.manager.WarManager.warEnd(WarManager.java:848)
	at com.game.business.manager.WarManager.hasWarNotEnd(WarManager.java:2087)
	at com.game.business.listener.SingleWarEndListener.doProcess(SingleWarEndListener.java:98)
	at com.game.business.manager.WarManager.doWarEndListener(WarManager.java:734)
	at com.game.business.manager.WarManager.warEnd(WarManager.java:848)
	at com.game.business.manager.WarManager.hasWarNotEnd(WarManager.java:2087)
	at com.game.business.listener.SingleWarEndListener.doProcess(SingleWarEndListener.java:98)
	at com.game.business.manager.WarManager.doWarEndListener(WarManager.java:734)
	at com.game.business.manager.WarManager.warEnd(WarManager.java:848)
	at com.game.business.manager.WarManager.hasWarNotEnd(WarManager.java:2087)
	at com.game.business.listener.SingleWarEndListener.doProcess(SingleWarEndListener.java:98)
	at com.game.business.manager.WarManager.doWarEndListener(WarManager.java:734)
	at com.game.business.manager.WarManager.warEnd(WarManager.java:848)
	at com.game.business.manager.WarManager.hasWarNotEnd(WarManager.java:2087)
	at com.game.business.listener.SingleWarEndListener.doProcess(SingleWarEndListener.java:98)
	at com.game.business.manager.WarManager.doWarEndListener(WarManager.java:734)
	at com.game.business.manager.WarManager.warEnd(WarManager.java:848)
	at com.game.business.manager.WarManager.hasWarNotEnd(WarManager.java:2087)
	at com.game.business.listener.SingleWarEndListener.doProcess(SingleWarEndListener.java:98)
	at com.game.business.manager.WarManager.doWarEndListener(WarManager.java:734)
	at com.game.business.manager.WarManager.warEnd(WarManager.java:848)
	at com.game.business.manager.WarManager.hasWarNotEnd(WarManager.java:2087)
	at com.game.business.listener.SingleWarEndListener.doProcess(SingleWarEndListener.java:98)
	at com.game.business.manager.WarManager.doWarEndListener(WarManager.java:734)
	at com.game.business.manager.WarManager.warEnd(WarManager.java:848)
	at com.game.business.manager.WarManager.hasWarNotEnd(WarManager.java:2087)

 

分享到:
评论

相关推荐

    论文研究 - 自体干细胞疗法治疗脑瘫

    简介:我们描述了使用源自同一患者的骨髓和脂肪... 常规疗法未能对这些儿童产生任何令人满意的结果,因此需要做一些新的事情。 材料和方法:最近两年,我们在我中心进行了21例CP的干细胞治疗,年龄9个月至17岁。 在21例

    奇门化煞方法.docx

    术奇门则是在没有奇门或紧急情况下使用的技巧,它依赖精神力和意志力,通过特定的咒语和仪式来促进事情的顺利进行。然而,这种方法必须谨慎使用,因为心术不正可能会招致不好的后果。例如,有一种神咒用于各种事务,...

    爱德华医生心理学解析.pdf

    精神分析的方法还包括劝说患者对分析者充分信任,要求患者随心所欲地表述自己的所感所想,要求患者说出过去是否发生什么特定的经历等。通过这些方法,精神分析学家可以帮助患者了解自己的心理疾病,解决自己的情绪...

    家庭疗法巧治焦虑症.pdf

    比如,在接电话前深呼吸,或者利用周末时间做一些喜欢的事情,以远离工作压力。这能帮助建立应对焦虑的“缓冲区”。 转移注意力也是一种应对技巧。当工作压力过大时,可以将视线移向窗外,或者起身走动,短暂地脱离...

    运用合理情绪疗法治疗的一个案例报告.doc

    随着治疗的深入,晓C的自我控制力增强,强迫症状减轻,表明REBT方法在改善其心理状态方面取得了一定的效果。 总的来说,合理情绪疗法强调了思想、情绪和行为之间的相互作用,并提供了一个结构化的框架,帮助个体...

    心理治疗(中级)-相关专业知识(A1型题 4).doc

    心因性遗忘):心因性遗忘是指在强烈的情感应激后,患者对特定事件或一段时间的经历无法回忆。19岁的女性患者在情绪创伤后对事情经过不能回忆,这可能是心因性遗忘,通常与创伤后应激障碍(PTSD)相关。 6. 思维破裂...

    心理咨询案例之大三女学生的困惑.doc

    2. **森田疗法**:这是一种强调接受和顺应自然的心理治疗方法。森田疗法鼓励患者面对自己的恐惧,通过实际行动和生活体验,逐渐适应并克服问题,从而改善适应不良的行为和情绪。 3. **症状分析**:学生表现出的焦虑...

    克隆老妈(1)事情开头作文.doc

    在现实生活中,克隆主要用于科学研究、医学治疗以及生物多样性保护等方面。 2. 人工智能与机器人:虽然“哦巴桑”是一个虚构的角色,但她具有高级照顾儿童的能力,暗示了人工智能和机器人的发展。现代科技正在探索...

    常做噩梦肾不好?看看梦境便知道

    例如,经常梦到白天发生的事情,可能意味着睡眠质量不高、意识活动频繁,这在中医理论中与脾脏有关,因而可以通过补气健脾的药材如党参、白术、山药等进行调理。晚饭应选择易于消化的食物,避免吃得太饱,以免影响...

    人力资源——行为面试技术.pptx

    美国西南航空公司就是一个例子,他们采用有目的的挑选系统,关注应聘者实际做过的事情,寻找热情和外向的员工,以提升客户服务质量和企业的竞争优势。 胜任力的概念进一步推动了行为面试的发展。大卫·麦克里兰提出...

    发现脑中“GPS”.pdf

    当我们在白天经历事情后,这些信息会经过海马体进行处理,然后被存储到大脑皮层中。此外,海马体还与内嗅皮层紧密相连,共同参与空间导航。位置细胞的发现证明了大脑中存在一种能识别特定位置的神经元,它们在我们...

    咱们用中文来说就是qu.pdf

    例如,在战斗中发布命令:法师在变羊的同时喊出被变怪物的名字,提醒队友不要再做重复的事情。几个简单的动作便可用一个宏来完成。 宏命令同样继承了魔兽世界易于上手、难于精通的特点。简单的宏完全不需要任何编程...

    B短语练习题46单元精选.doc

    8. 开始,起初:指事情的起始阶段。 9. 不停地做某事:连续不断地执行某行为。 10. 同时:表示两个或更多事件同时发生。 11. 能,能够:表示具备执行某动作的能力。 12. 吵闹:发出大声且杂乱的声音。 13. 感到紧张...

    中学教师资格证考试《教育知识与能力(中学)》题库100题含答案(第217版).docx

    其中,第一题涉及到理性情绪疗法,这是心理学家艾利斯提出的一种心理治疗方法。田静因一次考试失败就认为自己前途无望,这种想法体现了糟糕至极的不合理信念,即对事情的结果过于悲观。这种信念不利于个体的心理健康...

    kaiji:Buzz脚本XSS漏洞“嗡嗡”,最后发生了一些事情。

    【描述】:“ji治 概述麻烦之后发生了一些事情。 描述 演示版 ( ) VS。 要求 用法 安装 贡献 执照 作者” 这段描述看起来像是项目文档的一部分,但部分词汇可能由于编码或拼写错误导致不完整。通常,这部分会包含...

    三河事业编招聘2017年考试真题及答案解析整理版.docx

    对于因年龄或健康原因不再担任领导职务的人,应当采用哪种词来描述对他们所做的安排? **选项:** - 安排 - 安置 - 安顿 - 安放 **答案解析:** - “安置”更符合语境,通常指对人员的工作、住所等作出适当的安排...

    记忆-智云1

    这也解释了为什么某些记忆会因为特定情境或感觉而被触发,比如听到特定歌曲就能唤起特定的回忆。 最后,人的记忆并不总是完整的,大脑会根据已有信息填充空白,就像“smash”的感觉比“hit”的感觉更深刻,因为前者...

    Get Things Done

    - 技术依赖:现代GTD方法通常依赖于特定的软件工具,这可能限制了一些人的使用。 #### 六、GTD在不同领域的应用 - **教育领域**:教师可以使用GTD来管理课程计划、教学资源等;学生则可以用来规划学习进度和备考...

    历年高考英语“一词多义”重点词汇大全.doc

    - 要求:在特定语境中,表示命令或期望他人做某事。 7. **attend**: - 出席:参加会议、活动或典礼。 - 看护、治疗:照顾病人或儿童。 B部分: 1. **break**: - 打破、打碎:使物体破裂或分离。 - 休息:...

Global site tag (gtag.js) - Google Analytics