与我的年中总结| 自律与思考 | 掘金征文

生活

疫情与洪水

湖北今年确实不容易,年初新冠肺炎,年中又是洪水。

年初在家不能来到工作地的时候焦急,不安。但是现在回想,今年在家待的2个月是读初中以后在家陪伴家人最长的时间,陪伴真的是最长情的告白。只是妈妈太不容易,在不能外出购物的情况下,每餐要准备十个菜左右。

锻炼

这半年有做到自律。疫情期间每天关在家里,没有外出运动的条件,每天晚上就拉着妈妈、姐姐、侄女一起跳健美操,流一身汗以后就会做半个小时的瑜伽,也是那段时间的不断拉伸,可以下一字马和倒立了。

3月中旬疫情解封来到深圳以后,不管多忙,每周也会抽时间去游泳,每次争取可以游1200米。

工作与学习

工作时间越长,紧迫感和压力就会越大,如果每天重复的搬砖,那时间长了,你学到了什么?积累到了什么?和应届毕业生或者说刚毕业一两年的大学生差距在哪里?

这半年我的思考大于编码:如果想写出优秀的代码,就要不断的去剖析源码

为什么要看源码

  1. 知其然,也要知其所以然
  2. 代码是一个程序员心血结晶,阅读源码就是跟作者对话
  3. “天下代码一大抄”,“先临摹,再想着自创”
  4. 发现技术薄弱点及时修补沉淀
  5. 剥离场景,获取代码组织灵感
  6. 解决遇到的具体问题
  7. 看源码只是一种方法、手段,而不是目的

源码要看什么——“一个中心,两个基本点”

  1. 以源码大本营Github为中心
  2. 坚持使用冯·诺依曼结构理念
  3. 坚持下去
  4. 优秀的代码值得反复读
  5. Awesome列表

阅读源码方法

  1. 先用明白,再开始读源码
  2. 弄清作者的惯用手法
  3. 提纲挈领,找到入口,绘制结构图
  4. 仔细阅读已经提供的文档
  5. 使用支持引用跳转的编辑器
  6. 注释核心代码逻辑,编写代码进行验证
  7. 源码阅读能力提升秘籍---调试

思考

我们每写一行代码一定要思考,想想这么写会不会带来性能问题,有没有更优雅的写法,是不是可以用某个设计模式来实现等等;

每次用优秀的框架的时候,想想源码怎么实现的,为什么这么实现,试着自己写个实现?

比如当我用Koa的时候,我就会思考为什么要new Koa()?而express是express()?如果我自己实现一个Koa该怎么实现,比如简单实现一个开启服务的功能,是不是用到了use方法,listen方法,那么就会有下面的初级实现:

const http = require('http');

class Koa{

constructor(){

}

middleware(){

}

use(){

}

listen(port,callback){

const server = http.createServer((req,res)=>{

this.middleware(req,res);

});

server.listen(port,callback);

}

use(middleware){

this.middleware = middleware;

return this;

}

}

module.exports = Koa;

太多东西需要思考:

比如为什么使用vue的时候是new Vue()?而jquery是$('ele')?

代码中太多的if-else的时候是否可以用状态模式,策略模式等去优雅的优化代码结构?

Vue中单例、工厂等模式怎么使用的,插件机制怎么实现的,路由怎么实现的,如果自己实现该怎么写?

当你对什么都充满疑问的时候你就会去学习源码,然后把作者优秀的经验带到自己的项目中来,渐渐的自己也会变得和大牛一样牛吧。

思考、坚持、努力、输出

掘金征文 | 2020 与我的年中总结 征文活动正在进行中......

以上是 与我的年中总结| 自律与思考 | 掘金征文 的全部内容, 来源链接: utcz.com/a/35769.html

回到顶部