您的位置:首页 > 教程 > 其他脚本 > Go本地测试解耦任务拆解及沟通详解

Go本地测试解耦任务拆解及沟通详解

2022-06-21 11:07:35 来源:易采站长站 作者:

Go本地测试解耦任务拆解及沟通详解

目录
解耦no情绪 & todolist及时沟通找对人

Go本地测试的思路

我习惯在开发过程中及时测试自己开发的功能模块,这样能及时发现问题,节省后期功能耦合之后,debug的时间。bcM站长之家-易采站长站-Easck.Com

为了统一管理要测试的功能(模块),所以创建了测试类,在cmd中直接运行,不需要借助postman等接口请求工具。bcM站长之家-易采站长站-Easck.Com

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)
}
复制代码

bcM站长之家-易采站长站-Easck.Com

解耦

今天在重构之前的代码,举个例子:bcM站长之家-易采站长站-Easck.Com

之前关于商品中心的添加、更新、修改价格、修改商品信息、下架等功能逻辑,都耦合在同一个方法中。bcM站长之家-易采站长站-Easck.Com

根据标记区分要进行什么操作。bcM站长之家-易采站长站-Easck.Com

从代码复用角度考虑,这样设计确实能少写很对代码。bcM站长之家-易采站长站-Easck.Com

但是维护起来确实很头大。bcM站长之家-易采站长站-Easck.Com

举个具体的场景示例:bcM站长之家-易采站长站-Easck.Com

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

在解耦之后:只需要传递商品价格,和商品对应的各个规格的价格信息。bcM站长之家-易采站长站-Easck.Com

同时把价格计算相关的方法抽取出来,供修改价格和修改商品信息复用。(修改商品信息也支持修改价格。)bcM站长之家-易采站长站-Easck.Com

bcM站长之家-易采站长站-Easck.Com

no情绪>

情绪一上来,智商就下去。bcM站长之家-易采站长站-Easck.Com

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

当带有情绪时,是无法深入思考的,所以会出现智商变低的情况。bcM站长之家-易采站长站-Easck.Com

今天以一个比较累,比较困,但是记录了todolist,拆解了问题,然后就这样闷头解决了各个问题。bcM站长之家-易采站长站-Easck.Com

现在反思一下今天的工作还是很爽的。bcM站长之家-易采站长站-Easck.Com

沟通的重要性

沟通真的非常重要,想起黄教主说的:“我不要你觉得,我要我觉得”。>

今天和一个朋友谈心,她聊到了最近工作中的困惑和烦恼。bcM站长之家-易采站长站-Easck.Com

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

如果一如既往的“我觉得...我以为...”,不仅于事无补,情况只会越来越糟。bcM站长之家-易采站长站-Easck.Com

bcM站长之家-易采站长站-Easck.Com

及时沟通

不要拖延、不要犯懒,问题只会随着时间的拖延而越来越严重。bcM站长之家-易采站长站-Easck.Com

bcM站长之家-易采站长站-Easck.Com

找对人

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

不要跨级沟通是有道理的,跨级可能会导致理解偏差。bcM站长之家-易采站长站-Easck.Com

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

当碰到问题时,找到对的人,进行及时沟通是非常非常重要的!bcM站长之家-易采站长站-Easck.Com

总结

调试小技巧的思路抛砖引玉,大家可以参考一下。bcM站长之家-易采站长站-Easck.Com

平常的工作中一定要学会沟通、保持平稳的情绪、学会做任务拆解、养成每天做todolist的好习惯。bcM站长之家-易采站长站-Easck.Com

以上就是Go本地测试解耦任务拆解及沟通详解的详细内容,更多关于Go本地测试解耦任务拆解沟通的资料请关注易采站长站其它相关文章!bcM站长之家-易采站长站-Easck.Com

如有侵权,请联系QQ:279390809 电话:15144810328

相关文章

  • 使用Go基于WebSocket构建千万级视频直播弹幕系统的代码详解

    使用Go基于WebSocket构建千万级视频直播弹幕系统的代码详解

    (1)业务复杂度介绍 开门见山,假设一个直播间同时500W人在线,那么1秒钟1000条弹幕,那么弹幕系统的推送频率就是: 500W * 1000条/秒=50亿条/秒 ,想想B站2019跨年晚会那次弹幕系统得是
    2020-07-08
  • golang中import cycle not allowed解决的一种思路

    golang中import cycle not allowed解决的一种思路

    发现问题 项目中碰到了一些问题,使用了指针函数的思路来解决相应问题 在实际项目中,因为两个项目互相引了对方的一些方法,导致了循环引用的错误,原本可以使用http的请求来解
    2019-11-10
  • 从go语言中找&和*区别详解

    从go语言中找&和*区别详解

    *和的区别 : 是取地址符号 , 即取得某个变量的地址 , 如 ; a*是指针运算符 , 可以表示一个变量是指针类型 , 也可以表示一个指针变量所指向的存储单元 , 也就是这个地址所存储的值 . 从
    2020-06-23
  • Go语言中利用http发起Get和Post请求的方法示例

    Go语言中利用http发起Get和Post请求的方法示例

    关于 HTTP 协议 HTTP(即超文本传输协议)是现代网络中最常见和常用的协议之一,设计它的目的是保证客户机和服务器之间的通信。 HTTP 的工作方式是客户机与服务器之间的 “请求-应答
    2019-11-10
  • golang如何实现mapreduce单进程版本详解

    golang如何实现mapreduce单进程版本详解

    前言 MapReduce作为hadoop的编程框架,是工程师最常接触的部分,也是除去了网络环境和集群配 置之外对整个Job执行效率影响很大的部分,所以很有必要深入了解整个过程。元旦放假的第一天
    2019-11-10
  • Go打包二进制文件的实现

    Go打包二进制文件的实现

    背景 众所周知,go语言可打包成目标平台二进制文件是其一大优势,如此go项目在服务器不需要配置go环境和依赖就可跑起来。 操作 需求:打包部署到centos7 笔者打包环境:mac os 方法:
    2020-03-11
  • GO语言实现简单的目录复制功能

    GO语言实现简单的目录复制功能

    本文实例讲述了GO语言实现简单的目录复制功能。分享给大家供大家参考。具体实现方法如下: 创建一个独立的 goroutine 遍历文件,主进程负责写入数据。程序会复制空目录,也可以设
    2019-11-10
  • golang中定时器cpu使用率高的现象详析

    golang中定时器cpu使用率高的现象详析

    前言: 废话少说,上线一个用golang写的高频的任务派发系统,上线跑着很稳定,但有个缺点就是当没有任务的时候,cpu的消耗也在几个百分点。 平均值在3%左右的cpu使用率。你没有任务
    2019-11-10