起因

最近在公司的任務(wù)是寫一些簡單的運(yùn)營工具,因為是很小的工具,所以就用了github上面的一個開源項目flask-admin,可以省去很多的事情。

但是,這個開源項目是個人維護(hù)的項目,所以文檔相對簡單,網(wǎng)上的資料相對較少,遇到一些產(chǎn)品經(jīng)理要求具體功能并不能直接通過文檔和例子中的代碼找到答案。所以,我只能通過閱讀源代碼,重寫相關(guān)類以及方法實(shí)現(xiàn)了具體的需求。在這個過程中,學(xué)習(xí)到了一些東西,同時整理了自己以前的一些收獲,然后分享給大家,有不對的地方還望海涵、指正。

閱讀代碼有助于處理bug

閱讀代碼是一項更重要的技能,在大學(xué)編程語言的考試中也有相關(guān)的考察——代碼填空、代碼查錯。在工作中用到的地方更多:

  1. 查找bug

  2. 參與到已有的項目

  3. 接手別人的工作

  4. 開源項目的二次開發(fā)

python是解釋性語言,不需要反編譯就可以看到源代碼,利于查找bug。在找bug的時候,最重要的是定位bug的位置,比較直觀的bug是通過閱讀異常可以定位到bug的位置。而有的異常信息,例如:AttributeError: 'NoneType' object has no attribute 'get' 會讓你覺得很費(fèi)解,因為你本以為這個肯定有值,怎么就是None了呢?這個時候,你可以在異常定位的位置前面,把這個object的值打印出來,重新調(diào)試。察看

網(wǎng)友評論