Javascript代码可读性-是否拆分为更小的函数?
这是一个简单的问题,但我只是想得到一些建议 我正在用Angular构建一个简单的税务计算器应用程序,目前我所有的计算工作都很好,但当涉及到代码设计时,我不知道我是否用正确的方法进行计算。所以 我第一次写代码是什么时候,我用这个来计算退休金金额的Javascript代码可读性-是否拆分为更小的函数?,javascript,angular,function,typescript,ecmascript-6,Javascript,Angular,Function,Typescript,Ecmascript 6,这是一个简单的问题,但我只是想得到一些建议 我正在用Angular构建一个简单的税务计算器应用程序,目前我所有的计算工作都很好,但当涉及到代码设计时,我不知道我是否用正确的方法进行计算。所以 我第一次写代码是什么时候,我用这个来计算退休金金额的 this.superAnnuationAmount = (this.incomeAmount / 100) * this.superAnnuationPercentage 很简单。但是现在我来清理我的代码,我想如果我这样做的话,它看起来会更好,读起来也
this.superAnnuationAmount = (this.incomeAmount / 100) * this.superAnnuationPercentage
很简单。但是现在我来清理我的代码,我想如果我这样做的话,它看起来会更好,读起来也会更好
this.superAnnuationAmount = this.getSuperannuationAmount(this.incomeAmount, this.superAnnuationPercentage);
private getSuperannuationAmount(income: number, percentage: number): number {
return (income / 100) * percentage;
}
现在我知道它几乎没有什么区别,除了让它更可读之外,我想。对于更复杂的函数,我也将采用这种方法。然而,在我的IDE中,我有方法的linting错误,它可以更静态
它怎么能更静态呢?采用大函数并将其放入可读性更强的小函数中是正确的方法吗?由于您的函数不在对象上使用实例变量(它不使用此
),因此可以将其设置为静态
private static getSuperannuationAmount(income: number, percentage: number): number {
return (income / 100) * percentage;
}
不过,你不必这么做——只是你的皮棉在向你袭来
我认为更干净的方法是使用getter:
public get superAnnuationAmount(): number {
return (this.incomeAmount / 100) * this.superAnnuationPercentage;
}
现在,您可以只使用常规的退休金挂载
,它将使用实例变量进行计算。由于您的函数不在对象上使用实例变量(它不使用此
),您可以将其设为静态
private static getSuperannuationAmount(income: number, percentage: number): number {
return (income / 100) * percentage;
}
不过,你不必这么做——只是你的皮棉在向你袭来
我认为更干净的方法是使用getter:
public get superAnnuationAmount(): number {
return (this.incomeAmount / 100) * this.superAnnuationPercentage;
}
现在,您只需使用常规的退休金挂载量
,它将使用实例变量进行计算。您好,它可以关联到。
静态方法存在于类而不是对象实例上。请提供类结构以了解更多详细信息。您好,它可以与。
静态方法存在于类而不是对象实例上。请提供类结构以了解更多详细信息。老实说,如果我是必须维护代码的开发人员,我更喜欢第一个版本,因为它足够清晰,特别是因为退休金金额
变量表示右边数学表达式的意图。在第二个版本中,我不会一目了然地获得所有信息,逻辑现在处于两个不同的位置,而可读性的回报并不能证明这种分散性是合理的(如果只需要在一个位置执行计算,则使方法静态会使情况变得更糟)。老实说,如果我是必须维护代码的开发人员,我更喜欢第一个版本,因为它足够清晰,特别是因为superAnnuationAmount
变量表示右侧数学表达式的意图。在第二个版本中,我不会一目了然地获得所有信息,逻辑现在处于两个不同的位置,而可读性的回报并不能证明这种分散性是合理的(如果只需要在一个位置执行计算,则使方法静态会使情况变得更糟)。@Pac0问题不一样,他也在问其他问题,但这个问题的标题确实可以说得更好。同意-将更新标题我删除了我的重复标记@Pac0的可能重复项问题不一样,他也在问其他问题,但是这个问题的标题确实可以说得更好。同意-将更新标题我删除了我的重复标记可能重复使用getter看起来很有趣-将现在查看getter的使用看起来很有趣-将现在查看我听到了你的说法-谢谢你的意见:)我听到了什么你的话-谢谢你的意见:)