# Manager

> 首先开源库都会实现某个功能，我们先要理解这个库是干嘛的

- Skill: `majiayu000/manager-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/manager-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/manager-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/manager-3

---


### 阅读和理解开源库的方法
   首先开源库都会实现某个功能，我们先要理解这个库是干嘛的

   然后我们看demo，看示例代码，示例代码一般是实现这个功能的api

   然后我们看整个库（工程）的结构，根据单一职责的原则，一个工程要
实现某个功能要分为很多模块，各个模块都有不同的职责。
根据开闭原则和依赖倒置，各个模块之间的依赖肯定是依赖于接口或者抽象类
所以我们看接口或者抽象类的定义，根据接口名来初步判断这个模块是负责什么
职责的。

   这样我们能大概分清楚这个工程有几个模块构成。
根据里式替换原则，各个模块的抽象肯定有一个或者多个实现。
那么我们ctrl+t 观察他的所有子类，就知道这个模块具体实现类有哪些

   我们根据以往经验来根据命名来判断这个模块是什么职责
比如:
XXXTransformer（变化器，对传入对象进行处理，返回处理后的对象），
XXXConverter（转化器，一种数据类型转化为另一种，比如String转Json），
XXXDispatcher(分发器，读取数据，然后分发给指定的处理类)
XXXSource（肯定是负责提供某种资源的类）
XXXMaster(根据迪米特法则，肯定是负责创建和协调各个模块的类)
XXXBuilder(肯定是构建者模式来构造摸个对象的类)
XXXStrategy（肯定是策略模式中用到的类，具体XXX这种行为的策略，比如EncodeStrategy）
XXXFetcher(是获取XXX资源的类)
XXXEmitter-发射器
XXXException-自定义异常
XXXFetcher- 配置获取
XXXHelper-某功能工具类
XXXLoader -加载类
XXXManager - 管理类
XXXLauncher - xx启动相关逻辑
XXXTask - 线程池的执行任务
XXXWrapper - 包装模式，屏蔽内部细节
XXXHolder -  xx对象持有类，相关处理
XXXGlobal - 全局变量
XXXConstant - 全局常量
XXXService - 模块对外提供服务的接口
XXXServiceImpl - 接口实现类
XXXLogic - 某些通用逻辑，公共逻辑，独立逻辑


代码肯定有设计模式，遵循设计模式6大原则，
比如 观察者，observable-observer
Subscriber-Publisher

结合名称和设计模式能确定这个类大概是什么职责了。
然后再看看基类上的注释就差不多理解这个类是干啥的了

tpp:代码超过100行就拆分职责，搭配上设计模式，可拓展，支撑未来业务。
抽取封装。用框架，rxjava，jetpack。

=======架构设计
所有类加上基类，如果以后统一给子类加逻辑，就可以在基类里改动
所有调用加上接口，接口隔离，方便以后灵活替换实现类


  =============如何阅读代码、读代码，理解代码==================
   如何阅读代码
   首先，他们写的代码肯定要遵循设计模式6大原则，他们的类设计一定是单一职责的
   所以我们看一个类，看类名（ ）

        ，先看一下注释和方法名，和里面的方法，知道这个类的职责是什么
        然后是开闭原则，里式替换，依赖倒置，所以他们每个模块肯定会设计抽象类或者接口

   然后这些接口肯定有子类，就是具体功能的实现（或者不同功能的实现）。而且各个模块之间
   肯定是依赖抽象（就是持有其他模块的接口)
        迪米特法则，所以如果模块过多，肯定会有一个Manager类，来协调各个模块之间的关系
   避免他们之间过度依赖，就像EventBus.class Volley.class Picasso.class
        接口隔离，他们设计的接口肯定是不能再分了，里面没有多余的方法
        通过这6个模式的分析，我们能知道一个项目大体有几个模块，每个模块负责什么
        然后他们里面肯定用了23种设计模式。所以我们根据模式的作用，也知道他的逻辑
   迪米特法则，就是各个模块之间，不能是网状结构，而是流式结构或者路由结构

### 框架设计
首先要明确你的框架要解决什么问题，你的竞品有哪些，他们有哪些不足，你框架的优点是什么
然后梳理一下你框架需要的功能点，然后根据不同的功能点可以用不同的设计模式解耦
做到高度可配置，可拓展。
比如
Platform.get().doSomething(); 这就是做平台适配



### 解决忘记问题
我们看源码总是会忘，EventBus源码看了一遍，写了一遍，就是没写总结
最后问原理，还是忘了具体的细节，记得一个大概，所以现实中我们可能
对一个框架用的不多，而且不经常看他有关的文章，那么时间长了肯定会忘了细节
所以这个时候写总结文章就很有用了，这就相当于把知识缓存到硬盘上
等面试的时候再加载到我们的脑子里
    写文章需要写具体的实现流程，关键点。然后总结概括，因为有了概括
你才能将细节串联起来，更容易记忆。

### 信息过时问题
有很多文章已经很久远，这些文章的api可以已经不存在了，
所以我们获取信息的最好方式就是看官方文档。

### 看不懂的问题
很多新技术，或者比较复杂的框架，不会用，看不懂没关系，哪怕通读一遍
但是一定要趁早看，隔天再看，隔周再看
因为人脑在睡觉的时候会自动整理大脑中的记忆。所以很多时候在过段时间
再看一下技术文章，一下就有通了的感觉，就是这个道理。


### 名词解释
API：（Application Programming Interface,应用程序编程接口）是一些预先定义的函数（方法）
    比如Android 的 framework api
    使得我们能使用Android系统的一些功能，又无需访问源码，或理解内部工作机制的细节。

框架：框架就是别人写好的代码，你可以直接调用

### 开发效率
只要有相同的代码，都可以抽取到基类中，而不同的部分可以用泛型表示

### 2021技术规划
目的：js，jx

学习：
gradle学习
产品学习，尝试用技术解决产品问题，推动产品发展
架构学习，各种模块使用设计模式来增加健壮性，拓展性
方法论沉淀输出

方法论：
工程基础建设：瘦身套件，启动统计套件，代码检测套件，持续集成
线上APM治理：xcrash，卡顿，启动时长，IO监控，主要业务时长
热修复：



### other
今天也不知道写啥，今天是2018-9-6，离去年的十一快一年了，这一年真是煎熬
2018-10-09 中秋结婚，加上国庆玩了7天。。没有commit
2018-10-24 公司项目停了，换新的公司，希望是个新的开始
2018-11-16 （晴·2°）马上要开始新的项目了，有挑战，希望一切顺利！
2018-11-27 20:55（晴·5°）这版不做移动端了，被叫去写游戏，自己也开始学js了，加上小静又说去云南。。亚历山大
2019-02-14 11:39（雪·-2°）shit! 开工第一天；前两个月疯狂加班；希望今年顺利。
2019-03-22 17:50（晴·13°）这段时间真是日了狗了，疯狂加班不说，项目整体还不给力
2019-04-29 14:42（晴·19°）又经历了疯狂加班后，项目终于接近尾声了。。。最近身体也出现了问题，希望这一年你能给力点，脱离苦海
2019-05-29 10:03（晴·26°）麻痹，狗日的一句话就能让我压抑，正常了一个月后又tm开始飘了
2019-06-25 10:32（多云·30°）努力的意义之一是有能力离开傻屌
2019-07-10 17:55（多云·30°）上周四来了新部门，马上开始0.3版本开发，希望一切顺利。。。
2019-07-23 14:41（晴·34°）选择比努力更重要，5年后想为自己做点事。
2019-08-06 14:42（阴·32°）"你多分给他一点，不能光你做"，wqnmlgb，老子总有一天要干你
2019-11-12 20:08（阴·10°）来新项目半年时间，总体还是状态越来越好。项目可能要改方向，做手写板。
2019-11-20 10:52（晴·3°）项目稳定，状态也稳定，但是现在这个经济就像今天天气一样凉，不靠自己永远被别人牵制，关键还得靠自己啊
2019-11-20 23:30（阴·0°）择日不如撞日，就今天开始吧，定个1000块的小目标！
2020-01-07 11:41 (多云·1°) 昨天到了新的办公地点，新的环境，新的开始，2020加油！
2020-05-21 18:23 (多云·19°) 今日复工第一天，上半年因为疫情在家办公了小半年，年后开始为自己做点事情，虽然效率不高，走的也很艰难，但是也会坚持走下去，走到下个milestone
2020-09-03 11:38（多云·25°）这几天天气转凉，这个夏天算是过去了，5-6月比较努力，7-8月学习时间开始下滑，有两周是因为智齿发炎耽误了。但是最近心情还不错，最近半个月把智齿拔了，9月开始继续努力吧！
2020-10-26 14:39（晴·20°）换老大的第一周，压力要比之前大，有压力才有动力，锻炼和学习，都要加油！只要做好每天的任务，总有一天能走出来！一定注意要清除消极偏见
2021-02-22 22:11（多云·6°）终于熬过了这狗日的冬天，新的一年，第一天上班，加油吧。
2021-03-08 18:21（多云·9°）开年刚要奔跑就重重的摔倒，难道这就是我的宿命?
2021-04-12 16.53（多云·15°）自习室需求结束了，晋升也结束了，转部门也结束了，年终也发了，开始迭代一个小版本。跌跌撞撞，看不到未来
2021-04-26 18.25（阴·18°）17号团建回来，到20号，2.1.2版本提测进入测试，也慢慢事情少了，好好休息，好好锻炼
2021-05-18 15.18（多云·32°）最近状态慢慢回升，有动力才能自律，才能克服压力，进入对的状态。多巴胺，压力，抑郁，神经衰弱，戒。动力能解决前三个和最后一个，剩下一个加油吧，早晚要面对。
2021-05-27 14.50（雨·23°）25号搬了新工位! 自习室
2021-06-07 11.50（多云·26°）其实不幸福都是因为比较，做了超出你舒适区的事情。你周围的同事都比你强，你每天的工作都面临的困难，你周围的人都过的比你好。你短期又不知道怎么超过他们，你就不幸福。
2021-06-22 20:05（多云·29°）这多半年真是锻炼心力，持续的挑战（限时，困难，不擅长）插件化，口算组件，自习室，广告，整页检查，短视频，自习室。包括晋升，分享，健身等等。一个接一个。心态也淡定了许多。
2021-06-25 10:58（阴·20°）嘴上长泡，事情不停，bug不断，难解，限时。分享的压力。身体的压力。在磨炼你的心力和体力，放松，多休息，超量恢复。
2021-06-28 10:58（晴·31°）看了下这几年github的commit，18，19，20上半年是成长最多的时候，20下，21上，疲于奔命，没啥进步，还落了一身病，最多可能是心力的磨炼？
2021-07-07 10:22（晴·27°）昨天团队换新部门了，做音视频通话，我也角落里的工位，666
2021-07-12 15:12（雨·22°）换老大了，赫赫要走了
2021-08-02 18:38（雨·30°）双减下来，东西还得做，抗压力还得练，身体还得练，创业还得练
2021-08-16 21:45（暴雨·22°）音视频bug比较多，调试困难。还得mt面试，那种压力感觉又来了。但是快速调整自己，安排计划，放平心态，结果交给时间，不能垮！！！
2021-11-26 15:07（晴·13°）10-27来新办公位，一个月也慢慢适应了，这一个月要早起锻炼，真心累


