angular - 如何设置构造函数,使其没有太多参数?
问题描述
我已经在 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
如何重构我的构造函数以使其更易于维护?
编辑
基于一些评论,我认为这值得回应:如果我以客观的方式看待这一点(撇开我自己的观点不谈),传统观点认为,在编写函数时,参数越少越好。如果我们假设构造函数是函数,那么该逻辑必须扩展到依赖注入。
解决方案
让我们对有问题的主题有一个广泛的了解 - 代码格式化
拥有 14 年以上的编码经验(自 2006 年以来),研究过几种语言/技术(C、Java/android、JS、TS/angular 等),并与一些非常酷的开发人员作为队友一起工作。我只想分享一个我学到的关于代码格式化的建议
坏代码是机器能理解的,好代码是你能理解的,好代码是别人能理解的。
我们可以从上述陈述中得出一些要点:-
- 遵循社区驱动的代码风格指南https://angular.io/guide/styleguide
- 使用 linter 之类的自动化工具(TsLint、Jslint)
- 遵循惯例,不要被自己的眼睛愚弄。
记住——你只会写一次,但其他人(包括你未来的自己)可能会读很多次。
推荐阅读
- laravel - 如何根据集合形式下拉列表中的选定选项过滤模型集合?
- service-worker - 将服务器转换为 Https 后显示 ServiceWorker 注册失败错误
- r - 建议使用代码代替管道函数 %>% %*%
- c# - 通过 ajax 或 [Authorize] 属性等其他方式调用 Azure DevOps 的 OAuth 机制
- vue.js - 使用 Nuxt 拦截 apollo 模块上的网络错误
- php - get the result from function and post it to select tag
- java - 如何在android中的数据绑定(MVVM)中将活动A意向活动B
- php - 变量不能与电子邮件 ID 一起动态工作
- python-3.x - 如何将一个列表中的元素分配为另一个列表中元素的值并打印结果?
- php - 正则表达式匹配多个实例