简介
这篇随笔主要是用来记录,作者在平时冲浪中搜集到的一些大牛建议,所有内容都会贴出出处,如果文中内容对你有用,推荐多多支持原作者,这样原作者才有动力分享更多的知识。
未来会持续更新,涉及作者较多,页首不适合放,来源均方在页尾。
猪队友行为
- 写烂代码,代码保证清晰、明了
- 关键代码不加注释
- 代码一大坨,一个方法几百行
- 喜欢炫技,喜欢滥用语法糖,喜欢写很复杂的符合表达式,代码需要可阅读可维护
- 垃圾命名,挖坑是命名(用别人用过的名字,别人类库或者类的名字)
- 喜欢从垃圾老项目里拷代码
- 乱改别人代码,让别人背锅,功能难免重合,还不加注释
- 提交代码的时候,把别人的代码抹了!
- 提交的时候有冲突,自己不想怎么解决这个冲突,一顿操作,把自己修改的文件提交上去,结果把其他人之前的提交和修改给回滚了
- git 有个一个非常可怕的特习惯,就是所谓的 -f 参数强制推送,猪队友爱用这个东西,很多时候猪队友冲突解决不了,乱用强行用本地的仓库去覆盖远程仓库,然后导致文件被老的内容所覆盖掉仓库的历史提交记录可能都会丢失
- 正常的流程,想办法解决冲突,然后再提交
- 乱丢锅,基础代码你写的猪队友把你的基础代码改了,除了问题你来背锅
- 团队协作意识非常差
编码陋习
- 编码命名规范,优秀的编码命名应该可以实现自说明
- 拼音字母命名
- 迷之简写,全是英文缩写
- 无意义命名,
- 一个名字多个意思,比如Like
- 注释常犯错误
- 无意义的注释
- 程序更新了,注释没有更新
- 代码整洁之道
- 一个方法内写多个功能,单一职责原则,常见的登录、验证、日志
- 空行,代码空行和代码结构有关
- 删除过期代码,没用的注释代码就可以删除
- 无用的资源和无用的方法仍然保留
- 老版本的弊端
- 使用新的版本,尽量避免老版本
- 异常中踩的坑
- 对入参的异常检验,代码健壮性的一个体现
- 代码环境的处理,例如移动端
- 手机型号
- 手机权限
- 有无网络
- 弱网络环境
- 空间满了
- 初始化值的异常处理
- 日志记录,生产环境产生的错误,用日志记录
- 相关书籍推荐
- 代码大全
- 谷歌官方的编码规范
代码质量
- 阅读《代码大全》、《代码整洁之道》
- 以测试为驱动进行开发,开发之前先把测试代码写好,然后再进行业务逻辑代码,简介好用,代码质量搞,代码开发速度会快很多
- 拿出匠人精神重构你的代码,隔段时间进行重构
成神三部曲
基础篇
- 如何学习一门语言和一个框架
- 买相关书籍、找视频
- 做些小项目练习,例如Todolist
- 扩展
- 去查官网查一下所有API,查缺补漏
- 写博客,总结归纳出来
- 工程实践(工作中)
- 代码管理
- 版本持续集成,升级
- 完整的测试用例
- 代码审查
- 码字,盲打,网站:https://typing.io/
- 对开发工具的熟练,使用键盘操作,很少用鼠标了
进阶篇
- 进阶的时候不要一直用新的项目或框架来做,阅读优秀代码
- 克隆本地
- 查版本列表,找到最早的版本,开始阅读代码,读懂了再看上一级代码,对方会有很多重构······
- 重构自己的应用,造一个自己的轮子,框架《JavaScript框架设计》,好轮子就是别人不用怎么修改源码
- 设计模式,《设计模式》《重构与模式》
- 熟悉书上的模式代码,对不同模式有了解
- 看别人代码,能识别出设计模式
- 有意在自己的练习中使用设计模式
- 工作中使用设计模式
- 设计模式重构以前的代码
工作篇
技术胖:
- 产品体验改善
- 不能写完程序就完事,负责到底
- 不能止步于做完,1.测试代码 2.更好的体验 3.代码重构
- 不抗拒任何不合理需求
- 不重视我们的性能
- 不能写完程序就完事,负责到底
- 人际交往
- 这不是我的问题
- 测试说程序有BUG,友好交流查一下哪里有问题
- 不要甩给后端
- 不要甩锅给产品经理
- 太看重于技术
- 不愿意参加公司的团建或团队活动
- 这不是我的问题
- 不要轻易造轮子,增加团队学习成本,影响项目进度
- 造轮子表现自己?
- 为了学技术,秀技术?
- KPI的产物
- 造完轮子不去维护
- 不恰当的自嘲
代码审查
- 代码安全性
- 代码的性能
- 代码注释
- 单元测试代码
- 代码优化
文章来源
出处 | 涉及内容 |
---|---|
B站UP主:CodeSheep | 猪队友行为 |
B站UP主:技术胖 | 编码陋习、代码质量、成神三部曲、工作篇 |