请选择 进入手机版 | 继续访问电脑版

CCOSE论坛

 找回密码
 立即注册
查看: 2242|回复: 0

【转载】Python学习的知识图谱

[复制链接]

513

主题

742

帖子

2811

积分

论坛元老

Rank: 7Rank: 7Rank: 7

积分
2811
发表于 2021-9-4 07:34:50 | 显示全部楼层 |阅读模式
Python知识图谱

大眼铅笔关注
32019.04.03 11:36:59字数 687阅读 1,892













Python 2.3开始使用至今,整理历年经验所得,知识图谱,希望有助于学习Python的同学。


写了二十万行左右的Python代码,是Python让我得以在帝都安身立命。
Python 学习的知识图谱.jpg 技术选型
当时选择Python引入到项目团队中来,考察了当时可以接触到的几乎所有的编程语言,比如C, C++, Java, Perl, PHP, Delphi, Pascal, 甚至研究能不能使用 Masm 写出来一套满足项目需要的基础框架出来。
项目需要大量的数据处理,需要应对高频的新需求,需要跨平台迁移到不同的Linux或AIX上面运行。
提出了著名的3C原则, C Complete,能不能覆盖绝大部分的问题域, C Cost,成本,既包含开发成本也包括运维成本,也包含迭代成本,C Change,快速应对变化。
基于上述3C原则,特别最后一个C,我决定选择了Python。
选择Python的其他原因
  • Google把Python作为公司层面的第三门编程语言,和C、Java并列(大厂背书)
  • 当时非常流行的BitTorrent下载软件使用Python开发(成功实践)
  • 可以参考BitTorrent源代码(可以学习)
知识来源
日后的开发经历中,的确多多从BitTorrent源代码中受益。当时可以学习的资料非常用有限,中文资料稀缺到几乎可以说没有。
当时三个知识来源
  • Python官方,教父写的早期文档和各种PEP
  • Google
  • BitTorrent源代码
方法论
第一个版本开发出来,部署上线,即取得非常惊艳的效果,效率比其他语言开发的史前版本高出1个数量级,功能和处理逻辑复杂于史前版本,但是效率依旧高出一个数量级。
第二年开始重构,这个时候我已经非常熟悉Python的语言特性,也观摩过若干个知名开源项目的源代码。在重构中引入单元测试。
这段学习让我总结出来的方法论如下
  • 选择合适的工具可以大幅度降低研发成本和确保交付品质
  • 识别不同的知识来源,善用之
  • 选择恰当的重构或优化时间点,避免早期重构和过度优化
获奖感言
BTW
  • 感谢Python 之父 Guido van Rossum
  • 把单元测试技术介绍给我的哥们,名字叫黄冬,后来担任优酷土豆的CTO。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|京ICP备17005959号|IAC-16|Archiver|手机版|小黑屋|CCOSE论坛

GMT+8, 2021-10-25 19:29 , Processed in 0.039644 second(s), 23 queries .

快速回复 返回顶部 返回列表