Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结


Posted in Golang onJune 21, 2022

Go本地测试的思路

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

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

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本地测试解耦任务拆解及沟通详解的详细内容,更多关于Go本地测试解耦任务拆解沟通的资料请关注三水点靠木其它相关文章!

Golang 相关文章推荐
基于go interface{}==nil 的几种坑及原理分析
Apr 24 Golang
go:垃圾回收GC触发条件详解
Apr 24 Golang
win10下go mod配置方式
Apr 25 Golang
Go语言切片前或中间插入项与内置copy()函数详解
Apr 27 Golang
golang 实现两个结构体复制字段
Apr 28 Golang
Golang 使用Map实现去重与set的功能操作
Apr 29 Golang
Go语言 go程释放操作(退出/销毁)
Apr 30 Golang
解决Golang中goroutine执行速度的问题
May 02 Golang
Go 中的空白标识符下划线
Mar 25 Golang
golang语言指针操作
Apr 14 Golang
Go调用Rust方法及外部函数接口前置
Jun 14 Golang
Go 内联优化让程序员爱不释手
Jun 21 #Golang
GoFrame框架数据校验之校验结果Error接口对象
Jun 21 #Golang
GoFrame基于性能测试得知grpool使用场景
Jun 21 #Golang
Golang gRPC HTTP协议转换示例
Go Grpc Gateway兼容HTTP协议文档自动生成网关
Jun 16 #Golang
Go gRPC进阶教程gRPC转换HTTP
Jun 16 #Golang
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
Jun 14 #Golang
You might like
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
解javascript 混淆加密收藏
2009/01/16 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
用js实现in_array的方法
2013/11/05 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
vue 子组件向父组件传值方法
2018/02/26 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
Python运行DLL文件的方法
2020/01/17 Python
python模块如何查看
2020/06/16 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
总经理办公室主任岗位职责
2013/11/12 职场文书
机械制造与自动化应届生求职信
2013/11/16 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
小平您好观后感
2015/06/09 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript