函数实现及代码重构