遇到生產bug時,你會慌嘛?
前言
作為程式設計師,我們經常需要面對bug。剛畢業的孩子或者工作沒多久的程式設計師,遇到生產問題,很容易就 驚慌失措。其實,我們都知道,著急是沒有用,因為 急是解決不了問題的。
如何應對生產問題?當然,這句話既是對你們說的,也是對我自己說的,我自己也在成長階段啦。
1. 調整好自己的心態。
遇到生產問題時,著急是人的一種 正常反應,我們要做的是,冷靜一下。一定要 調整好自己的心態。
因為如果你急的像熱鍋上的螞蟻,領導看在眼裡,會覺得你並不靠譜,下次有比較重要的開發任務,相信他不會再交給你了,並且後面什麼績效等等,估計也好不了哪裡去。
還有一點,著急的話,很容易就分散你解決問題的精力! 所以遇到生產問題,需要先調整好自己心態,泰然處之。
2. 專注於解決問題!
調整好心態之後呢,我們需要 專注於如何解決問題。
如果你的問題,是
監控報的異常,你需要去仔細查詢日誌,分析日誌,是哪裡出的問題。比如,簡單的,是不是空指標異常了;又或者是不是沒控制好介面冪等,唯一索引報的
Duplicate key
等等。
如果是
CPU
負載過高,那就可以列印堆疊資訊分析一下。
jstack
生成執行緒快照,來分析程式異常,是Java程式設計師的必備技能。之前寫過一篇jstack的文章,大家可以看下哈
給你的Java程式拍個片子吧:jstack命令解析
如果是慢SQL的原因,就分析如何優化,是加索引好呢,還是控制SQL的資料量好呢,等等。
如果是業務投訴,說程式哪裡的業務功能實現有問題,那就要好好分析當前的一下關鍵日誌以及,回頭看看你的業務程式碼啦。反正就具體問題具體分析吧,你冷靜下來, 分析怎麼解決你的問題就好了。
3. 彙報解決方案,分析可能造成的影響
如果你找到了問題出在哪裡,那就 列出解決方案。比如是慢SQL的原因,那到底要在哪個欄位加索引,還是加時間範圍控制資料量等等,你就一一列出來,跟上級領導 彙報解決方案。
除了彙報解決方案,還有一個很重要的點,那就是 分析可能造成的影響!//java學習交流:737251827 進入可領取學習資源及對十年開發經驗大佬提問,免費解答!生產上的問題,是會影響到使用者的,我們需要分析影響到哪些使用者,影響的功能點是什麼,以及補救方案。如你的一個空指標異常,影響到客戶資訊展示,然後你的補救方案,是不是 補數就可以了。
4. 樂於溝通!尋找領導幫助
雖然說,領導更願意聽到的是 你的解決方案,而不是 你給他丟擲問題。但是呢,有時候,我們由於經驗不夠等原因,有些問題,一時半會確實找不出解決方案。這時候,你可以向有經驗的程式設計師請教,向你的領導尋求幫助。
自己不知道怎麼解決的時候,千萬 不要一個人悶聲在那裡瞎想!我們要的,就是 快速解決問題!
5. 技術輸出,多總結生產問題
解決完生產問題後,建議大家可以 寫寫技術總結,為什麼會出現這個問題,如何 規避解決這個問題等等。
比如這個問題是,因為 delete in 子查詢不走索引導致的,那你查下資料,原因是啥嘛。可以寫篇技術部落格分享出來,總結的時候,自己印象加深了,並且避免公司其他同事下次跟你犯一樣的錯誤嘛。之前有篇生產問題的技術總結,大家可以看下哈:
生產問題分析!delete in子查詢不走索引?!
6. 平時開發設計時,統籌兼顧!
從出現的生產問題,可以反思我們平時開發設計時,要怎麼 想得周全一點。比如來個簡單的例子,你需要查詢個使用者資訊,假設查不到,你怎麼處理,程式碼是不是需要做下非空判斷。再比如,你在登陸註冊加個通知功能,是不是要考慮非同步呢。之前寫過一篇 如何減少bug的文章,大家有興趣可以看下哈。
聊聊日常開發中,如何減少bug呢?
何為 統籌兼顧呢?開發設計過程中,處理比較明顯的bug需要考慮規避。並且需要考慮,假設你這樣設計實現,可能會有什麼問題呢,以及如果有問題,你的補救方案是怎樣呢。
比如你設計一個新功能開發,如果這個介面出問題了,是不是會導致老功能有問題呢?那你是不是可以加個開關什麼的呢?
比如對方發個廣播訊息,你是不是需要考慮,如果訊息丟了,你沒收到,怎麼處理呢?業務可以接受嘛?是不是可以下次訊息再來時,跟上次對比一下等等。
最後
好啦,今天就聊這麼多哈,希望對大家有幫助呀。所以遇到生產問題,我們千萬不能慌!不怕你說我囉嗦,總結一下:
-
調整好自己的心態。
-
專注於解決問題!
-
跟領導彙報解決方案,分析可能造成的影響
-
樂於溝通!尋找領導幫助
-
技術輸出,多總結生產問題
-
平時開發設計時,統籌兼顧!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010294/viewspace-2846695/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遇到bug不要慌,都是小場面。
- 分析表時遇到BUG
- 處理生產bug
- 遇到緊急問題,不要慌:抓包分析來救你(一)
- 遇到時間控制元件怎麼辦?不要慌,教你輕鬆拿下控制元件
- 這是 Bug 嘛,看著怪怪的
- 生產中遇到 cpu 過高排查
- 仔細想想SpringAOP也不難嘛,面試沒有必要慌Spring面試
- python 在實際生產過程中需要編譯嘛?Python編譯
- 芯慌遇上造車熱,國產晶片的機會到了?晶片
- Vue專案部署遇到的坑(你肯定會遇到!)Vue
- 企業資料孤島為什麼會產生?哪些行業容易遇到?行業
- 搭建 sentry 追蹤 Laravel 生產環境 bugLaravel
- 「前端 BUG 錄」遇到BUG應該如何排查前端
- Spring Boot 2.x(九):遇到跨域不再慌Spring Boot跨域
- 遇到網路問題?別慌!MTR來幫您
- 公司裡的精益生產管理諮詢師是幹嘛的
- Python網路爬蟲出現亂碼的原因有哪些呢?你遇到過嘛!Python爬蟲
- 遇到ASM的兩個BUGASM
- Go 1.13版本引入的bug,你遇到過這個坑麼?Go
- 說說你遇到過最大的bug是什麼?怎麼解決的?
- 🚀提升生產力:是時候升級你的命令列工具了命令列
- 你真的瞭解css畫素嘛?CSS
- 如果一小時後永久斷網,程式設計師會幹嘛?程式設計師
- 寫出你遇到過IE6/7/8/9的BUG及解決方法
- 不會制定精益生產專案計劃?天行健為你支招
- 當你在 Linux 上啟動一個程式時會發生什麼?Linux
- 遇到程式碼缺陷不要慌,馬上教你快速檢測和修復
- 精益生產推行中,遇到這些問題怎麼辦?
- 盤點FCPX可能會遇到的問題,快來看看有你遇到的嗎(二)
- 操作失誤不要慌,這個命令給你的Git一次反悔的機會Git
- 事件發生時,你在想什麼?事件
- 當你開啟終端並輸入命令時會發生什麼?(上)
- .net打獨立執行環境遇到無法trim遇到的bug
- 今天,你遇到redis線上連線超時了嗎?Redis
- bug的一生:軟體測試員,你是如何利用專業技術修復bug的?
- 目前下載VS2017你可能會遇到這個坑
- Linux 下部署Django專案你可能會遇到的問題!LinuxDjango