閱讀開(kāi)源代碼,拒絕做平庸的程序員
1. 拒絕平庸
我害怕成為平庸的程序員,只會(huì)增刪改查,在別人討論技術(shù)問(wèn)題時(shí),沒(méi)有自己的意見(jiàn)可以發(fā)表,有技術(shù)難題時(shí),都是別人去解決而自己只能被動(dòng)等待工作的安排。
也曾下定決心,迎難而上,做一個(gè)有技術(shù)實(shí)力的程序員,可路在何方,怎樣才能提升技術(shù)能力,擴(kuò)展技術(shù)視野,增加技術(shù)深度呢?
答案是閱讀開(kāi)源項(xiàng)目代碼
2. 閱讀開(kāi)源代碼能夠帶來(lái)的收獲
學(xué)習(xí)到書本上沒(méi)有的知識(shí),更貼近實(shí)戰(zhàn)的技術(shù),開(kāi)拓技術(shù)視野
體驗(yàn)一項(xiàng)技術(shù)在項(xiàng)目里具體如何應(yīng)用,遠(yuǎn)勝于學(xué)習(xí)理論一百次
學(xué)習(xí)設(shè)計(jì)模式,架構(gòu)思路,跟著大神學(xué)習(xí),難道還害怕沒(méi)有提高么
積累解決問(wèn)題的思路,方法,在工作中需要時(shí)提出你的解決方案
深度探索python技術(shù),成為真正的大牛
閱讀開(kāi)源代碼雖然好處多多,但也困難多多,首先,你需要找到合適的開(kāi)源項(xiàng)目,其次,你需要耗費(fèi)大量時(shí)間閱讀并研究代碼,有更便捷的方法么?
當(dāng)然有,跟我一起閱讀python開(kāi)源項(xiàng)目源碼。
3. 同志們,跟我來(lái)
我在知識(shí)星球上創(chuàng)建了一個(gè)python開(kāi)源項(xiàng)目源碼閱讀的星球,在這里,我會(huì)持續(xù)更新發(fā)表對(duì)優(yōu)秀python開(kāi)源項(xiàng)目的解讀文章。?
加入星球,你將收獲的,是開(kāi)源項(xiàng)目抽絲剝繭后的精華與干貨,你也可以與我討論研究這些項(xiàng)目里的技術(shù)。
4. 已經(jīng)發(fā)表的開(kāi)源項(xiàng)目解讀
4.1 montydb
montydb 是一個(gè)純python實(shí)現(xiàn)的類mongodb數(shù)據(jù)庫(kù),其底層采用4種不同的存儲(chǔ)介質(zhì),閱讀該項(xiàng)目,你將收獲如下知識(shí):
通過(guò)屬性運(yùn)算符創(chuàng)建對(duì)象
抽象類如何在架構(gòu)設(shè)計(jì)中起作用
如何實(shí)現(xiàn)mongodb的查詢語(yǔ)法
4.2 pip-autoremove
使用pip卸載一個(gè)第三方庫(kù),這個(gè)庫(kù)的依賴會(huì)遺留下來(lái),但使用pip-autoremove卸載一個(gè)庫(kù),會(huì)連同其無(wú)價(jià)值的依賴一同刪除。
學(xué)習(xí)該項(xiàng)目,你將會(huì)了解如何獲取python的安裝包信息以及如何獲取到一個(gè)庫(kù)的依賴信息,這對(duì)于你理解python如何管理第三方安裝包十分有用。
4.3 flynt
python3 之后提供了f-string 這種字符串格式化技術(shù),但很多2.7 版本的代碼還是老式的格式化方法,例如使用% 和 format,flynt 可以幫你自動(dòng)修改代碼,將老式的格式化代碼轉(zhuǎn)化為f-string 形式,是不是特別神奇。
閱讀該項(xiàng)目,你將接觸并學(xué)習(xí)到ast抽象語(yǔ)法樹(shù)模塊,掌握這個(gè)模塊,可算得上在技術(shù)上更上一層樓了,我利用該模塊寫過(guò)一個(gè)python代碼檢查程序,檢查變量命名,函數(shù)命名,類命名是否符合要求。
后續(xù),我將發(fā)表更多的開(kāi)源項(xiàng)目解讀文章,加入星球,閱讀更多開(kāi)源項(xiàng)目,早日成為技術(shù)大牛。
