抱着学习的目的看代码不太行,带着code review的眼光看,一下就看懂了