最近公司新起了个项目,主管让我带新人做做,新人之前做 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 1
尊重, 祝福
|
2
LoNeFong 2021-12-22 16:31:00 +08:00
告诉他不用分目录, 分结构了, 直接一个*gin.Context 传到数据库 岂不美滋滋(逃
|
3
rimutuyuan 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
语言都不对 ,能开始写算不错了 。大部分像看天书一样坐着不动。
|