现状
相信大部分技术人日常的工作都是比较偏向于业务开发,实现功能,时间长了后就会觉得做的东西,写的代码都是差不多的,其实已经意识到了这个问题,总不能因为这个原因再跳槽吧,如果那样的话恐怕会面临频繁的跳槽,之所以有这个困惑是因为大家都想着提高自己的能力,不甘只做重复的东西,但是回过头来想真的没有可以提高的地方了吗,代码写的真的完美吗?
分析
很多时候写页面代码的时候大部分情况都是想到什么写什么,没有结构和规划,可读性也不高,看其中一个逻辑实现,必须从头到尾去看一遍,可能时间长了自己再回来看估计也看不懂了。
另外我们大部分每天写的都是业务,可能觉得做的都是重复性的工作,所以对代码的优化没有重视,把重心放在了完成功能上面,如果真的这样想而且持续下去对自己是没有一点好处的,不但无法提高自身的能力,而且真是会像当初想的那样就是重复性的工作,只是个代码机器。
拙见
我个人觉得虽然写的是业务的代码,但是我们应该从中发现不足,发现可以优化的点,逐步的改进,提高可读性,封装性,降低耦合度,多使用es6的语法糖和功能,尽量简化代码,该规范的规范,需标准的要标准,另外是要整理好开发思路后在去动手写代码,什么样的思路就会形成什么样的代码,不相关的功能逻辑单独封装,比如数据获取、页面渲染,数据计算等。
总之要时刻想着提高自己的水平和认知,有条件要上,没条件要创造条件也要上,提高对自己的要求,养成写优美代码的习惯。
建议
代码结构方面总结了几个方面吧:可以参考下
1.了解下函数式编程;
2.了解柯里化的概念,慢慢的在代码中融入;
3.独立功能封装成独立函数,重复代码提取成函数,如果多处使用考虑是否需要提取出来作为一个模块对外提供;
4.变量的命名和使用;
5.多多使用es6的新特性,语法糖,这样有利于引出你不熟悉的东西,去解决问题;
6.了解下设计模式,对组件封装有帮助;
总结
其实好的代码也不是一次性写出来的,而是需要多次优化的,但是首先要有基本的意识,在写的时候对自己提高要求,尽量保持每个函数的独立和简单以及封装性,按照这些套路写出来的东西基本不会太难看。
如果在写之前就是遇到什么写什么,没有意识到这些的话,后期代码优化相比也是个比较坑的事儿,因为代码的顺序就是你的逻辑,进行大改的话你势必需要重新梳理当时的逻辑,如果时间长了,忘了,那都不如重写来的快;
大神的代码也不是一次性写的完美的,区别就在于思考和意识,长期以来坚持这种方式,目的是提高自己,扩大自己技术舒适区,而不是单纯的实现一个功能,能对自己有提高的工作才是有意义的工作,拒绝做代码机器。
纯感受,个人拙见,欢迎交流。