团队开发中如何看待或者与成员沟通代码质量等问题

2021-12-22 16:03:14 +08:00
 ryalu

最近公司新起了个项目,主管让我带新人做做,新人之前做 php ,没有接触过 go 。 我将之前的项目代码以及文档都分享给了他,并给他简单将讲解了项目的架构以及流程。 我给他起好了模板给他开发,结果第二天发现他直接把代码结构直接咔嚓一顿给改了(我起的 代码架构我们已经沿用的两个项目了,其他人也都这么搞的)。然后我就给他说了一下,然后他就给我一顿争论, 还提了他的这个思想是上家主管说的...我那叫一个气的。不过还好本人脾气还算好,我直接又给他理了一下我们的代码架构, 让他重新照着开发一遍,1 是为了方便我们团队合作开发,2 是等你有了一定的基础和经验你再去构思自己的结构布局,哪有没 学会走就要去跑的呀。 今天又去看了下他复写的代码,我是真不知道该怎么跟他说了

func getParam(c *gin.Context) *models.BaseParams {
param := models.BaseParams{}
_ = c.ShouldBindBodyWith(&param, binding.JSON)
param.ClientIp = c.ClientIP()
param.RegisterTime = c.GetInt64(keys.RegisterTime)
return &param
}

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(&param, 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
    }

真不知道跟怎么跟他说了...是不是我太钻牛角尖了?

2444 次点击
所在节点    Go 编程语言
11 条回复
LoNeFong
2021-12-22 16:22:23 +08:00
尊重, 祝福
LoNeFong
2021-12-22 16:31:00 +08:00
告诉他不用分目录, 分结构了, 直接一个*gin.Context 传到数据库 岂不美滋滋(逃
rimutuyuan
2021-12-22 16:47:37 +08:00
server service dao 好像没啥问题。。。这是你们的模板还是他改成这样的,不过方便维护肯定是按照模板来。
nicebird
2021-12-22 17:41:49 +08:00
和上司沟通下,这种不遵守规范的,死三次可以开了。
wyhooo
2021-12-22 17:47:55 +08:00
错在招了个写 PHP 的(逃
walkerliu
2021-12-22 17:52:39 +08:00
最后的 code segment , 事务控制有问题吧
missdeer
2021-12-22 17:52:48 +08:00
新人你还客气啥,就怕是老油条还顽固不化
qq1340691923
2021-12-22 18:05:24 +08:00
这个代码不是挺好的吗...
siguretto
2021-12-22 18:13:02 +08:00
挺好的,只是可能都塞在一个文件里了
iQXQZX
2021-12-23 10:14:11 +08:00
这个参数 struct 就堆在这,各个地方都重复一遍?哪有这么写的,不应该统一定义在外边吗。上面还有人说没啥问题。。。
liaohongxing
2021-12-29 14:56:23 +08:00
语言都不对 ,能开始写算不错了 。大部分像看天书一样坐着不动。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/823786

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX