你們好,我又回來了,這一個多月來除了工做,閒暇時間作了些sideproject
,之後會和你們分享。如今有些時間了,是時候從新打理下本身的公衆號了。一我的的時間和能力老是有限的,因此我拉了一個小夥伴和我來共同維護這個公衆號。但願能夠多產出一些乾貨,和那些「技術營銷號」完全區分。好了廢話很少說,進入我們今天討論的主題「如今是否適合升級到Python3.8」。django
Python 3.8
已經發布有小一個月,它的各類新增功能其餘各大頭部公衆號已經分享的挺多,總結的也還能夠,這裏便再也不贅述。你們能夠看官方文檔What’s New In Python 3.8,這應該是最全面最權威的說明了。服務器
Python3.8
確實有不少吸引咱們的語法和模塊優化,那麼如今是否合適把咱們的項目升級到3.8呢,咱們來分析。微信
爲何要升級
咱們先來思考,咱們升級的初衷是什麼?我總結了下大概有以下兩點:架構
-
新語法,新的語法可使咱們在編寫相同邏輯的時候,代碼更簡潔,思路更清晰。 -
性能提高,新的版本優化了不少模塊,使代碼運行效率更高。 -
遇到版本bug, 遇到了使用版本的bug,新版本中已修復。
除了版本bug不能不升級外,編碼的效率和系統的性能確實是咱們在技術選型和升級時考慮的重要因素。可是,還須要結合咱們現有的技術架構,例如,咱們的測試系統是否支持新版本的case?咱們的部署系統是否支持新版本的持續集成和發佈?監控呢?綜合評定下來,咱們升級項目時,實際上是升級的整個系統技術架構,這便須要咱們花費大量的時間來測試升級的收益比是否足夠高。有時候咱們總體算下來的時間和成本,還不如多加幾臺服務器來的實惠。框架
因此,我給出的建議是,先不要升級。ide
不建議升級的依據
升級語言版本是一個巨大的工程,除了上邊說的要權衡好時間和收益外,還有如下幾點不建議你們如今升級的緣由:性能
第一,許多功能強大的三方包都尚未升級支持Python3.8。我翻了下流行框架Django的官方文檔,截止到發文(2019-11-05)其中並無明確的標識對Python3.8的支持。你們可到這裏查看各django 版本對應Python的版本:What Python version can I use with Django?測試
第二,Python 3.8 剛剛發佈,如今是3.8.0
版本,也就是說,在3.8版本基礎上並無作過任何的bug修復。或者說並無大批量的通過生產業務場景的考驗。優化
何時升級
那麼咱們何時能夠升級呢?我認爲應該具有以下條件:編碼
-
你的升級成本相對小或者有版本的限制瓶頸。 -
你項目全部的依賴的庫都已明確標識支持Python3.8版本。 -
Python3.8 進行了部分bug的修正,或者直接拿版本號來限定,至少升級到Python3.8.1 。
在這些條件下,你即可以體驗新版本簡潔的新語法了。
總結
其實升級語言或者依賴模塊包的版本,根本的依據是看咱們有沒有需求。我見過使用很老語言版本的項目,可是它們依舊運行的很好,可以很好的完成工做,知足使用者的需求。切勿盲目的追求新的技術,而忽視了業務需求。說到底,技術仍是要爲業務服務的。
本文分享自微信公衆號 - 碼農吳先生(CoderMrWu)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。