蜜桃无码视频,欧美日韩一=三道夲,国产精品午夜AV电影网免费看,aaa.www

歡迎來到 常識(shí)詞典網(wǎng) , 一個(gè)專業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!

[ Ctrl + D 鍵 ]收藏本站

您所在的位置:首頁 > 教育學(xué)習(xí) > 知道

知道

有了源碼該如何使用,源碼使用教程

分類: 知道 常識(shí)詞典 編輯 : 常識(shí) 發(fā)布 : 04-24

閱讀 :220

每天凌晨00點(diǎn)00分, 第一時(shí)間與你相約 每日英文 Just because I’m not talking, doesn’t mean I’m in a bad mood. Sometimes I just like to be quiet. 我沒說話,不意味著我心情差。有時(shí)候,我就是想安靜點(diǎn)。 每日掏心話 你改變不了已經(jīng)發(fā)生的,所以不要浪費(fèi)時(shí)間想那么多了。前進(jìn),放手,忘了它,就這么回事。 來自:xybaby | 責(zé)編:樂樂 鏈接:cnblogs/xybaby/p/10794700 程序員小樂(ID:study_tech)第 751 次推文 圖片來自 Pexels 往日回顧:【圖解】6張圖搞懂 TCP 為什么三次握手而不是兩次握手!(正解版) 正文 由于項(xiàng)目的需求,最近花了較多的時(shí)間來看開源項(xiàng)目的代碼,在本文中,簡(jiǎn)單總結(jié)一下對(duì)為什么要看源碼、如何看源碼這兩個(gè)問題的思考。 看源碼的意義 看源碼只是一種方法、手段,而不是目的。我也曾經(jīng)給自己制定過“閱讀xxx源碼”的目標(biāo),現(xiàn)在看起來真的很蠢,一點(diǎn)不smart(specific、measurable、attainable、relevant、time-bound)。 只有搞清楚了閱讀代碼的目標(biāo),才能有的放矢,抓住重點(diǎn),高效達(dá)成任務(wù)。 看源碼的意義總結(jié)起來包含但不限于以下幾點(diǎn): 一、解決問題(BUG) 只要是代碼,就會(huì)有bug,只是說bug的多與少、深與淺罷了?,F(xiàn)在大家都喜歡發(fā)布、使用開源項(xiàng)目,不同的開源項(xiàng)目社區(qū)成熟度、代碼質(zhì)量又會(huì)有較大的差異,遇到bug就不足為奇了。 當(dāng)然,遇到bug肯定是先在網(wǎng)上搜索是否有類似的問題,一般可以在google、Stack Overflow、項(xiàng)目的issues里面有對(duì)應(yīng)的關(guān)鍵詞搜索。如果搜不到,那么就只能看源碼解決了 二、知其所以然 我在[如何學(xué)習(xí)新技術(shù)、團(tuán)隊(duì)技術(shù)選型時(shí)要注意些什么][Link 1]里面提到過,如果我們需要將一個(gè)開源項(xiàng)目用到自己的項(xiàng)目中,那么就必須了解這項(xiàng)項(xiàng)目的優(yōu)缺點(diǎn),并深知原理,對(duì)部分細(xì)節(jié)(尤其是項(xiàng)目的優(yōu)勢(shì)、feature)進(jìn)行深入研究。 如果是成熟的開源項(xiàng)目,遇到問題也許能google到很多答案;但如果是一個(gè)處于快速發(fā)展中的開源項(xiàng)目,多了解其架構(gòu)、核心原理,也能幫助快速定位問題。 另外,有的項(xiàng)目文檔可能不那么豐富,但又不得不使用,那么如何以正確的姿勢(shì)使用呢?也得參考源碼 三、學(xué)習(xí) 看源碼也是一種不錯(cuò)的學(xué)習(xí)方式(雖然不一定不是最佳的方式),尤其對(duì)于比較優(yōu)秀的開源項(xiàng)目,能讓人大開眼界。 即使是出于學(xué)習(xí)的目的,也是有很多側(cè)重的,比如 學(xué)習(xí)語言:代碼風(fēng)格、規(guī)范、慣用法、高級(jí)語法。對(duì)于某個(gè)語言的新手,找一個(gè)熟悉領(lǐng)域的開源項(xiàng)目來深入掌握這門語言,也是一個(gè)不錯(cuò)的注意。 學(xué)習(xí)設(shè)計(jì):數(shù)據(jù)接口、框架、整體架構(gòu) 學(xué)習(xí)理論:算法、協(xié)議。比如我之前寫過的[raft協(xié)議][raft],光看論文是很枯燥的,而且算法理論到工程實(shí)踐還是有一定的差距,這個(gè)時(shí)候結(jié)合開源項(xiàng)目([mongodb][])實(shí)現(xiàn)往往更事半功倍。 四、改造 一般來說,我們剛開始僅僅是使用一個(gè)開源項(xiàng)目,但隨著使用的深入,會(huì)發(fā)現(xiàn)一些自己需要的功能并沒有很好的支持,向項(xiàng)目組提的issues也可能得不到快速的響應(yīng),這個(gè)時(shí)候就要自己開分支,改代碼,加功能了。 當(dāng)然,比較好的是將自己分支比較好的新feature 給原項(xiàng)目提merge request,反哺開源項(xiàng)目,比如阿里的[Blink][] 五、借鑒 他山之石可以攻玉,如果有需要重新開始自己造輪子,那么參考一些已有的、優(yōu)秀的輪子肯定是有好處的。 六、副產(chǎn)品 這一點(diǎn),不應(yīng)該作為我們閱讀源碼的出發(fā)點(diǎn),但是確實(shí)能在實(shí)際中對(duì)找工作、面試有加成,算是副產(chǎn)品吧。 如何看源碼 看源碼的目的很大程度上影響了看源碼的方式、需要閱讀的代碼的范圍。比如說,如果是為了修一個(gè)線上bug,那么閱讀代碼的范圍就緊緊圍繞bug本身;而如果是為了了解某個(gè)分布式算法,那就需要按大量的、可能運(yùn)行在不同節(jié)點(diǎn)(進(jìn)程)上的代碼,了解其交互原理、工作流程。 下面說一些通用的方法。 先看文檔,整體把握 一般來說,文檔是對(duì)代碼的高度凝練,一個(gè)高質(zhì)量的開源一般會(huì)包含tutorial、specification、API reference等documents,通過選擇性的略讀、精讀這些文檔,就能大致了解項(xiàng)目的整體架構(gòu)、設(shè)計(jì)原則 正確的路線是通過文檔去認(rèn)識(shí)這個(gè)項(xiàng)目,然乎通過閱讀代碼去驗(yàn)證文檔、深入細(xì)節(jié),而不是通過直接啃源碼來了解這個(gè)項(xiàng)目,以偏概全。 理解代碼組織,文件名,類名 當(dāng)需要看代碼的時(shí)候,不要找到一個(gè)文件就開始,先看看代碼組織,粗略看看文件名、類名,基本就能猜測(cè)到每一部分。比如redis的源碼就組織得很好,基本上看文件名就可以快速定位每一個(gè)command的實(shí)現(xiàn)位置。 關(guān)注一個(gè)問題,從問題追蹤代碼 看源碼的目標(biāo)決定了此時(shí)此刻的關(guān)注點(diǎn),不管是解決遇到的bug還是學(xué)習(xí)某個(gè)算法,都讓我們聚焦到一個(gè)具體的問題,從這個(gè)具體的問題去追蹤代碼,忽略掉當(dāng)前無需關(guān)注的細(xì)枝末節(jié),步步深入,直達(dá)目標(biāo)。 當(dāng)然在解決一個(gè)問題的時(shí)候,有可能會(huì)引發(fā)新的問題,尤其是學(xué)習(xí)的時(shí)候,此時(shí)只需記錄新問題(放到收集籃,不要立即發(fā)散),待之前追蹤的問題解決之后,再來看新發(fā)現(xiàn)的問題。 解決一個(gè)issue 如果自己沒有問題,那么就幫忙解決別人的問題,通常來說,開源項(xiàng)目都有許多待解決的issue,從中選擇一個(gè)入手即可。 調(diào)試 只要可以,一定先讓代碼編譯通過、跑起來,這樣不管是加log、打印調(diào)用棧還是斷點(diǎn)調(diào)試都方便很多。尤其是對(duì)于像python這種動(dòng)態(tài)類型代碼,不跑起來很難知道到底在干啥。 加注釋,做筆記 如果某份源代碼的閱讀并不是一錘子買賣,日后還可能回顧、重新閱讀,那么就一定要做好代碼注釋和筆記。筆記主要是框架圖、類圖、流程圖,目標(biāo)是建立索引,方便日后快速回憶。 而注釋就是閱讀代碼時(shí)的細(xì)節(jié),重新閱讀的時(shí)候看注釋(特別是函數(shù)的注釋)能節(jié)省很多時(shí)間。 歡迎在留言區(qū)留下你的觀點(diǎn),一起討論提高。如果今天的文章讓你有新的啟發(fā),學(xué)習(xí)能力的提升上有新的認(rèn)識(shí),歡迎轉(zhuǎn)發(fā)分享給更多人。 猜你還想看 阿里、騰訊、百度、華為、京東最新面試題匯集 Java中關(guān)于try、catch、finally中的細(xì)節(jié)分析,看了都說好! IDEA熱部署之JRebel的安裝與破解教程 終于明白為什么要加 final 關(guān)鍵字了!
www.色综合视频| 国产毛片AV一区二区三区在线 | 欧美综合亚洲色| 亚洲av偷窥影视| 久久精品国产72国产精| 免费国产在线精品二区| 久久久97国产欧美精品一群二群| 日本精品免费在线视频| 亚洲人一区二区三区| 污污网| 日韩精品福利视频一区二区三区 | 人人摸摸人人| 91在线免费观看| 自慰喷水系列AV片免费看| 成人在线免费欧美日韩| 中文字幕在线视频一区| 一区二区三区亚洲人妻| 天堂资源在线播放| 美女18禁网站| 日韩国产成人精品视频| 国产永久一区二区三区免费看| 婷婷综合六月网| 人妻系列无码专区久久五月| 深田AV在线| 国产成人网站在线观看| 亚洲AV中文无码字幕色三| 日本视频一区二区免费播放| 影音先锋人妻中文字幕| av一区二区三区不卡在线看| 欧美疯狂做受XXXXX高潮| 涩涩视频在线免费| 国产在线精品二区| 欧美久久国产成人让激情| 欧美亚洲少妇| 日本电影久久久三级| 农村少妇超碰自拍| 小日本久久久| 色五月婷婷色丁香| 久久精品国产第一区| 少妇性爱在线观看| 五月丁香六月综合在线|