[旧文存档]多维度的IF语句重构

Categories: Development NotesJava; Tagged with: ; @ August 29th, 2010 18:05

多维度的IF语句重构 – 注释掉的为重构前的代码, 杂乱且可读性极低.

 
	/***
	 * 设定要保存的日历条目. 可能的类型:
	 * @param calItem_
	 */
	public void setCalItem(CalItem calItem_) {
		calItem = calItem_;
	}	
 
	public EOObject update(boolean before, boolean after, boolean peers) {
//		EOObject updatedCalItem = null;
//		if(!before && !after && !peers) { // 仅保存当前的calItem
//			updatedCalItem = updateSelf();
//		}else if(!before && !after && peers) { // 保存当前Meeting.
//			updatedCalItem = updatePeers();
//		}else if(before && !after && !peers) { // 向前更新重复条目
//			updatedCalItem = updateBefore();
//		}else if(!before && after && !peers) { // 向后更新重复条目
//			updatedCalItem = updateAfter();
//		}else if(before && after && !peers) { // 更新所有重复条目
//			updateBefore();
//			updatedCalItem = updateAfter();
//		}else {
//			// 参数有误
//		}
 
		updateSelf();
		if(before) { //
			updateBefore();
		}
		if(after) { // shi jian zhou
			updateAfter();
		}
		if(peers) { // peers - Tom's peers are Jack and Jane.
			updatePeers();
		}
		uow.flush();
		uow.close();
 
		return calItem;
	}

<->



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.