大家好,今天终于可以发一个新的分享了,之前一直么有分享也是因为自己懒,再个就是想分享的时候突然来了一堆的项目,忙的基本连喝水的时间都没有,分享的事儿又放下了。
后来仔细想想想并么有想好具体应该分享什么东西,很多技术实现的东西网上有很多,大部分都能搜索到,不忙的时候我再想到到底应该分享些什么东西。
最近负责的一些项目有m端的,pc端的,也封装了一些组件和通用的东西,m端的已经上线,pc还在测试中。在这些项目开发中自己发现了一些问题和感悟,在这里就分享给大家。项目刚上不久,这个感悟还是热乎的,时间一长在不落实的化,估计就成泡影了。
本次主题就是重复写业务代码,还能提高自己吗?
这次项目中最痛苦的事就是前期做的快,后期疯狂改bug,代码写的乱,bug到处乱串。一定要改变这种代码风格,这种风格我定义为流水账风格。
很多时候我们写页面代码的时候大部分情况都是一大片下来,没有函数封装,没有结构规划,你看代码看不到当时写的人的思路,必须从头到尾的看,容易看的化就是注释多一些,但是这样的代码从直观感受来讲,就是很反感的,自己过了今天,明天再看这代码估计就有点晕了,别说别人来修改你的代码了,那得是多么痛苦的一件事。
另外就是我们大部分每天写的都是业务,可能觉得做的都是重复性的工作,所以对代码的优化没有重视,把重心放在了完成功能上面,如果真的这样想而且持续下去对自己是没有一点好处的,不但无法提交,而且真是向当初想的那样就是重复性的工作,只是个代码机器,另外代码的执行效率也会影响页面的打开速度的。
我个人觉得虽然写的是业务的代码,但是我们应该从中发现不足,发现可以优化的点,逐步的改进,提高可读性,封装性,降低耦合度,多使用es6的语法糖和功能,尽量简化代码,该加注释的地方要写注释,另外是要整理好开发思路后在去动手写代码,什么样的思路形成什么样的代码,不相关的功能逻辑单独封装,比如数据获取、页面渲染,数据计算等。总之我们要时刻想着提高自己的水平和认知,有条件要上,没条件要创造条件也要上,提高对自己的要求,养成写优美代码的习惯。
代码结构方面总结了几个方面吧:大家可以参考下
1.了解下函数式编程
2.了解柯里化的概念,慢慢的在代码中融入
3.独立功能封装成独立函数,重复代码提取成函数,如果多处使用考虑是否需要提取出来作为一个模块对外提供,不同业务和不同功能要独立封装成函数
4.变量的命名和使用,如 常量的定义和使用
5.多多使用es6的新特性,语法糖 ,这样有利于引出你不熟悉的东西,去解决问题
6.了解下设计模式,对组件封装有帮助
编码前的工作也总结了几个方面:大家可以参考
1.延迟编码,不着急动手写
2.功能拆分:分析页面各个业务功能,具体业务具体功能写成独立函数
3.代码结构是各个功能函数的组合
4.代码结构搭建,定义功能块儿,梳理函数之间的调用关系,这样可以确定具体的函数参数是什么
5.在具体的写拆分好的函数功能,最后把各个功能组合起来
其实好的代码也不是一次性写出来的,而是需要多次优化的,但是我们要提前有个思路或者意识,在写的时候对自己提高要求,尽量保持每个函数的独立和简单以及封装性,
按照这些套路写出来的东西基本不会太难看。如果在写之前就是遇到什么写什么,没有意识到这些的话,后期代码优化也是个比较坑的事儿,因为代码的顺序就是你的逻辑,进行大改的话你势必需要重新梳理当时的逻辑,如果时间长了,淡忘了,那都不如重写来的快,所以写代码的时候有必要把作为美化代码当做一种提高和一种乐趣。
我也不是大神,但我觉得大神的代码也不是一次性写的完美的,区别就在于思路和意识,长期以来坚持这种方式,目的是提高自己,扩大自己技术舒适区,而不是单纯的实现一个功能,能对自己有提高的工作才是有意义的工作,拒绝做代码机器。
我也在不断的优化自己,希望这篇分享能让你有所感触。
最后我也留一个联系方式 有初入前端朋友可以微信交流 或者 对上面的内容有不同见解的也可以相互交流 223344386