问题标签 [code-separation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
89 浏览

oracle - PLSQL 中的表操作是否比在外部应用程序中运行更高效?(甲骨文 10g)

所以,我正在阅读 Ian Abramson 的 Oracle Database 10g 初学者指南(来自使用 mysql),它提到了 PL/SQL 并给出了使用它的所有这些很好的理由,但是我这样做是为了准备重写几个我公司使用的应用程序。

我的首席程序员认为,如果 PL/SQL 在数据库访问方面效率不高,那么所有解析和查询都应该在客户端程序上完成,以将负载从 Oracle 服务器分散开。我认为我们应该划分代码并尝试避免代码重复,PL/SQL 可以帮助我们做到这一点。

问题是,我们实际上并不知道(这本书也没有告诉我们),PL/SQL 中的数据库访问效率如何高于运行在不同机器上的应用程序,该应用程序每次操作进行 3-5 个(较大的)查询。我认为它更有可能运行得更快,因为(据我所知)pl/sql 函数存储并保存它们的执行计划,并且传统的网络开销将减少 3-5 倍(取决于查询的数量)

0 投票
1 回答
1319 浏览

user-interface - 如何将业务逻辑与 UI 分离

我正在创建一个计算器应用程序,并且尝试将业务逻辑与 UI 分离,以提高代码的可维护性并允许进行更好的单元测试。

我创建了一个 CalculatorUI 类,用于管理用户单击应用程序中的各种按钮时发生的情况。

我还创建了一个 Calculator 类来执行数学运算,并根据用户要求对计算结果进行一些验证。CalculatorUI 创建 Calculator 类的实例并调用 Calculator 类中的函数来响应用户的点击。我的问题是,在 Calculator 类中,如何编写代码来清除文本框并显示消息框以使用户知道无效结果?

我是编程新手,根据我的一位同事(高级程序员)的说法,最好将 UI 与业务逻辑和数据库分开。

我得到的错误表明'txtDisplay'和'resultValue'在当前上下文中不存在......另外,我应该如何使用bool变量?

这是我在计算器类中的代码:

0 投票
4 回答
193 浏览

c# - 如何将顺序打印语句与嵌套的 for 循环分开?

我有以下方法可以打印出给定数组的所有连续子集。我希望能够将交织在 for 循环中的丑陋 print 语句分离出来并放入一个新函数中。这是可行的吗?

0 投票
2 回答
84 浏览

c++ - 将所有代码放在标题中时我必须考虑什么?

我发现几个地方讨论了是否将定义放在标题中更好(例如这里)。但是,我找不到类似“仅标头代码指南”之类的东西。链接问题的答案提到了一些缺点:

  • 增加编译时间
  • 不可能有循环依赖
  • 没有(简单)全局对象

但仅此而已吗?

将(所有)代码放在标题中的后果是什么?

如果我使用头球后卫,我会省钱吗,还是有其他陷阱?

我问这个的原因如下:我认为将所有代码放在我的头文件中最容易。它是一个(相当小的)类和函数的集合,应该被其他人包含在他们的代码中。它应该在不同的环境和不同的框架中使用。目前,我不明白为什么我应该构建我的代码(到一个库中),当使用它的人可以简单地包含她/他需要的头文件并编译它时。然而,独立于这个项目,我在将代码放入标头时总是有一种“不好的感觉”,即使我上面提到的 3 点都不重要。如果有人能为我阐明这一点,那就太好了,这样我就可以在更合理的基础上决定将代码放在哪里。

0 投票
1 回答
1105 浏览

c - GLFW3 创建窗口返回 null

我试图将所有 GLFW3 初始化代码从 main 放到单独的文件中。当我运行代码时,我在 glew init 函数上得到 EXC_BAD_ACCESS,因为 GLFW 无法创建窗口。在代码分离之前一切正常。是否可以在其他功能中使用 GLFW 设置代码?

我开始学习 C 和 openGL,所以任何帮助都将不胜感激。

这是 window_manager.h

window_manager.c 中的代码

在 main.c

0 投票
1 回答
1450 浏览

c++ - 迭代项目中的枚举类

我正在关注这个问题以迭代枚举。

问题是在我的项目中,有很多单独编译的文件cpphpp似乎编译器需要直接访问operator++. 如果我在 a 中声明hpp然后在cpp文件中实现,我将面临错误:

编译器警告:使用但从未定义的内联函数“Color operator++(Color&)”

链接器错误:未定义对 `operator++(instruction_type&)' 的引用

如果我直接在中定义它hpp,我将面临另一个错误

多重定义...

对于operator*, begin, 和end在链接器中。

0 投票
2 回答
46 浏览

php - 每行单独的句子用于语言和翻译

我正在开发一个瑞典英语教育网站。

在我的文章中有例句,我已经将这些词输入到 textarea 中。它可以轻松地将我的文本保存到数据库。但我想将我的文本插入一行

目前我使用这种样式进行插入

文本区域导入循环;

谢谢!

0 投票
1 回答
59 浏览

visual-studio - 在 Visual Studio/.NET 项目中共享代码的正确项目组织和体系结构

我正在寻找有关如何在多个 Visual Studio 项目之间最好地共享代码的建议。我正在为一个基本主题而苦苦挣扎,并试图获得一些想法来克服它。

我的解决方案有:

  • 几个网络应用项目
  • 几个独立的流程项目,例如 Windows 服务和/或控制台应用程序和/或 Azure WebJobs

例如,所有项目共有的功能示例是需要调用一些常见的 Web 服务,或者需要从 Amazon S3 读取和写入。

我挣扎的地方是:显然,实现通用功能的代码应该自己分解,例如在一个单独的类库项目中。例如,要与 S3 通信,代码需要知道我的 Amazon 凭证、S3 端点等——所有这些东西通常都存储在应用程序配置文件中。但我不喜欢将配置文件放在类库项目中的想法,因为它将特定的实现绑定到它们。但为了不这样做,我必须从调用项目中传递这些信息。例如,Web 应用程序的 web.config 和控制台应用程序的 app.config 文件包含此连接信息。调用 S3 代码时,我假设将此配置信息传递到共享代码中。

但是,这对我来说似乎很糟糕*,我不知道为什么。如果有意义的话,我仍然觉得我正在将 S3 代码(例如)“绑定”到特定的配置方法。我不确定我的感觉是否是一种错误的偏见。

*例如,我可能需要传入任意数量的配置数据:

  • 连接字符串
  • Web 服务的凭据
  • API 端点
  • 来自我的应用程序配置设置的任意数据(一些调用者需要,但其他人不需要,所以很多时候数据只是无用,但我必须做传递一些东西的工作)

所以每次我在我的主应用程序中添加一个配置变量时,我都必须修改公共代码的构造函数。事情会一直在运动。

你能给我一些建议吗?

0 投票
1 回答
65 浏览

javascript - Aurelia:如何使用 npm 包中的视图/视图模型?

我们使用 Aurelia 作为我们应用程序的前端。由于我们将有几个基于它的不同项目,我希望能够将我们所有的自定义代码添加到开发人员可以添加的一些 npm 包中。这将允许我们创建一个新的空项目,将依赖项添加到我们的可重用代码中,而无需将其包含在项目的代码库中(因此可以在需要时单独更新)。

例如,我想要一个工具包和一个服务包。这当然很容易。

但我不知道如何使用包含我们所有自定义可重用组件的“ui”包。这甚至可能吗?我如何在 html 模板中需要一个组件?

如果无法做到这一点,是否有人知道如何将可重用代码与应用程序特定代码完全分开?

多谢!

0 投票
2 回答
513 浏览

java - Sonar Qube 中的项目隔离

我有一个如下所示的项目结构。

在此处输入图像描述

云项目文件夹有四种类型的项目(eco-projects、evn-projects、met-projects、svn-projects

每种类型的项目又包含四个不同的项目,例如在生态项目中,我们有eco-1-projects、eco-2-projects、eco-3-projects、eco-4-projects

我已将其集成到 Sonar Qube 中,当显示所有组合项目源代码时,我只有一个项目作为云项目,如下所示。

在此处输入图像描述

我们能否在 Sonar Qube 中有一个类似于可视化的层次结构,例如,当我单击 Sonar Dashbaord 中的Cloud Projects时,它将导航到另外四个项目,例如eco-projects、evn-projects、met-projects、svn-projects现在让我们说,当我点击eco-projects时,它会显示eco-1-projects、eco-2-projects、eco-3-projects、eco-4-projects,现在当我点击eco-1-projects时,它会显示其源代码相关仪表板和覆盖范围

我的sonar-project.properties如下

谁能告诉我一些解决方案