不要添加不需要的上下文
如果您的类/类型/对象名称告诉您一些信息,请不要在您的变量名称中重复。
应避免:
输入 Car = {
carMake : 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