日报-自己代码质量问题,可维护性问题

不明所以一进公司被抓去写几乎没接触的js,从刚开始写js代码到现在已经两个月了,回头看看,代码写的有些不堪入目。

1.全局变量泛滥。因为变量还是要存在于内存中的,所以只对命名重复问题进行改进,只做一个全局变量,其他为属性。

2.怕代码重复,重复利用了DOM元素,如按钮与modal,组件耦合度太高,出bug很多,维护太困难。应该另找方法,一些相同情况下可以写一个类进行统一。

3.css与js的分离。可能是因为还没有给我按钮的素材图片,所以全靠css写的按钮,所以在js中改变css比较多,这个能用图片尽量用图片,或者用css写了按钮就不要太乱改样式了,不然后面还要重置。

4.html与js的分离。因为项目里面对战人数的不确定,所以为了适应对战人数,也得相应的修改了其人物的布局,有1v1,1v2,2v1,2v2四种情况,目前还是不知道应该分开写modal,还是写在一个modal里面。现在觉得统一搞一个类比较好吧,逻辑比较清晰。不过有些时候为了响应结果,还是要变的,如果全是文字,可以放到html中拿。

 

看了一部分<<effictive js>>,再写一点提高代码质量笔记吧

1.将js文件放到body以后,可以更快渲染页面,并且js文件可以压缩一下,因为多做的是ionic项目,我是利用cordova打包压缩js文件的,全部js文件变成一个app.js。

2.一律不用!=和==,用!==和===进行判断,做个规定吧,避免null与undefined的混乱吧,为了维护着想。

3.在循环时候,若有什么根据数组长度i< xx.length进行循环的,可以先缓存length = xx.length,i< length,可以提高循环效率。有时候也可以进行倒序循环法,就是看i++做的事情少还是用i--做的事情少。

4.若概率差不多,switch一般会比if-else 的查找效率高。

5.循环一般不要用for in,效率很低,其他for,while等都比它效率高很多。

6.对象进行特定属性搜索在函数中超过一次,那可以将该属性存在于局部变量中,能加快速度。例如,peoples.xiaoMing.name要被使用多次,那么可以var xiaoMingName = people.xiaoMing.name,避免多次搜索。

7.查找全局变量是最慢的。查找的时候先搜索局部变量,再向上搜索变量,最后再是全局变量,到全局变量可能已经搜索了两层,比较慢。所以多次使用全局变量的时候,可以先缓存一下。

8.进行DOM元素操作是昂贵的,页面可能需要进行重绘等,可能会出些问题,比如按钮位置改变,你会看到按钮在屏幕上跑...我在横竖屏切换时候时候会出现一些问题,会有切换的卡顿(和手机差不差没关系,一定出现),所以提供办法就是,先对组件进行隐藏,经过操作,再进行显示,这样不会太怪异。还有另外一个办法是用绝对坐标,不过这个我不懂,我都是用相对的。

 

先这样了,感谢大家斧正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值