入职第四天,虽然还是改css,但是是修改他们正在做的项目的css。总体来说的话,多多少少能接触到业务代码了。但是我负责修改的是一个已经离职的人的代码,不得不说代码跟屎山一样......
代码结构很乱
1、vue的样式不加scoped,污染了全局样式!!
2、会动态修改的v-for竟然用index作为key!!
4、用的是vue3的composition API,但是所有内容都冗杂在setup生命周期下,一个页面有一千多行!!
这里就不得不吐槽一下了,如果只是为了用composition API而去用的话,真没必要,为啥不把相关的代码统一封装到hook中呐!!!一个页面来回找,这样还不如用options API,至少我知道哪里是data哪里是methods或者computed。
目录结构也很乱
1、src目录下有hook文件夹,lib目录下又有一个hook文件夹,那么我到底要去哪里找对应相关的代码呢?
2、我仅仅是修改一个弹窗的样式,找到这个弹窗竟然花了十分钟!这里跳那里跳的直接被绕晕,相关的代码根本不在这个页面下(找不着北)
。
3、因为本来是封装的公共组件,但是却被抽到每个页面内作为特例组件进行开发...导致很多地方的结构和样式不统一...每个页面的弹窗都是类似于静态页面,用vue只是用模板语法插入值而已......vue的插槽特性那么好用,为啥不封装呐!!!
感想
跟leader聊了一下,项目做的时候很匆忙,为了尽早交付所以代码很乱,需要我来修改代码结构...但是我个人觉得,一个项目再赶时间,你也要有维护期,前面堆的shi到后面要自己埋的...埋不完就得自己踩。
总之体会到了代码规范的重要性,团队里开发这个项目的人,每个人都有自己的代码风格,导致一个项目里有太多的个人因素存在,后期维护成本也很高。
虽然写代码可以用eslint来约束,提交代码可以用commitlint约束,但是逻辑的抽离和封装思想,每个人对目录的管理习惯都是不同的,项目再匆忙,还是要打好基石。
目前还是实习,看了离职的人的代码,虽然都冗杂在setup里,但是他好像也是有意的在setup里划分了,所以我在抽离逻辑的时候还是比较易懂的。不得不说这就是老油条吗哈哈~
最后
最后贴一张自己音乐组件的截图,虽然在打工,但是还是要忙里偷闲的来开发自己的小项目呀~这个项目目前待开发的内容还挺多的,端午节爆肝!