天天看點

(4opencv)OpenCV PR 成功的收獲和感悟

 2018-09-12,第一次對OpenCV PR成功

(4opencv)OpenCV PR 成功的收獲和感悟
https://github.com/opencv/opencv/pull/12206

《find innercircle of contour by using pointPolygonTest》

(4opencv)OpenCV PR 成功的收獲和感悟

    總的來說,參加PR絕對是一件消耗時間精力(特别對于新手),同時收獲非常巨大的事情。下面,分幾個方面對這次工作進行總結。

    一、價值和收益

    1、獲得名譽、結交高手

    這是隐性的收獲,但卻是絕對重要的收獲。在anwseropencv上面的交流,在githup裡面送出pr和issue,你所交流的這些人,都是這個方向最為優秀的工程師,和他們進行交流,能夠有很多收益。

    2、項目了解

    正是因為要向項目送出代碼,強迫自己必須從結構、細節等多個方面去了解這個項目,絕不是僅夠用就可以。這就使得你對項目的了解能夠更上層次,進一步地了解項目内容;

    更深入的了解,帶來的結果,顯而易見是在使用的時候能夠更得心應手。“你對你所做的了解的越多,則越能夠做得更好”    

    3、代碼規範;

    我們都說cleanCode,但是你寫出來的到底是不是cleanCode,隻有一個籠統的概念。OpenCV通過自動建構,你必須按照它的規範來寫(嚴格到多一個空格,或者使用了tab而不是四個空格都不可以),這就要求你必須盡可能地用規範代碼編寫,養成良好習慣。【附錄我會給出一個被拒絕的具體情況】

    同時,owner會提示你正确的代碼是怎樣的(因為他拒絕你總要給個合适理由),往往這些提示都是非常精準的。就是通過這個過程,能夠讓我寫出高品質的代碼;

    二、成功pr的來源

    1、選題必須要恰當

    簡單的來說,絕對不能為了pr而去pr,而是要在自己的使用OpenCV的過程中,确實發現的問題、确實發現的更好的算法,那麼通過pr就能夠幫助你将初步的想法變成一套正規的解決方案。

    2、代碼必須符合規範

    相比較邏輯錯誤,由于代碼規範問題導緻的錯誤更容易成為你的絆腳石;

    3、把我節奏,注重效率

    pr最終還是和人的溝通,那麼要注意管理者的活躍時間,以及和他們進行有理有節的“鬥争”。

     三、關鍵的工具

    1、github desktop

    2、

www.github.co

m

    3、buildboot等自動化工具,要首先讓代碼在本地能夠通過包括“代碼格式”的稽核,然後再上傳上去。

    PR,特别是對OpenCV這樣的偉大項目的PR,應該說非常有價值意義。值得投入時間進行研究,盡快提高PR成功的可能。

   p.s

opencv的pr是自動編譯的,如果編譯不通過,肯定不會被merge,首先要過的就是merge這關

(4opencv)OpenCV PR 成功的收獲和感悟

為了穩定,opencv不允許warning,這也是為了編寫高品質代碼

(4opencv)OpenCV PR 成功的收獲和感悟

像這種warning,可能平時寫程式的時候,完全不會在意,但是build就不通過。這樣對代碼品質提出更高要求。

隻要告訴我哪裡錯了,就沒有問題。    

(4opencv)OpenCV PR 成功的收獲和感悟

語言習慣錯誤

(4opencv)OpenCV PR 成功的收獲和感悟

曆史版本問題

(4opencv)OpenCV PR 成功的收獲和感悟

之前的紅的好像過去了

(4opencv)OpenCV PR 成功的收獲和感悟

空格都能看出來,厲害

(4opencv)OpenCV PR 成功的收獲和感悟

這個時候,管理者介入了,出現了更多錯誤

(4opencv)OpenCV PR 成功的收獲和感悟
來自為知筆記(Wiz)

目前方向:圖像拼接融合、圖像識别

聯系方式:[email protected]

繼續閱讀