这是我参与「第五届青训营 」伴学笔记创作活动的第4天,下面跟我一起看看青训营第三天下半部分讲了什么吧~
主要介绍的是Javascript的一些代码规范,并用案例的形式向大家展示,非常生动形象。
1.写代码应该注意什么:风格、效率、约定、使用场景等。
2.代码规范与建议
- 变量名:驼峰法命名,区分大小写,第一个字符不能是数字;变量命名长度尽可能短,尽量在变量名中体现其用途。
- 代码缩进:通常使用4个空格符号缩进代码块(不推荐使用TAB因为不同编辑器TAB的解析不同)
- 简单语句规则:一条语句用分号作为结束符
- 复杂语句规则:左花括号放在第一行结尾;左花括号前添加一个空格;右花括号单独放在一行;用分号结束一个复杂的声明
- 对象规则:将左花括号与类名放在同一行;冒号与属性值间有个空格;字符串使用双引号,数字不需要;最后一个属性-值对后面不要添加逗号。
- 每行代码字符小于80个
- 使用注释来解释代码的目的和工作原理
- 尽量减少全局变量的使用,避免命名冲突。
- 使用异常处理来保护代码免受错误的影响;使用单元测试来测试代码的正确性,并且随时进行代码的重构和优化。
- 使用版本控制工具(如 git)来管理代码的版本。
3.案例
- 交通灯状态:方法一用到数据抽象;方法二用到过程抽象,相比一更加简洁;最好的方式则是使用异步/函数处理
- 是否是4的幂:最优的解决方案为转化为二进制,由于4的幂的二进制末尾都是00,以此判断
- 洗牌问题:习惯性使用的Math.random()会导致数字小的出现频率更高,导致概率不相等。因此我们考虑使用生成器函数来提高效率
- 分红包问题:一种解决方法是类似分西瓜那样,每次拆分最大的部分;第二种方法个人觉得非常精妙——类似使用抽牌器:我们假设要分出n个红包,我们随机抽出(n-1)个数值,然后进行排序,接着作为红包分割符进行切分。