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)) {
   // ...
 }

更喜欢不变性

应避免:

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

改为这样做:

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

本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;

2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;

3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;

4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;

5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/293216.html

(0)
上一篇 2022年11月17日 03:51
下一篇 2022年11月17日 06:34

相关推荐

发表回复

登录后才能评论