完善单元测试；优化代码