Questions tagged «dependency-analysis»


3
如何解决循环依赖?
我有三个相互循环依赖的类: TestExecuter执行TestScenario的请求,并使用ReportGenerator类保存报告文件。所以: TestExecuter依赖ReportGenerator生成报告 ReportGenerator取决于TestScenario和TestExecuter设置的参数。 TestScenario取决于TestExecuter。 无法弄清楚如何删除那些依赖项。 public class TestExecuter { ReportGenerator reportGenerator; public void getReportGenerator() { reportGenerator = ReportGenerator.getInstance(); reportGenerator.setParams(this.params); /* this.params several parameters from TestExecuter class example this.owner */ } public void setTestScenario (TestScenario ts) { reportGenerator.setTestScenario(ts); } public void saveReport() { reportGenerator.saveReport(); } public void executeRequest() { /* …

8
有没有一种编程范例可以促进使依赖关系对其他程序员来说非常明显?
我在一个数据仓库中工作,该数据仓库通过许多流和层为多个系统提供源,并且具有迷宫般的依赖关系,将各种工件链接在一起。几乎每天我都会遇到这样的情况:我运行某些东西,它不起作用,运行大量代码,但是几个小时后,我意识到我已经设法将现在所知的一小部分概念化为流程图需要一天的稍后时间,所以我问一个人,他们告诉我必须先运行另一个流,并且如果我在这里检查(表明其他编码依赖项的巨大堆栈中某些看似任意的部分),则我将看到了这个。真令人沮丧。 如果我能够向团队建议,如果我们做更多的事情来使对象之间的依赖关系更加可见和明显,而不是将它们深深地嵌入到递归代码级甚至数据中,那可能是个好主意。之所以必须存在,是因为它被另一个流填充了,也许是通过引用一个众所周知的,经过测试的软件范例进行的,那么我也许可以使我的工作变得简单,而其他所有人都可以简化很多。 向我的团队解释这种好处是很困难的。他们倾向于按照现状接受事物,而不是“想大”,因为他们看到了能够以新方式概念化整个系统的好处–他们并没有真正看到是否可以为大型系统建模高效,那么就不太可能遇到内存效率低下,流停止唯一约束和重复键,废话数据的情况,因为这样可以更轻松地进行设计以符合原始视觉,并且以后不会遇到所有这些问题我们现在正在经历,我知道这与以往的工作不同寻常,但他们似乎认为这是不可避免的。 那么,有谁知道一个强调依赖关系并促进系统通用概念模型以确保长期遵守理想的软件范例?目前,我们几乎陷入了混乱,每个冲刺的解决方案似乎都是“只是在这里,这里和这里添加此东西”,而我是唯一一个担心事情真的开始崩溃的人。

4
您如何处理仅在运行时才知道的传递依赖冲突?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 您通常如何处理大型软件项目在运行时发生的传递依赖问题? 在过去的三个星期中,我一直试图在一个软件的另一个组件中启动一个大型软件的一个组件,但是由于仅在运行时才知道的传递依赖项问题,该软件间歇性地消失了。 通过传递依赖关系问题,我的意思是给定项目的依赖关系的某些依赖关系在运行时与其他依赖关系发生冲突,从而导致不稳定或即时失败。 有成百上千的依赖在使用中,并且与该工具相关联的子项目大约有50个,这些其他项目是由其他团队隔离进行的,其中所有模块之间都具有深层嵌套的依赖关系。鉴于项目的规模和复杂性,没人知道所有子项目的用途。 在这种情况下,您是否会尝试为受影响的组件的每个依赖项生成DAG的可视化表示,并尝试确定在运行时可能在何处发生冲突?我无法控制其他子项目中依赖项的管理方式,也无法更改其他开发人员编写的任何Java代码 我提出的解决方案只能工作一两个小时,然后由于上游组件的更改而停止工作。上游组件的一个示例是工件,我正在处理的项目依赖于工件,该工件是在CI管道的较早阶段构建的。 应他人的要求,我将提供有关正在使用哪种技术的信息,可能会因提供太多信息而导致问题被解决,或者身体变得太长的风险: Maven用于依赖性管理;和 Spring用作DI容器; 由于在运行时加载了其他模块的上下文,因此大多数依赖性问题都涉及到重叠的Bean上下文。 该产品运行正常,并且存在大量的单元测试和集成测试,以确保程序的功能正确性 总的来说,我正在寻找一种与语言无关的方法来确定解决依赖冲突的方法,而不用枚举给定项目依赖的所有可能组合。 我无法重新设计项目,添加其他质量保证,无法推动公司范围内的范式转换或切换语言作为解决方案。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.