脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - Go本地测试小技巧解耦任务拆解

Go本地测试小技巧解耦任务拆解

2022-10-24 11:31王中阳Go Golang

这篇文章主要为大家介绍了Go本地测试解耦任务拆解及沟通详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

Go本地测试的思路

我习惯在开发过程中及时测试自己开发的功能模块,这样能及时发现问题,节省后期功能耦合之后,debug的时间。

为了统一管理要测试的功能(模块),所以创建了测试类,在cmd中直接运行,不需要借助postman等接口请求工具。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
fun Run(){
//测试方法
TestUnifyInputInsert()
}
func TestUnifyInputInsert() {
   var req *goods_unify.GoodsPackItem{} //这是结构体
   //这是json
   jsonInput := `{"base":{"goods_code":"381318","source":2,"shop_id":"1","shop_name":"京东自营测试","description":"测试描述","category_id":["1389"],"brand_name":"Bigen"},"attributes":[{"key":"产地1","value":"北京"}],"price":{"market_price":1000,"guide_price":900,"agreement_price":800,"activity_price":800}}`
   //把json转成结构体
   err := gconv.Struct(jsonInput, &req)
   if err != nil {
      g.Dump("转换错误:", err)
      return
   }
   service.GoodsUnify.CreateGoods(context.Background(), req)
}

解耦

今天在重构之前的代码,举个例子:

之前关于商品中心的添加、更新、修改价格、修改商品信息、下架等功能逻辑,都耦合在同一个方法中。

根据标记区分要进行什么操作。

从代码复用角度考虑,这样设计确实能少写很对代码。

但是维护起来确实很头大。

举个具体的场景示例:

当更新商品价格时:之前的设计是也需要传递类似封面图、属性、来源等30+字段,并且和价格无关的信息也会进行运算,解耦做的非常差。

在解耦之后:只需要传递商品价格,和商品对应的各个规格的价格信息。

同时把价格计算相关的方法抽取出来,供修改价格和修改商品信息复用。(修改商品信息也支持修改价格。)

no情绪 & todolist

情绪一上来,智商就下去。

今天比较累,但是工作效率比较高,反思一下就是上面的原因,因为自己活力四射的时候往往带有情绪:傲娇的情绪也好、觉得被坑的情绪也罢。

当带有情绪时,是无法深入思考的,所以会出现智商变低的情况。

今天以一个比较累,比较困,但是记录了todolist,拆解了问题,然后就这样闷头解决了各个问题。

现在反思一下今天的工作还是很爽的。

沟通的重要性

沟通真的非常重要,想起黄教主说的:“我不要你觉得,我要我觉得”。 老板们不都是黄教主...

今天和一个朋友谈心,她聊到了最近工作中的困惑和烦恼。

我耐心听她讲完后,帮她总结就是沟通的问题:她总是以为工作中碰到的问题是什么样的,其实事实并非如此。不愿意去沟通,甚至没有主动沟通过,凭借自己的主观臆断去推进工作。

如果一如既往的“我觉得...我以为...”,不仅于事无补,情况只会越来越糟。

及时沟通

不要拖延、不要犯懒,问题只会随着时间的拖延而越来越严重。

找对人

我认为当碰到问题时或者需要公司支持时,一定要和自己的直接领导做好沟通,因为直接领导是最了解咱们工作情况的,同时又能站在比自己高的角度去思考,能更好的理解老板的所思所想。

不要跨级沟通是有道理的,跨级可能会导致理解偏差。

公司之所以需要职级,需要一个萝卜一个坑,是因为在组织架构中、公司文化中、长久的发展中形成的,我现在开始信这句话了:存在即合理。

当碰到问题时,找到对的人,进行及时沟通是非常非常重要的!

总结

调试小技巧的思路抛砖引玉,大家可以参考一下。

平常的工作中一定要学会沟通、保持平稳的情绪、学会做任务拆解、养成每天做todolist的好习惯,更多关于Go本地测试解耦任务拆解沟通的资料请关注服务器之家其它相关文章!

原文链接:https://juejin.cn/post/7111325551549218823

延伸 · 阅读

精彩推荐
  • GolangGO语言实现简单TCP服务的方法

    GO语言实现简单TCP服务的方法

    这篇文章主要介绍了GO语言实现简单TCP服务的方法,实例分析了Go语言实现TCP服务的技巧,需要的朋友可以参考下 ...

    小小的我5342020-04-21
  • Golang深入了解Golang包的获取方法

    深入了解Golang包的获取方法

    Go语言有一个获取远程包的工具就是go get,本文将详细为大家介绍一下Go语言包的获取的方法,文中的示例代码讲解详细,感兴趣的可以了解一下...

    Livingbody5612022-07-13
  • GolangMac下Vs code配置Go语言环境的详细过程

    Mac下Vs code配置Go语言环境的详细过程

    这篇文章给大家介绍Mac下Vs code配置Go语言环境的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下...

    轻荇9092021-08-16
  • Golanggolang gorm 操作mysql及gorm基本用法

    golang gorm 操作mysql及gorm基本用法

    golang 官方的那个操作mysql的有点麻烦所以就使用了gorm,下面就gorm的使用做下简单介绍,感兴趣的朋友跟随小编一起看看吧 ...

    mrr5222020-05-21
  • GolangGolang标准库和外部库的性能比较

    Golang标准库和外部库的性能比较

    这篇文章主要介绍Golang标准库和外部库的性能比较,下面文章讲围绕这两点展开内容,感兴趣的小伙伴可以参考一下...

    hqx5202021-11-23
  • Golanggoland 恢复已更改文件的操作

    goland 恢复已更改文件的操作

    这篇文章主要介绍了goland 恢复已更改文件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    疯狂学者10922021-06-05
  • GolangGolang中优秀的消息队列NSQ基础安装及使用详解

    Golang中优秀的消息队列NSQ基础安装及使用详解

    这篇文章主要介绍了Golang中优秀的消息队列NSQ基础安装及使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    龙舞飞扬v4952021-03-05
  • Golanggolang实现简单rpc调用过程解析

    golang实现简单rpc调用过程解析

    这篇文章主要介绍了golang实现简单rpc调用,包括RPC具体实现结合实例代码给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友...

    神技圈子4482022-10-07