重构，把小功能提取出来作为方法