
最近公司新起了个项目,主管让我带新人做做,新人之前做 php ,没有接触过 go 。 我将之前的项目代码以及文档都分享给了他,并给他简单将讲解了项目的架构以及流程。 我给他起好了模板给他开发,结果第二天发现他直接把代码结构直接咔嚓一顿给改了(我起的 代码架构我们已经沿用的两个项目了,其他人也都这么搞的)。然后我就给他说了一下,然后他就给我一顿争论, 还提了他的这个思想是上家主管说的...我那叫一个气的。不过还好本人脾气还算好,我直接又给他理了一下我们的代码架构, 让他重新照着开发一遍,1 是为了方便我们团队合作开发,2 是等你有了一定的基础和经验你再去构思自己的结构布局,哪有没 学会走就要去跑的呀。 今天又去看了下他复写的代码,我是真不知道该怎么跟他说了
func getParam(c *gin.Context) *models.BaseParams { param := models.BaseParams{} _ = c.ShouldBindBodyWith(¶m, binding.JSON) param.ClientIp = c.ClientIP() param.RegisterTime = c.GetInt64(keys.RegisterTime) return ¶m } func UserInitialize(c *gin.Context) { Info := new(struct { models.User models.UserInfo }) _ = c.ShouldBindBodyWith(&Info, binding.JSON) ctx := c.Request.Context() param := getParam(c) _ = c.ShouldBindBodyWith(¶m, binding.JSON) if err := srv.UserInitialize(ctx, Info, param); err != nil { utils.FailJsonTest(c, -1, err.Error()) return } utils.SuccessJsonTest(c, 0, ecode.OK.Message(), Info) return } func (s *Service) UserCreate(ctx context.Context, Info *struct { models.User models.UserInfo }, params *models.BaseParams) error { err := s.dao.UserCreate(ctx, Info) ... } func (d *Dao) UserCreate(ctx context.Context, Info *struct { models.User models.UserInfo }) error { //开启事务 tx := d.dbForMatch.Begin() //回滚事务 defer tx.Rollback() //创建用户表 err := d.dbForMatch.Create(&Info.User).Error if err != nil { return err } //创建用户信息表 Info.UserInfo.CustomerId = Info.User.CustomerId err = d.CreateUserInfo(&Info.UserInfo) if err != nil { return err } //提交事务 tx.Commit() return nil } 真不知道跟怎么跟他说了...是不是我太钻牛角尖了?
1 LoNeFong 2021-12-22 16:22:23 +08:00 尊重, 祝福 |
2 LoNeFong 2021-12-22 16:31:00 +08:00 告诉他不用分目录, 分结构了, 直接一个*gin.Context 传到数据库 岂不美滋滋(逃 |
3 14v45mJPBYJW8dT7 2021-12-22 16:47:37 +08:00 server service dao 好像没啥问题。。。这是你们的模板还是他改成这样的,不过方便维护肯定是按照模板来。 |
4 nicebird 2021-12-22 17:41:49 +08:00 和上司沟通下,这种不遵守规范的,死三次可以开了。 |
5 wyhooo 2021-12-22 17:47:55 +08:00 错在招了个写 PHP 的(逃 |
6 walkerliu 2021-12-22 17:52:39 +08:00 最后的 code segment , 事务控制有问题吧 |
7 missdeer 2021-12-22 17:52:48 +08:00 新人你还客气啥,就怕是老油条还顽固不化 |
8 qq1340691923 2021-12-22 18:05:24 +08:00 这个代码不是挺好的吗... |
9 siguretto 2021-12-22 18:13:02 +08:00 挺好的,只是可能都塞在一个文件里了 |
10 iQXQZX 2021-12-23 10:14:11 +08:00 这个参数 struct 就堆在这,各个地方都重复一遍?哪有这么写的,不应该统一定义在外边吗。上面还有人说没啥问题。。。 |
11 liaohongxing 2021-12-29 14:56:23 +08:00 语言都不对 ,能开始写算不错了 。大部分像看天书一样坐着不动。 |