各种重构