到了新公司后,代码看的比以前多多了,惊觉了一些事情,我现在总遇到的一个事情,就是不懂业务背景,现在任何一块稍微复杂点的代码,如果没有业务背景真的很难理解。
于是我做了一些尝试,我已经意识到了业务背景的重要性,这回的dcr就是,我大概理解的dcr,但是没有克服内心的阻碍,怎么就没去认真试试呢,fllow your heart, 评估风险呀。
然后关于看陌生代码的这个事,今天看了publicapi的代码,内心已经考虑过大概的实现了,request发来,解析参数,构造查询,然后查询后parse 通过arg,然后返回,我中间的还是话费了不少时间,感觉精力还是有点问题,要命,真的要20分钟一次提醒了,番茄工作法。。。,然后就是还是在凭本能行事,这样药丸。
接下来准备看orionobject的代码,我准备了如下策略。
- 先看wiki了解大概的业务背景
- 去看架构,理解每个模块的责任,这个很重要,层次最多只有两层。
- 遇到想要深究的,不必深究,只维持在两层。
- 通过名字看调用和含义。
- 自己要思考一遍。
关于接口的设计,leader说的是对的,一个api的返回值应该可以期待的。这个很重要,今天小明说的那个就是,接受陌生的代码。谁知道是不是有什么上下文导致的,有陌生情况,
对于func,参数也应该是那个层面上考虑的参数,eg: approval 中的 approval_process 这里的 dont send msg。