【问题标题】:In AngularJS application can we have multiple services files在 AngularJS 应用程序中,我们可以有多个服务文件吗
【发布时间】:2015-07-15 12:06:13
【问题描述】:

在 AngularJS 应用程序中,对于一个模块说“登录”功能,我们可以创建多个服务文件,如 logincheck-svc.js 和 logingo-svc.js 并引用 login-ctrl.js 文件中的两个文件 我问这个问题是因为服务文件在 LOC 方面变得越来越大,而且 Plato 报告显示的可维护性指数非常低[由于文件的复杂性]

【问题讨论】:

  • 如果有的话,简单地将不可维护的代码分成几个文件将进一步降低可维护性(因为现在混乱并没有很好地包含在单个文件中)
  • 我们正在努力展示可以对现有 angularjs 应用程序进行的改进。 Plato 报告考虑了 Halstead 指标,该指标表示更多的运算符和操作数,然后更复杂的是代码。所以我在想为什么不将功能划分为 2 个不同的服务文件
  • 我明白了。经常改组代码以满足机器的要求并不会导致可读性、可维护性和其他真正重要的指标的实际增加。有时 30 行方法应该保持 30 行方法,而不是转换为 50 行方法。
  • 关于你提出的分割:盲目地将文件分成两半对你没有任何好处。但是,如果您设法从逻辑上提取出独立的部分,那就另当别论了。
  • 感谢您的意见,让我看看我们是否真的可以将独立的功能分成不同的文件

标签: angularjs plato


【解决方案1】:

就关注点的隔离而言,您可以根据需要尽可能多地依赖控制器。

angular.module('app.controllers').controller('OneController', [
  '$scope',
  'OneService',
  'TwoServices',
  'ThreeServices',
  function ($scope, OneService, TwoServices, ThreeServices) {...}]);

【讨论】:

    【解决方案2】:

    当然可以,我什至会说,从您的文件变得庞大的那一刻起,这是一个非常好的主意。 :-)

    “分而治之”

    【讨论】:

      猜你喜欢
      • 2011-05-26
      • 1970-01-01
      • 2015-11-15
      • 2020-09-13
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      相关资源
      最近更新 更多