激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - 編程技術(shù) - 這才是厲害程序員的標(biāo)配!

這才是厲害程序員的標(biāo)配!

2021-02-28 22:04findyi 編程技術(shù)

好幾個(gè)讀者問(wèn):如何成為厲害的程序員?編碼能力如何成長(zhǎng)。回答完后,有些心得也給大家分享下。

好幾個(gè)讀者問(wèn):如何成為厲害的程序員?編碼能力如何成長(zhǎng)。回答完后,有些心得也給大家分享下。

這才是厲害程序員的標(biāo)配!

其實(shí)程序員最關(guān)鍵的技能遠(yuǎn)不止編碼能力,架構(gòu)思維、底層知識(shí)的深度等等,同樣很重要。

在這些能力中,最容易被人忽視卻很重要的能力是:debug能力。甚至我認(rèn)為:debug能力遠(yuǎn)比編碼能力更重要。很簡(jiǎn)答,大家可以觀察下自己的團(tuán)隊(duì),最優(yōu)秀的程序員一定會(huì)承擔(dān)很多疑難癥的排查和解決。

曾經(jīng)在360帶幾十人技術(shù)團(tuán)隊(duì),同時(shí)研發(fā)幾條業(yè)務(wù)線。參與過(guò)的產(chǎn)品,日活過(guò)千萬(wàn)的有一款,過(guò)百萬(wàn)的有三款。

這個(gè)過(guò)程中各種稀奇古怪的bug見(jiàn)過(guò)不少,也一一解決了(不然估計(jì)就要滾蛋)。

分享下我的debug經(jīng)驗(yàn),希望對(duì)大家有用:

1.日志Log盡可能詳盡

編程領(lǐng)域流傳著一句話:必現(xiàn)的bug,都不是bug。

因?yàn)楹脧?fù)現(xiàn),就容易解決,代碼一直跟下去,或者看看堆棧信息,很快能定位問(wèn)題。

真正困難的是偶現(xiàn)bug,甚至那種概率千分之幾,但后果嚴(yán)重的bug。解決他們就需要詳細(xì)的日志Log,尤其是關(guān)鍵點(diǎn)上的信息,非常重要。

2.google要用好

程序員+google=好的程序員,這句話真的沒(méi)錯(cuò),很多技術(shù)bug,當(dāng)你毫無(wú)頭緒之際不妨google下,可能不少人遇見(jiàn)過(guò)。

當(dāng)然,最關(guān)鍵的是搜索的關(guān)鍵字,這取決于你對(duì)bug現(xiàn)象的描述,越言簡(jiǎn)意賅搜索到的信息反而越多。

3.排除法

這個(gè)方法說(shuō)實(shí)話不提倡,但很多時(shí)候?qū)嵲谑譄o(wú)策之際不妨用用,用法也很簡(jiǎn)單,當(dāng)你不確定哪一塊新增代碼引入問(wèn)題,就嘗試注釋一部分代碼看看程序是否OK。

不行再換另一部分代碼注釋掉,很快你就可以縮小bug的查找范圍,進(jìn)而定位問(wèn)題。

4.模擬用戶環(huán)境

可以采用一些工具來(lái)模擬前端或者后端,制造假數(shù)據(jù)、假操作。有了這些工具之后,把你懷疑可能出問(wèn)題的情況模擬一遍,觀察是否會(huì)出問(wèn)題。

其次,遇見(jiàn)一些極端情況,比如懷疑是多線程/多進(jìn)程死鎖,那不妨在某個(gè)進(jìn)程/線程寫(xiě)個(gè)死循環(huán)看看bug是不是就出現(xiàn)了,當(dāng)然做這種操作千萬(wàn)千萬(wàn)別給忘記了,提交了,那就完?duì)僮恿恕?/p>

5.記錄曾經(jīng)解決過(guò)的bug,并簡(jiǎn)歷索引

其實(shí)很多bug會(huì)變著花樣反復(fù)出現(xiàn),俗話說(shuō)好記性不如爛筆頭,把解決過(guò)的問(wèn)題記錄下來(lái),并且做好索引,下次遇見(jiàn)可能相同的問(wèn)題,先檢索一遍,搞不好就找到答案了。

6.多看官方文檔

特別是引用了第三方代碼或者是開(kāi)源代碼導(dǎo)致的問(wèn)題,官方文檔對(duì)應(yīng)的部分反復(fù)看看,可能問(wèn)題就解決了。

7.引入工具,放大問(wèn)題

比如很多線程注入的工具,你開(kāi)啟后,但凡是一點(diǎn)點(diǎn)依賴線程順序的bug都會(huì)從偶現(xiàn)變?yōu)楸噩F(xiàn)。

這個(gè)相當(dāng)于主動(dòng)把代碼運(yùn)行環(huán)境變成地獄模式,比如你的一個(gè)線程的結(jié)果依賴于另一個(gè)線程的輸出,但你忘記加同步代碼了,不過(guò)大部分情況另一個(gè)線程運(yùn)行都飛快,但有些機(jī)器就不好使了。

這個(gè)時(shí)候加入這種工具,它直接讓某些情況下另一個(gè)線程運(yùn)行速度變慢(我猜大概率是加了個(gè)sleep(1000)),結(jié)果你的程序就崩潰了,崩潰堆棧直接打開(kāi),迅速定位,問(wèn)題解決!

8. 制作工具,針對(duì)某些bug編寫(xiě)一些調(diào)試輔助工具。

比如,某些系統(tǒng)沒(méi)有完善的崩潰報(bào)告,雖然也有dump,但是分析出來(lái)的callstack經(jīng)常不準(zhǔn)。完全可以為解決崩潰問(wèn)題編寫(xiě)了個(gè)工具,自動(dòng)掃描代碼,在每個(gè)函數(shù)入口和出口插入log,以此來(lái)定位崩潰點(diǎn)。

以上8點(diǎn),都是在實(shí)戰(zhàn)血淋淋的過(guò)程中總結(jié)出來(lái)的,希望對(duì)大家有幫助。

原文地址:https://mp.weixin.qq.com/s?__biz=MzA3MzA5MTU4NA==&mid=2247489765&idx=1&sn=1e85a3551016e91bb07e74f19da094ec&chksm=9f15078aa8628e9c7700e1a0a53e483e63a190c583f668ceb9cdd959c421efeb1f9c42903547&mpshare=1&

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品av久久久久久无 | 欧美成人二区 | 亚洲第一页综合 | 成人视屏在线 | 亚洲操比视频 | 亚洲99| 成人在线视频在线观看 | 久久久成人精品 | 一级免费 | 精品久久久久久久久久久久 | 成人午夜高清 | 九九热视频免费 | 国产一级毛片视频在线! | 久久精品成人免费国产片桃视频 | 欧美性色大片 | 久久毛片免费 | 一级大黄毛片免费观看 | 九九热免费精品视频 | 国产中文99视频在线观看 | 国产自在自线午夜精品视频在 | 久久成人亚洲 | 日日操夜夜透 | 久久久久亚洲视频 | 成人福利免费在线观看 | 色奇米 | 欧美成人区| 日韩欧美激情视频 | 日本aaaa片毛片免费观看视频 | 奇米影视亚洲春色 | 黄色影院 | 久久精品视频首页 | 免费看一级片 | 精品国产99久久久久久宅男i | 国产免费一区二区三区最新不卡 | 欧美一区二区三区四区五区动图 | 国产伦久视频免费观看视频 | 午夜视频大全 | 人人舔人人射 | 亚洲第一页综合 | 在线成人免费观看 | 毛片118极品美女写真 |