重构代码，去掉重复逻辑，去掉过度包装