编程语言
首页 > 编程语言> > TypeScript 中的整洁代码

TypeScript 中的整洁代码

作者:互联网

不要添加不需要的上下文

如果您的类/类型/对象名称告诉您一些信息,请不要在您的变量名称中重复。

应避免:

输入 Car = { 
  car​​Make : string ; 
  汽车型号字符串
  汽车颜色字符串
}

函数 打印汽车:汽车):void {
  控制台日志( ` ${car.carMake}  ${car.carModel} ( ${car.carColor} )` ); 
}

改为这样做:

输入 Car = { 
  make : string ; 
  模型字符串
  颜色字符串
}

函数 打印汽车:汽车):void {
  控制台日志( ` ${car.make}  ${car.model} ( ${car.color} )` ); 
}

使用枚举

枚举可以帮助您记录代码的意图。例如,当我们关心值的不同而不是这些值的确切值时。

应避免:

const  GENRE = { 
  ROMANTIC : '浪漫' , 
  DRAMA : '戏剧' , 
  COMEDY : '喜剧' , 
  DOCUMENTARY : '纪录片' , 
}

放映机。配置电影(类型喜剧);

class  Projector { 
  // 投影仪声明
  configureFilm ( genre ) { 
    switch (genre) { 
      case  GENRE . ROMANTIC : 
        // 一些要执行的逻辑
    } 
  }
}

改为这样做:

enum  GENRE { 
  ROMANTIC , 
  DRAMA , 
  COMEDY , 
  DOCUMENTARY , 
}

放映机。配置电影(类型喜剧);

class  Projector { 
  // 投影仪声明
  configureFilm ( genre ) { 
    switch (genre) { 
      case  GENRE . ROMANTIC : 
        // 一些要执行的逻辑
    } 
  }

函数名应该说明它们的作用

应避免:

function  addToDate ( date: Date , month: number ): Date { 
  // ...
 } 

const date = new  Date (); 

// 从函数名很难看出添加了什么
addToDate (date, 1 );

改为这样做:

function  addMonthToDate ( date: Date , month: number ): Date { 
  // ...
 } 

const date = new  Date (); 
addMonthToDate(日期,1);

比命令式编程更喜欢函数式编程

应避免:

const contributions = [ 
  { 
    name : 'Uncle Bobby' , 
    linesOfCode : 500
   }, { 
    name : 'Suzie Q' , 
    linesOfCode : 1500
   }, { 
    name : 'Jimmy Gosling' , 
    linesOfCode : 150
   }, { 
    name : 'Gracie Hopper' , 
    linesOfCode : 1000
   } 
]; 

totalOutput = 0 ; 

for (i = 0 ; i < 贡献。长度i++) { 
  totalOutput += contributions[i]. 代码行
}

改为这样做:

const contributions = [ 
  { 
    name : 'Uncle Bobby' , 
    linesOfCode : 500
   }, { 
    name : 'Suzie Q' , 
    linesOfCode : 1500
   }, { 
    name : 'Jimmy Gosling' , 
    linesOfCode : 150
   }, { 
    name : 'Gracie Hopper' , 
    linesOfCode : 1000
   } 
]; 

const totalOutput = 贡献
减少totalLines,输出)=>总行数 + 输出。行数, 0 );

避免否定条件

应避免:

function  isEmailNotUsed ( email: string ): boolean  {
   // ...
 }

 if ( isEmailNotUsed (email)) {
   // ...
 }

改为这样做:

function  isEmailUsed ( email: string ): boolean  {
   // ...
 }

 if (! isEmailUsed (email)) {
   // ...
 }

更喜欢不变性

应避免:

接口 配置{
  主机:字符串; 
  端口:字符串
  数据库:字符串
}

改为这样做:

接口 配置{
  只读主机:字符串
  只读端口:字符串
  只读数据库:字符串
}

标签:字符串,类型,模型,颜色,逻辑
来源: