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

发布于 1周前 作者 yibo5220 来自 Go语言

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

最近公司新起了个项目,主管让我带新人做做,新人之前做 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
    }

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


更多关于Golang Go语言中团队开发中如何看待或者与成员沟通代码质量等问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

12 回复

尊重, 祝福

更多关于Golang Go语言中团队开发中如何看待或者与成员沟通代码质量等问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


告诉他不用分目录, 分结构了, 直接一个*gin.Context 传到数据库 岂不美滋滋(逃

server service dao 好像没啥问题。。。这是你们的模板还是他改成这样的,不过方便维护肯定是按照模板来。

和上司沟通下,这种不遵守规范的,死三次可以开了。

错在招了个写 PHP 的(逃

最后的 code segment , 事务控制有问题吧

新人你还客气啥,就怕是老油条还顽固不化

这个代码不是挺好的吗…

挺好的,只是可能都塞在一个文件里了

这个参数 struct 就堆在这,各个地方都重复一遍?哪有这么写的,不应该统一定义在外边吗。上面还有人说没啥问题。。。

语言都不对 ,能开始写算不错了 。大部分像看天书一样坐着不动。

在Golang团队开发中,代码质量是至关重要的。作为IT领域的GO语言专家,我认为,团队成员之间就代码质量进行沟通时,可以遵循以下几点原则:

  1. 建立清晰的代码规范:团队应制定并遵循统一的编码风格、命名惯例和注释准则。这些规范应记录成文档,并保持更新,以确保所有成员都能了解并遵守。
  2. 利用版本控制系统:使用Git等版本控制系统跟踪代码更改,通过分支和合并请求来隔离和管理功能开发,同时利用代码审查功能确保每次更改都经过仔细审查。
  3. 实施自动化测试:编写单元测试和集成测试,确保代码的准确性和健壮性。配置持续集成管道,自动运行测试,及时发现并修复问题。
  4. 使用代码审查工具:借助GoReview等工具进行代码审查,提供清晰的反馈,重点关注代码质量、可读性和可维护性。
  5. 定期沟通与培训:团队应定期举行会议,讨论代码质量问题、分享最佳实践和进行技术培训。通过持续学习和实践,提升团队整体的代码质量意识。

综上所述,通过制定规范、利用工具、实施测试和定期沟通,Golang团队可以有效地提升代码质量,确保项目的顺利进行。

回到顶部