任何一个库,在移植之前,我们必须明确几点
1. 知道它的功能是什么?
2. 它是如何实现这个功能的?
3. 它的输入输出是什么?(ps:我们通常比较明确它的输出是什么,而不清楚它的输入以及依赖,这往往导致后续的错误)
我们往往更应该关注的是,它是如何实现这个功能的。
它的框架是什么,
它的流程是怎样的,
它运行中的动态变化,
它怎样获得CPU资源,又如何返还?
我们需要怎样初始化库?
我们最好可以把库抽象成一个流程图,如此,框架自然就一目了然,阅读源码的起始点与终点一目了然。
ps: 笔者认为源码的阅读很没必要,设计师会去看他设计的房子如何一砖一瓦搭建起来嘛?他会去看砖厂怎么烧砖嘛?
选择比方向重要得多,先建立整体的框架概念,就可以去关注细枝末节,分配好自己的精力资源。(论大局观的重要性,战术后仰)
作为一个程序员,不要一味的在写代码,在移植,在挖坑,填坑,挖坑,填坑。
工地里价值最大的不是埋头苦干的工人,而是冥思苦想的设计师。程序员如是,重复的写一些代码何尝不是另类的体力劳动?
跳出来,跳高点,以整体设计者的角度来把握程序的架构,去学习优秀的程序架构,去创造自己的程序架构模板,去创新程序架构。如此才是程序员嘛。
计算机的世界如此自由,而我们,却如此缺少创意,莫大的悲哀。
我们本是(计算机)世界的创造者,但我们竟然认为其枯燥无味就令其荒凉至此。
标签:架构,技巧,程序,程序员,源码,我们,移植 From: https://www.cnblogs.com/1234----/p/17799686.html