JavaScript代码中的坏味道

编写软件很难。 只有少数方法可以做到正确,有很多方法可以做到错误,使我们的生活更加艰难。

成都创新互联网络公司拥有10多年的成都网站开发建设经验,上1000+客户的共同信赖。提供成都网站制作、网站设计、网站开发、网站定制、买友情链接、建网站、网站搭建、响应式网站、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务

在本文中,我们将通过一些代码气味来探讨编写不良代码的一些方法。

具有不同接口的替代类

由于重复,两个功能相同但接口不同的类并不好。

我们不想那样。 因此,我们可能要使用共享代码创建一个超类,然后使子类具有不同的方法。

库类不完整

重用并没有被高估。

图书馆建设者的工作艰巨。 他们可能会开设不完整的课程,但不允许我们修改它们以完成我们希望他们做的事情。

因此,这使库类对我们毫无用处,除非我们可以添加所需的功能。

我们可能必须直接向这些类添加新方法来解决此问题。

例如,如果我们导入了一个类,则可以通过编写以下代码来添加自己的方法:

  
 
 
  1. const mixin = { 
  2.   foo() { 
  3.     //... 
  4.   }, 
  5.   bar() { 
  6.     //... 
  7.   } 
  8. Object.assign(Foo.prototype, mixin); 

在上面的代码中,我们将Foo类的原型中的代码与mixin对象中的方法合并,以使用Object.assign方法将更多方法合并到该类中。

数据类型

数据类是仅具有字段的类。

这些类可能被其他类过多地操作。

因此,如果所有公开领域都公开了,我们应该封装它们。

如果需要,我们还可以封装收集字段。

为了封装它们,我们可以将字段设为私有,并添加访问和设置它们的方法。

拒绝继承

子类继承父类可以访问它们的方法。

如果我们不需要父类中的这些类,则可以将它们下推到子类中。

然后,并不是所有的子类都将从父类继承方法,而它们仍然可以留在需要它们的子类中。

注释

评论对某些事情很有用。 我们可以评论为什么要执行某项操作,但是由于我们已经在代码中进行了操作,因此无需在评论中说明我们如何执行操作。

还注释代码是不好的。 首先,我们应该把它们带走,因为它们没有运行。

不属于自己的条件

我们应该将条件语句分成自己的一行,以便我们可以更轻松地阅读它们。

所以不用写:

  
 
 
  1. if (foo) { 
  2.   //... 
  3. } if (bar) { 
  4.   //... 

我们写:

  
 
 
  1. if (foo) { 
  2.   //... 
  3. if (bar) { 
  4.   //... 

注释可选参数

可选参数在JavaScript中应具有默认值。 例如,我们可以编写以下代码来指示参数是可选的:

  
 
 
  1. const foo = (a = 1) => { 
  2.   //... 

> Photo by Samantha Gades on Unsplash

当心"死存储"

死存储是指我们为变量分配值,但不使用原始值就重新分配了值。

因此,我们实际上并不需要原始值,因此可以删除该行。

所以不用写:

  
 
 
  1. let x = 1; 
  2. x = 8 * 10; 

我们写:

  
 
 
  1. let x = 8 * 10; 

不要反转我们的布尔值

双否定总是比直接条件表达式更难读。

因此,我们应该以更直接的方式编写是可能的。 例如,而不是写:

  
 
 
  1. if (!(x > 10)) {  
  2.   //... 

我们写:

  
 
 
  1. if (x <= 10) {  
  2.   //... 

如我们所见,第二条if语句比第一条if语句更易于阅读,并且更短。 他们都是一样的。

使用模板字符串

模板字符串是最好的JavaScript字符串。 我们可以在其中插入表达式,而其他任何类型的字符串都无法做到。

另外,我们可以通过在字符串中输入换行符来创建多行字符串。

由于反引号用作模板字符串的定界符,因此可以在字符串内部使用引号而不转义它们。

结论

模板字符串很棒。 它们使我们可以做更多旧式弦弦无法完成的事情。

要向不完整的库类添加更多方法,我们可以使用Object.assign向它们添加自己的方法。

另外,我们需要封装数据类,以使您的代码不会与数据类紧密耦合。

名称栏目:JavaScript代码中的坏味道
网站网址:http://www.csdahua.cn/qtweb/news14/309664.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网