首页 > 解决方案 > 如何设置构造函数,使其没有太多参数?

问题描述

我已经在 javascript 中工作了一年多一点,我从不喜欢的一件事是当我的构造函数有 3 个以上的参数并且我必须将它们垂直堆叠以提高可读性,尤其是在使用 angular 时,我将构造函数视为函数(这可能是错误的,我没有受过正规教育)我想保持我的函数和构造函数使用相同的格式以保持一致性。这使我使用非常短的变量名来避免堆叠它们(这对可维护性很糟糕)EX:

    constructor(public fb: FormBuilder, private db: DatabaseService){

    }

对比:

constructor(
    private fs: AngularFirestore,
    public fb: FormBuilder,
    private db: DatabaseService
) {}

如您在上面看到的;3 个参数,它现在是我一生中见过的最丑的东西 LoL。这样做的正确方法是什么?

TL;DR
如何重构我的构造函数以使其更易于维护?

编辑
基于一些评论,我认为这值得回应:如果我以客观的方式看待这一点(撇开我自己的观点不谈),传统观点认为,在编写函数时,参数越少越好。如果我们假设构造函数是函数,那么该逻辑必须扩展到依赖注入。

标签: angulartypescriptclassconstructor

解决方案


让我们对有问题的主题有一个广泛的了解 - 代码格式化

拥有 14 年以上的编码经验自 2006 年以来),研究过几种语言/技术(C、Java/android、JS、TS/angular 等),并与一些非常酷的开发人员作为队友一起工作。我只想分享一个我学到的关于代码格式化的建议

坏代码是机器能理解的,好代码是你能理解的,好代码是别人能理解的。

我们可以从上述陈述中得出一些要点:-

  1. 遵循社区驱动的代码风格指南https://angular.io/guide/styleguide
  2. 使用 linter 之类的自动化工具(TsLint、Jslint)
  3. 遵循惯例,不要被自己的眼睛愚弄。

记住——你只会写一次,但其他人(包括你未来的自己)可能会读很多次。


推荐阅读