当掌握到一定程度的 Python 后,读源码是否更容易提高技能?

2019-08-15 18:39:21 +08:00
 Abbeyok

看了一通flask_caching的源码,学习到很多东西,远比不断的搜索效率更高,也终于理解了如何自定义 make_cache_key

分享一番: https://www.abbeyok.com/archives/396

2894 次点击
所在节点    分享创造
12 条回复
bumz
2019-08-15 19:06:17 +08:00
多读源码是必要的
但是比读源码更能提高能力的是在事先不知道的前提之下,重新犯一遍别人犯过的错

换句话说就是独立实践
bumz
2019-08-15 19:07:57 +08:00
比如不看前人代码,自己独立写一个 WSGI web 应用框架
Abbeyok
2019-08-15 19:08:53 +08:00
@bumz emmm 那得首先了解原理
Abbeyok
2019-08-15 19:12:38 +08:00
@bumz 问个问题,像 flask-caching 这种比较简单的源码可以读懂,但是像 flask 的源码,组织结构比较复杂,该如何读起?
cigarzh
2019-08-15 20:17:07 +08:00
几种不同的境界:

读懂源码非常吃力

读懂源码非常轻松

读完能指出源码哪里写的漂亮,哪里写的垃圾,并能给出几种更好的实现

往上还有更恐怖的层次,我就不谈了
ragnaroks
2019-08-15 21:12:22 +08:00
如果源码的水平在你之上,那肯定更显而易见的提升.
也如 1 楼所说,遇到问题并解决问题才是最有效的.

我个人也认为理想的学习情况就是独立完成一个应用,然后遇到问题,然后解决问题.
我个人最开始学 C 是看书看视频的,从第二个语言 C#开始就是读下文档直接开撸.

最怕的就是遇到一个问题,谷歌一下只有一个结果,点进去发现问题和你描述完全一致,然后提问时间 N 年前,0 回复.
ragnaroks
2019-08-15 21:13:23 +08:00
最近在做 WFP 驱动开发,有些问题连微软自己都搞不清楚,真的要死,头都大了
visitant
2019-08-16 01:03:44 +08:00
如果能做到遇到问题,解决问题,再看源代码会比较好吧
xiaket
2019-08-16 06:40:18 +08:00
@Abbeyok HTTP 入口开始读, 看路由是怎么转发的, HTTP 请求是怎么交给业务逻辑处理的, HTTP 响应是如何被构造出来的. 这一串了解完之后就没大问题了. 如果还有兴趣, 再去看各个框架特异性的东西, 比如 Djngo 去看看 ORM 等等
Abbeyok
2019-08-16 07:43:55 +08:00
@xiaket 多谢
nguoidiqua
2019-08-16 08:48:11 +08:00
其实读书读文档也好读源码也好,最有效办法就是带着问题去读。比如你在某个地方有疑问,你去看源码找原因。或者你对某个功能实现很感兴趣,你想要借鉴一下。

这样去读,基本上读到就能做到,水平也就提高了。
troywinter
2019-08-16 22:35:41 +08:00
不自己写的话,过几天你就又忘了,还是要多用多写。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/592231

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX