你们好,我又回来了,这一个多月来除了工做,闲暇时间作了些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源创计划”,欢迎正在阅读的你也加入,一块儿分享。