相关疑难解决方法(0)

有多少参数太多了?

例程可以有参数,这不是新闻.您可以根据需要定义任意数量的参数,但是过多的参数会使您的日常工作难以理解和维护.

当然,您可以使用结构化变量作为解决方法:将所有这些变量放在单个结构中并将其传递给例程.实际上,使用结构简化参数列表是Steve McConnell在Code Complete中描述的技术之一.但正如他所说:

细心的程序员避免捆绑数据,这在逻辑上是必要的.

因此,如果您的例程有太多参数或使用结构来伪装一个大参数列表,那么您可能做错了.也就是说,你没有保持松耦合.

我的问题是,我什么时候可以考虑参数列表太大?我认为超过5个参数,太多了.你怎么看?

language-agnostic parameters

228
推荐指数
19
解决办法
13万
查看次数

直接使用$ injector实例与获取依赖关系作为参数

在Angular中,从$ injector实例直接获取依赖项而不是参数是一种好的做法吗?

我有一个问题,我的控制器开始有很多依赖,所以而不是:

myApp.controller(['$scope', 'Dep1', 'Dep2', 'Dep3', function($scope, Dep1, Dep2, Dep3) {
    ...
}]);
Run Code Online (Sandbox Code Playgroud)

我会做:

myApp.controller(['$scope', '$injector', function($scope, $injector) {
    var Dep1 = $injector.get('Dep1');
    var Dep2 = $injector.get('Dep2');
    var Dep3 = $injector.get('Dep3');
}]);
Run Code Online (Sandbox Code Playgroud)

我发现它的功能相同,但参数的混乱程度要小得多.我想这会让我的组件稍微不那么容易测试,对吧?

你怎么看?

javascript angularjs

3
推荐指数
1
解决办法
96
查看次数