1
w292614191 2023-01-09 17:23:09 +08:00
在实际业务中练手
|
2
DingJZ 2023-01-09 17:38:39 +08:00
1. 只说提升创造库的能力
copy ,处理 excel 、需要生成 pdf 的库等等你想学的,反正已经有人写了,分析他,解构他,照他的写一个。 2. 另一个角度来说,这些需要的其实是对相关业务的知识,你用他的库实现了一个功能,这个功能是个业务含义的功能。你掌握的是这个业务以及需要的知识。 他实现了一个生成 pdf 的库,生成 pdf 就是他的业务,大家做的业务不同而已,对应的需要的知识范围也不一样,这很正常。 |
3
netabare 2023-01-09 20:27:29 +08:00 via Android 1
可以从简单的库开始。
举个不恰当的例子,比如说 compiler ,要实现一个复杂语言的很复杂吧,但是简单的,LL(1)的文法解析,手写可能有点复杂,但用生成器的话基本上大家都会,一个只有 int 和最简单几个语言结构的,大概就是本科生大作业的程度。 那么,在这个基础上,就可以观察一下自己想要做什么方面的扩充,然后去针对性地学习和扩展功能,比如说,更多的基本数据类型、结构体、OOP 、类型检查、编译到特定的机器上,之类的。 像是数据库或者 pdf 库之类的,大概也是类似的内容吧。 而且如果把功能拆分开来然后逐个审视的话,op 也许会发现,其中有许多功能已经有别人做过了,比如说对命令行参数的解析,甚至连 pdf 解析这件事本身也是别人做过的。 那么就可以问一下自己,实现这个项目的目的是什么呢,如果是为了短平快,那么自然可以别的类库都用上,如果是为了学习,就可以自己去寻找各种材料,比如说 pdf 的 spec 或者一些简单的类似项目的代码,来参考学习。 这样的话,就可以从简单的开始,一点一点把项目往复杂里做,也可以先依赖第三方库,在自己写出了自己的版本后把这个库给替代了。 我觉得最重要的大概是两个能力吧,一个是「解决问题的能力」,看 op 的介绍,在这方面应该没有问题。那么第二个能力,就是,组合和拆分,也就是说,把一个复杂的问题拆分成许多小问题,再把小问题拆分成更具体的任务…之类的,把不同的知识点组合起来,然后形成一个可以去做的项目,这样的能力。 |
4
solitude2 2023-01-10 16:26:11 +08:00
我觉得更难的是,要有强烈的动机,或者说自我驱动去思考然后输出成落地效果。思考才是 core
|