与我的年中总结| 自律与思考 | 掘金征文
生活
疫情与洪水
湖北今年确实不容易,年初新冠肺炎,年中又是洪水。
年初在家不能来到工作地的时候焦急,不安。但是现在回想,今年在家待的2个月是读初中以后在家陪伴家人最长的时间,陪伴真的是最长情的告白。只是妈妈太不容易,在不能外出购物的情况下,每餐要准备十个菜左右。
锻炼
这半年有做到自律。疫情期间每天关在家里,没有外出运动的条件,每天晚上就拉着妈妈、姐姐、侄女一起跳健美操,流一身汗以后就会做半个小时的瑜伽,也是那段时间的不断拉伸,可以下一字马和倒立了。
3月中旬疫情解封来到深圳以后,不管多忙,每周也会抽时间去游泳,每次争取可以游1200米。
工作与学习
工作时间越长,紧迫感和压力就会越大,如果每天重复的搬砖,那时间长了,你学到了什么?积累到了什么?和应届毕业生或者说刚毕业一两年的大学生差距在哪里?
这半年我的思考大于编码:如果想写出优秀的代码,就要不断的去剖析源码
为什么要看源码
- 知其然,也要知其所以然
- 代码是一个程序员心血结晶,阅读源码就是跟作者对话
- “天下代码一大抄”,“先临摹,再想着自创”
- 发现技术薄弱点及时修补沉淀
- 剥离场景,获取代码组织灵感
- 解决遇到的具体问题
- 看源码只是一种方法、手段,而不是目的
源码要看什么——“一个中心,两个基本点”
- 以源码大本营Github为中心
- 坚持使用冯·诺依曼结构理念
- 坚持下去
- 优秀的代码值得反复读
- Awesome列表
阅读源码方法
- 先用明白,再开始读源码
- 弄清作者的惯用手法
- 提纲挈领,找到入口,绘制结构图
- 仔细阅读已经提供的文档
- 使用支持引用跳转的编辑器
- 注释核心代码逻辑,编写代码进行验证
- 源码阅读能力提升秘籍---调试
思考
我们每写一行代码一定要思考,想想这么写会不会带来性能问题,有没有更优雅的写法,是不是可以用某个设计模式来实现等等;
每次用优秀的框架的时候,想想源码怎么实现的,为什么这么实现,试着自己写个实现?
比如当我用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