代码生成规则
除了理解go-doudou命令行工具的用法,你还需要了解代码生成规则。我将规则分成了三类:“增量生成”,“覆盖生成”,“局部修改”和“跳过”。
增量生成
svcimpl.go: 每次执行go-doudou svc http命令,已有代码不会被覆盖,只会在文件末尾新增代码,所以你可以自由修改生成的代码以适应你的业务需求。重复执行此命令,不会让你丢失任何人工编写的代码。transport/httpsrv/handlerimpl.go: 每次执行带上--handler参数的go-doudou svc http命令,已有代码不会被覆盖,只会在文件末尾新增代码,所以你可以自由修改生成的代码以适应你的业务需求。重复执行此命令,不会让你丢失任何人工编写的代码。client/clientproxy.go: 每次执行带上-c参数的go-doudou svc http命令,已有代码不会被覆盖,只会在文件末尾新增代码,所以你可以自由修改生成的代码以适应你的业务需求。重复执行此命令,不会让你丢失任何人工编写的代码。
覆盖生成
transport/httpsrv/handler.go: 每次执行go-doudou svc http命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。client/client.go: 每次执行带上-c参数的go-doudou svc http命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。client/iclient.go: 每次执行带上-c参数的go-doudou svc http命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。${service}_openapi3.go: 每次执行带上--doc参数的go-doudou svc http命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。${service}_openapi3.json: 每次执行带上--doc参数的go-doudou svc http命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。transport/grpc/${service}.pb.go: 每次执行go-doudou svc grpc命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。transport/grpc/${service}.proto: 每次执行go-doudou svc grpc命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。transport/grpc/${service}_grpc.pb.go: 每次执行go-doudou svc grpc命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。transport/grpc/annotation.go: 每次执行go-doudou svc grpc命令,会重新生成代码,所以请不要人工修改此文件,所有人工修改或编写的代码都会丢失。
局部修改
${service}_deployment.yaml: 每次执行go-doudou svc push命令,会更新image属性的值,即更新镜像名${service}_statefulset.yaml: 每次执行go-doudou svc push命令,会更新image属性的值,即更新镜像名
跳过
其他文件如果已经存在,都会跳过。
