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 Gin实现文件上传下载的示例代码
Apr 02 Golang
golang 如何用反射reflect操作结构体
Apr 28 Golang
解决golang在import自己的包报错的问题
Apr 29 Golang
聊聊golang中多个defer的执行顺序
May 08 Golang
go语言基础 seek光标位置os包的使用
May 09 Golang
go语言中http超时引发的事故解决
Jun 02 Golang
go select编译期的优化处理逻辑使用场景分析
Jun 28 Golang
Go语言读取txt文档的操作方法
Jan 22 Golang
Go语言的协程上下文的几个方法和用法
Apr 11 Golang
golang连接MySQl使用sqlx库
Apr 14 Golang
golang使用map实现去除重复数组
Apr 14 Golang
Go中使用gjson来操作JSON数据的实现
Aug 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中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
js图片处理示例代码
2014/05/12 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
python基础教程之基本内置数据类型介绍
2014/02/20 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
浅谈python出错时traceback的解读
2020/07/15 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
给物业的表扬信
2014/01/21 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
假期安全教育广播稿
2014/10/04 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA