Go本地測試小技巧解耦任務(wù)拆解
Go本地測試的思路
我習(xí)慣在開發(fā)過程中及時測試自己開發(fā)的功能模塊,這樣能及時發(fā)現(xiàn)問題,節(jié)省后期功能耦合之后,debug的時間。
為了統(tǒng)一管理要測試的功能(模塊),所以創(chuàng)建了測試類,在cmd中直接運(yùn)行,不需要借助postman等接口請求工具。
fun Run(){ //測試方法 TestUnifyInputInsert() } func TestUnifyInputInsert() { var req *goods_unify.GoodsPackItem{} //這是結(jié)構(gòu)體 //這是json jsonInput := `{"base":{"goods_code":"381318","source":2,"shop_id":"1","shop_name":"京東自營測試","description":"測試描述","category_id":["1389"],"brand_name":"Bigen"},"attributes":[{"key":"產(chǎn)地1","value":"北京"}],"price":{"market_price":1000,"guide_price":900,"agreement_price":800,"activity_price":800}}` //把json轉(zhuǎn)成結(jié)構(gòu)體 err := gconv.Struct(jsonInput, &req) if err != nil { g.Dump("轉(zhuǎn)換錯誤:", err) return } service.GoodsUnify.CreateGoods(context.Background(), req) }
解耦
今天在重構(gòu)之前的代碼,舉個例子:
之前關(guān)于商品中心的添加、更新、修改價格、修改商品信息、下架等功能邏輯,都耦合在同一個方法中。
根據(jù)標(biāo)記區(qū)分要進(jìn)行什么操作。
從代碼復(fù)用角度考慮,這樣設(shè)計確實能少寫很對代碼。
但是維護(hù)起來確實很頭大。
舉個具體的場景示例:
當(dāng)更新商品價格時:之前的設(shè)計是也需要傳遞類似封面圖、屬性、來源等30+字段,并且和價格無關(guān)的信息也會進(jìn)行運(yùn)算,解耦做的非常差。
在解耦之后:只需要傳遞商品價格,和商品對應(yīng)的各個規(guī)格的價格信息。
同時把價格計算相關(guān)的方法抽取出來,供修改價格和修改商品信息復(fù)用。(修改商品信息也支持修改價格。)
no情緒 & todolist
情緒一上來,智商就下去。
今天比較累,但是工作效率比較高,反思一下就是上面的原因,因為自己活力四射的時候往往帶有情緒:傲嬌的情緒也好、覺得被坑的情緒也罷。
當(dāng)帶有情緒時,是無法深入思考的,所以會出現(xiàn)智商變低的情況。
今天以一個比較累,比較困,但是記錄了todolist,拆解了問題,然后就這樣悶頭解決了各個問題。
現(xiàn)在反思一下今天的工作還是很爽的。
溝通的重要性
溝通真的非常重要,想起黃教主說的:“我不要你覺得,我要我覺得”。 老板們不都是黃教主...
今天和一個朋友談心,她聊到了最近工作中的困惑和煩惱。
我耐心聽她講完后,幫她總結(jié)就是溝通的問題:她總是以為工作中碰到的問題是什么樣的,其實事實并非如此。不愿意去溝通,甚至沒有主動溝通過,憑借自己的主觀臆斷去推進(jìn)工作。
如果一如既往的“我覺得...我以為...”,不僅于事無補(bǔ),情況只會越來越糟。
及時溝通
不要拖延、不要犯懶,問題只會隨著時間的拖延而越來越嚴(yán)重。
找對人
我認(rèn)為當(dāng)碰到問題時或者需要公司支持時,一定要和自己的直接領(lǐng)導(dǎo)做好溝通,因為直接領(lǐng)導(dǎo)是最了解咱們工作情況的,同時又能站在比自己高的角度去思考,能更好的理解老板的所思所想。
不要跨級溝通是有道理的,跨級可能會導(dǎo)致理解偏差。
公司之所以需要職級,需要一個蘿卜一個坑,是因為在組織架構(gòu)中、公司文化中、長久的發(fā)展中形成的,我現(xiàn)在開始信這句話了:存在即合理。
當(dāng)碰到問題時,找到對的人,進(jìn)行及時溝通是非常非常重要的!
總結(jié)
調(diào)試小技巧的思路拋磚引玉,大家可以參考一下。
平常的工作中一定要學(xué)會溝通、保持平穩(wěn)的情緒、學(xué)會做任務(wù)拆解、養(yǎng)成每天做todolist的好習(xí)慣,更多關(guān)于Go本地測試解耦任務(wù)拆解溝通的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go語言基礎(chǔ)學(xué)習(xí)之map的示例詳解
哈希表是常見的數(shù)據(jù)結(jié)構(gòu),有的語言會將哈希稱作字典或者映射,在Go中,哈希就是常見的數(shù)據(jù)類型map,本文就來聊聊Golang中map的相關(guān)知識吧2023-04-04go?tool?pprof?參數(shù)?'-base'?和?'-diff_base&
這篇文章主要介紹了go?tool?pprof?參數(shù)?'-base'?和?'-diff_base'之間的區(qū)別,兩個參數(shù)都是用于計算當(dāng)前?profile文件減去基準(zhǔn)profile文件所獲得的差值,用這個差值生成一個新的profile文件,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05golang 微服務(wù)之gRPC與Protobuf的使用
這篇文章主要介紹了golang 微服務(wù)之gRPC與Protobuf的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02