技术学习的思考

  1. 学习新的技术,先了解这项技术有什么用,可以解决哪些技术难点,落地这项技术的场景。以及和其他技术的对比,和提出自己大概了解这项技术后存在的疑问。
    o 例如核间通讯IPC与芯片间通讯ICC有什么区别

  2. 对要学的技术梳理出一个框架,根据这个框架先找到几个核心的技术点-先理解后写笔记
    o 框架先搭起来,之后再去充分的研究框架里的核心技术点的理论
    o 充分理解技术的实现逻辑和核心技术点的理论是怎样的,不要急着去看代码的实现
    o 根据核心技术点对自己提问

  3. 在研究完技术的理论之后,针对这项技术提出自己的疑问
    o 比如我现在有两个core,一个core跑Linux另一个core跑OSEK OS,我要如何实现IPC的协议栈。
    o 再比如 IPC 实现的是核间通讯,那么他传输的是什么信号,怎样的信号,在接收到了这个信号后,会对这个系统有什么影响
    o 先去找疑问的答案,以及带着自己提出的问题,去撸代码

  4. 根据这几个核心的技术点和自己的问题撸代码,可以快速地理解要如何实现这个功能
    o 代码是要完整的实现了这个功能
    o 刚开始撸代码,先去匹配梳理出的技术框架和代码实现逻辑,这样才能完整的知道如何用代码实现这项技术。
    o 撸代码的过程中,不用去纠结细节
    • 比如变量或者判断逻辑之类的,这些是写代码的人实现核心技术的逻辑,没必要纠结,你自己写又是一套逻辑。
    o 技术的理论框架与代码的实现很多时候是有出入的,那么出入点是什么,出入点会不会是我没有get到的核心技术点,或者这项技术要配合其他技术共同使用,根据这些再去完善这项技术的框架
    • 比如TDA4中IPC的实现与ucom之间的关系。

  5. 在清晰的知道如何实现这项技术后,基于自己手里的其他资源去实现这个功能,参照之前的code。这样在技术上就能形成一个积极的负反馈
    o 比如核间通讯IPC我是基于STM32MP154去理解的,那么现在我现在要基于TDA4如何去实现这个功能
    o 没有必要去记住代码中的API,就好像操作系统的接口一样,记住API没有什么意义,freertos和ucosiii的api不一样,难道换个API你就不会用了吗,你要理解的是操作系统的运行机制,堆栈的处理等,形成一个系统的理论,

你可能感兴趣的:(Code理论,学习)