1
liangjiahui 87 天前
计算机基础、扎实的目标语言基本功,熟悉各种设计模式,然后就是理解能力去看人家的源码
|
2
diagnostics 87 天前
编码到一定经验就看得懂了,当然前提是接触的代码一直都是“较高”质量,而不是只有业务的。
|
3
diagnostics 87 天前
我以我看:akka 、lettuce 、netty 、kafka 、redis 、spring 的经验来讲
1. 首先是先入手源码的基础框架,一般从书籍上获得,实在没有就看文档解释,例如我看了 Kafka 源码剖析的结构部分,akka 实战、netty 实战、java 网络编程 2. 有了整体架构的概念,自己也会根据 API 写代码,那就知道自己会想看什么知识 3. 知道想看啥,也得会背后相应的知识,如 lettuce 的源码要求很懂网络编程,还有状态机; akka 要求分布式、响应式的一些原理,kafka 要求文件 IO 编程,网络编程,分布式系统 4. 从一个问题去看人家怎么写的 简化版: 1. 框架 2. API 3. 理论 4. 工业级实践 懂 1 、2 、3 不一定会写 4 ,4 写出来要高性能、测试完善,还是要功力的。 |
4
diagnostics 87 天前
|
5
Austaras 87 天前
如果只是想去 PR ,那找 good first issue 直接开干就好了,当然前提是熟悉使用的语言;如果想要了解编译器是怎么运行的,那最好还是找本书看看
|
6
maokg OP @diagnostics 感谢!感觉要重读编译原理了
|
8
maokg OP @liangjiahui 看过一些 Android framework 的源码,设计模式知道是知道,但属于那种不能得心应手的识别
|
9
windcode 79 天前
最好找一些汇总了「社区任务清单」的开源项目,相比 good first issue ,这种的 Maintainer 已经整理好适合新人入门的 issue 并且做了难度分类,比如: https://github.com/KusionStack/karpor/issues/463
直接领一个开搞,提交 PR 后 Maintainer 一般会认真 review ,如果有不符合流程或者规范的地方都会提醒你,走一边流程基本就清楚这些项目的研发流程了。 |