完成underscore重构