## 1,怎样快速学习新技术
第一步: 通读一遍官方API文档,有个整体了解,找demo实战练习,写todo list,3天左右;
第二步: 找到对应的实战视频,花一周时间左右;
第三步: 技术变现:公司推广使用新技术。先在无关紧要的项目上试试水。
第四步: 大神之路阅读github代码,出教程
## 2,怎样提高代码质量
前提:被老员工嘲笑;bug多;code的review中 被白眼
方法1:阅读《代码大全》,《code clean》代码整洁之道
方法2:以测试为驱动进行开发,它有两点好处:
- 让代码简洁可用
- 提高代码质量
从而提高效率。长期来看,就能建立起信任背书
方法3:用匠人精神重构代码
## 3,自己适合学习什么语言
1. 先解决温饱,再考虑兴趣
2. 自我感觉的难易程度和兴趣,用多学少专的模式 来试探自己的兴趣
3. 薪资的高低
4. 发展前景 :现在(林迪效应),卡位将来(VR,人工智能,区块链等)
## 4,前端三大框架的对比
1,angular(谷歌),作用域,
谷歌推出的是flutter(dart语言)
2,react(Facebook),万物皆组件,Fiber,Hooks(class转function)
JSX解析
3,vue(阿里,尤雨溪),初学者
weex
总结:学习道路:html -> js -> nodejs -> typescript -> vue
## 5,程序员快速提升自己的技能
### 5.1 基础
### 5.2 提升
1.阅读github上的优秀开源代码
从最早的版本开始阅读,一层一层地阅读到最新版本,弄明白每次版本迭代的动机
2.造自己的轮子
1)写小的组件
2)写框架
可从简单的UI、CSS框架开始写,再模仿vue、react写简版的框架来锻炼自己的能力
ps:可参考书籍《javaScript框架设计》
3.学习设计模式
1)从书籍中学习不同的设计模式,有个大概的了解和区分
2)在别人的代码中找出并看懂设计模式
3)有意且刻意地在自己的练习项目中使用设计模式
4)尝试在工作项目中使用设计模式
5)在工作中重构代码,并使用设计模式
### 5.3 时间管理
## 6,工程
1,版本管理
每天提交
多分支
权限分配
2,持续集成
服务器持续集成
3,文档
程序设计文档
接口文档
数据结构文档
使用说明文档
## 7,程序的陋习
1,命名
2,注释
3,代码整洁之道
方法只有一个功能
空行的使用
代码注释掉了后,没有删掉
无用的代码没有删掉
4,异常的处理
入参的检验
环境的处理(手机型号,权限,有无网络,弱网络,空间是否满了)
初始化的变量
日志