QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

查看: 2068|回复: 0

[HTML/CSS/JS] 6个规则让你代码结构焕然一新

[复制链接]

等级头衔

积分成就    金币 : 2841
   泡泡 : 1516
   精华 : 6
   在线时间 : 1294 小时
   最后登录 : 2024-11-21

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老

联系方式
发表于 2020-12-16 10:49:45 | 显示全部楼层 |阅读模式
1、注重命名
7 Z( C6 s0 Z0 y8 `- \       为一个事件命名是很困难的。虽然困难但是非常有必要。- F& i- Z8 K- {$ w
       想象以下,将两个数组合并成一个数组,并生成一个唯一值的数组。那么你会怎么命名它呢?我们也许会这样命名?
/ O$ c# d) B) B
  1. function mergeNumberListIntoUniqueList(listOne, listTwo) {
  2.   return [...new Set([...listOne, ...listTwo])]
  3. }
      上面的命名并不糟糕,但是还不是很友好。你可以将一个功能函数拆分为两个功能函数,这样命名更友好和函数复用性更好。
/ D' P" Q: {# m) m. d* u
  1. function mergeLists(listOne, listTwo) {
  2.   return [...listOne, ...listTwo]
  3. }
  4. function createUniqueList(list) {
  5.   return [...new Set(list)]
  6. }
4 z' `2 F' T7 [8 X( E
2、IF语句简化, u) V0 b" u. t+ i" a, O/ H
       假设我们有下面的代码:6 d! H( I1 `) h* |) m
  1. if(value === 'duck' || value === 'dog' || value === 'cat') {
  2.   // ...
  3. }
      我们可以这样解决:
( D9 h) z+ ?  W& M+ m; }4 Z
  1. const options = ['duck', 'dog', 'cat'];
  2. if (options.includes(value)) {
  3.   // ...
  4. }
      将乱七八糟的条件判断放到一个变量中存储,比看臃肿的表达式要好很多。
- c, z  [7 T6 }& p/ i+ E1 ^$ f3、及早返回
7 A8 a3 {# B1 a, P  r       有下面的代码:
8 W' Q! Q/ I8 Z# p6 p
  1. function handleEvent(event) {
  2.   if (event) {
  3.     const target = event.target;
  4.     if (target) {
  5.       // Your awesome piece of code that uses target
  6.     }
  7.   }
  8. }
      及早返回使得我们的代码更加易读:4 q2 ]- Z/ y6 \
  1. function handleEvent(event) {
  2.   if (!event || !event.target) {
  3.     return;
  4.   }
  5.   // Your awesome piece of code that uses target
  6. }
( B) c, x' u9 l1 g8 ^
4、解构赋值2 _1 J  l1 d2 H
       在javascript中,我们可以对objects和arrays进行解构赋值。例如:1 b. I/ F8 T+ l% r( a, `9 _& m, h
  1. // object 解构赋值
  2. const numbers = {one: 1, two: 2};
  3. const {one, two} = numbers;
  4. console.log(one); // 1
  5. console.log(two); // 2
  6. // array 解构赋值
  7. const numbers = [1, 2, 3, 4, 5];
  8. const [one, two] = numbers;
  9. console.log(one); // 1
  10. console.log(two); // 2
3 V. {" [+ D$ p4 n) d
5、童子军规则
3 t* s: e' D( `7 L       童子军有一条规则:永远保持离开时的露营比你发现它时更整洁。如果你在地面上发现了脏东西,那么无论是否是你留下的,你都要将它清理干净。你要有意地为下一组露营者改善环境。
& W' N2 u% X! c6 G" l+ y+ v       我们编写代码也是这样子,如果你在代码中发现了脏代码,那么你可以尝试去修改它,即使是一个没有被引用到的变量名。& J7 Z8 |) \% {* @! N: X; S. y" n
6、代码风格" l9 e; y' M5 `# j  ^; P8 j: A, t
      在你的团队中使用一种代码风格,比如限定代码缩进的规范是两空格呢还是四空格;使用单引号呢还是双引号呢;使用同类的一种框架呢,还是流行两种解决方案的框架呢...这样团队中人员接手项目的成本就会降低,开发人员的心里减少排斥感~
! O" I6 G3 N. p: N& R. [+ h# j! j8 y, c! Z$ N% n( I7 J
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号|渝公网安备50010502503914号 )

GMT+8, 2024-11-22 10:02

Powered by paopaomj X3.5 © 2016-2025 sitemap

快速回复 返回顶部 返回列表