优化了代码结构