引入custom的概念，使每次自动生成的代码能直接覆盖(great!)