问题标签 [project-layout]

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 投票
2 回答
1587 浏览

.net - ASP.NET MVC 中的项目布局和站点结构

我是 ASP.NET MVC 的新手,想使用 ASP.NET MVC 创建和部署网站。

我有一些运行经典 ASP 的旧站点,站点结构如下所示:

  • web.root(保存网站页面)
  • data.files(保存数据库)
  • log.files(日志文件)

我想知道 ASP.NET MVC 是否使用相同的结构?

存储 Visual Studio 项目文件的最佳做法是什么?

0 投票
1 回答
770 浏览

python - python 和 GUI 测试中的包内引用

我有关于 python 包和测试的问题。我正在使用wx python编写一个应用程序,并且 gui 部分具有以下基本文件夹/包结构。mainframe.py窗口依赖于logpane.py面板,可以使用mainframe.py中的绝对导入轻松导入:

文件夹/包布局:

但是,对于应用程序的 gui 部分,除了单元测试(它们没有问题)之外,我还希望每个视图都有一个小的“测试”/示例。也就是说,对于日志窗格,我想要一个可运行的小型示例,它将启动一个裸露的应用程序,显示测试布局是否正常等的视图。我开始的方式是我有一个

在面板/视图本身的实际实现文件中。这为日志窗格创造了奇迹。我可以单独运行文件来查看视图并查看它是否结合在一起。

但是,由于无法解决对logpane.py的依赖关系,因此mainframe.py的策略当然失败了。这是因为当前的主模块mainframe.py 并且 mainframe.py 可以访问 utilviews 包的唯一方法是主/启动模块是否在树中更靠前。

那么如何构建这些类型的测试呢?对于单元测试,我使用nose,它很好并且可以解决问题,因为nose 是根据mainapp 文件夹启动的(因此所有包内引用都有效)。但是这些测试就像小的独立程序。我根本不能用这些 python 文件弄乱 mainapp 文件夹(会有很多这样的文件)。有没有其他方法可以做到这一点?

任何输入都是有价值的。

谢谢,里卡德

0 投票
2 回答
597 浏览

python - Python项目部署设计

情况是这样的:我现在工作的公司让我可以自由地使用 java 或 python 来开发我的应用程序。公司主要有java经验。

我决定使用 python,所以他们非常高兴地要求我对他们拥有的与数据库维护相关的所有 python 项目/脚本进行维护。

处理所有这些事情并没有那么糟糕,看看我与 Java 程序员相比有多少空闲时间也很有趣。只有一个,但是项目布局一团糟。

有许多脚本只是简单地放置在整个公司的虚拟机中。其中一些具有复杂的功能,分布在几个模块中(最多 4 个。)

在考虑它的同时,我意识到我不知道如何解决这个问题,所以这里有 3 个问题。

  • 我在哪里放置独立脚本?我们使用 git 作为我们的版本控制系统。
  • 如何以用户不需要深入文件夹来运行程序的方式构建项目的布局(在 java 中,我创建了一个 jar 或一个 jar 和一个 shell 脚本来处理一些引导操作。)
  • 创建易于重用的模块的标准方法是什么(mycompany.myapp.mymodule?)
0 投票
1 回答
56 浏览

php - 如何在源代码控制下处理项目中的符号链接?

我们有几个 php 项目。这些项目使用 Zend 框架,我们还维护一个具有各种功能的通用核心库。

现在我的目录结构看起来像这样

在 Subversion 中,我似乎遇到了符号链接的问题,它正在添加实际文件(我在 Mac 上使用 Syncro),而不仅仅是符号链接。但这让我开始思考,我想知道布局项目的最佳方式是什么,以避免拥有相同库的多个副本?

0 投票
1 回答
402 浏览

c# - 如何构建 ASP.NET 项目以供重用

我正在设计一个 Web 应用程序,该应用程序将具有多个提供不同功能的可安装模块。这里有很多常见的东西,我有 3 个 C# 类库,我知道它们很容易在不同的项目中使用。

我坚持的一点是实际的网站本身。理想情况下,我想制作一个可以在多个项目中重复使用的 ASP.NET页面库,但我知道这是不可能的。

你们如何构建您的网站项目,以便页面可以在多个项目中重复使用?到目前为止,我想出的唯一解决方案是在 SVN 中创建一个存储库,并在svn:externals主项目的属性中引用它。这允许我将页面添加到所有网站通用的目录中,并且我知道我将能够使用它来将它们检出到其他项目中。但是,我觉得这有点笨拙,并且会在创建新项目时引起问题(创建新解决方案需要许多步骤,以确保正确的外部设置到位)。

有更好的解决方案吗?当您想跨多个客户端项目共享通用 ASPX 文件时,最好的方法是什么?您如何管理针对它们的更改?

提前致谢!

编辑:

非常感谢大卫的回应。我对此进行了更多思考,并认为我会列出一些更具体的想法/担忧。首先,关于项目的更多信息。首先,它是一个CMS。但是,我们也有需要 CRM 的客户,也有一些客户既不想要,又想要从头开始的整个定制系统。

在我上面的原始帖子中,我谈到了主根目录(例如,cms)的子目录,svn:externals用于允许跨多个项目轻松重新共享网页。我开始认为这是做到这一点的唯一方法。困扰我的一件事是,如果客户的网址是:

http://www.shotgunanddribble.com/cms/content.aspx

但是,我认为我可以Application_BeginRequest通过根据客户端站点的配置重写它们来减轻可怕的 url。例如,如果客户只是一个 CMS,我可以将他们的顶级域重写为/cms/. 如果他们是 CRM,也一样。如果他们都是:

http://www.shotgunanddribble.com/->/cms/

http://crm.shotgunanddribble.com/->/crm/

使用这些类型的重写有什么缺点吗?我认为,除非其他人有任何神奇的想法,否则这svn:externals是我唯一的希望。

0 投票
5 回答
667 浏览

c++ - 多小班分布

我有一个名为EventArgs. 从中派生出许多表示特定类型事件的事件参数的专业化。这些事件的消费者可能需要一些、许多或很少的这些参数类。

我的问题是,您是否会为每种类型提供一个头文件(例如,50 多个不同的头文件),您是否会尝试将它们分组并为这些类型提供一个“通用”头文件,或者您会抛出注意窗口并将它们放入一个可以包含的易于使用的头文件中?

另一种方法可能是拥有 50 个头文件,然后我可以介绍一些包含特定头文件的“家族”头文件。不确定这些东西的命名约定,所以很明显什么在哪里。

我知道可能没有硬性规定,但想知道其他开发人员在编写许多小类时都做了什么。

提前致谢。

0 投票
4 回答
495 浏览

javascript - 保持 JavaScript 和 CSS 同步的做法?

我正在开发一个大型 JavaScript 密集型应用程序。几段 JavaScript 都有一些相关的 CSS 规则。我们目前的做法是让每个 JavaScript 文件都有一个可选的相关 CSS 文件,如下所示:

这样我就知道所有相关的 CSSMyComponent.js都将在MyComponent.css.

但问题是,我在这些文件中经常只有很少的 CSS。而且我经常觉得创建一个仅包含几行 CSS 的整个文件太费力了——在 JavaScript 中硬编码样式会更容易。但这将是通往黑暗面的道路......

最近我一直在考虑将 CSS 直接嵌入到 JavaScript 中——这样它仍然可以在构建过程中提取出来并合并到一个大的 CSS 文件中。这样我就不必为每个小的 CSS 片段创建一个新文件。此外,当我移动/重命名/删除 JavaScript 文件时,我不必另外移动/重命名/删除 CSS 文件。

但是如何在 JavaScript 中嵌入 CSS 呢?在大多数其他语言中,我只会使用字符串,但 JavaScript 在多行字符串方面存在一些问题。以下看起来恕我直言非常难看:

您还有哪些其他做法可以让您的 JavaScript 和 CSS 保持同步?

0 投票
1 回答
157 浏览

php - 打包通用zend模块的最佳方法

随着我们公司开始使用 Zend Framework 作为我们大多数项目的基础框架,我们希望在所有项目中共享一些通用元素。我谈论的事情如下:

  • 模型的实现(基于学说2)
  • 模型的 RBAC,包括用户、组、角色模型
  • 用于 ajax 后端接口的基于 xml 的模板引擎
  • (你的名字)...

基本上,所有的事情都要“上轨道”然后开始。打包这些组件的最佳方式是什么?我看到两种可能性:

作为模块

我们将必要的功能作为单独的模块包含到模块文件夹中。

临:

  • 我们可以设置路由和执行代码,这对很多模块都有好处(想象一下:一个paypal模块需要某种回调url。如果我们的模块可以自己设置,不需要“项目开发者”的配置) .
  • 我们可以提供开箱即用的真实功能(如用户管理)
  • 我们有一个引导程序来设置自动加载和教义等。

缺点:

  • 不好的地方?干扰用户项目
  • 在项目之间共享有点困难(git子模块而不是类路径)

在库文件夹中

我们将它放在库文件夹中并将类路径指向它。

临:

  • 清洁溶液
  • 跨项目共享

缺点:

  • Bootstrap 必须被显式调用
  • 没有直接的路由或动作 - 一切都必须通过具体项目代理

那么,你如何解决这个问题?您将可重复使用的通用材料放在 zf 的什么位置?

0 投票
2 回答
8247 浏览

php - 如何扩展 Yii 框架类以及放置文件的位置

我想扩展一些内置的框架类,但是我有一些不清楚的地方:

  1. 我想我应该把我的类放在我的组件文件夹下,这是正确的地方吗?
  2. 我应该命名类Subfolder_ClassName和文件ClassName.php吗?
  3. 我该如何继承?默认包含路径不包括框架本身。我假设有一种内置方法可以做到这一点,而无需我更改包含路径/开始使用自动加载功能或只需在我的代码中硬编码包含。

对?

0 投票
2 回答
394 浏览

java - 是否有任何 API 可以从 Java 源文件生成包结构

我有一个包含 Java 源文件的源文件夹。这些 Java 文件有不同的包。使用 javac 命令我可以生成包结构,但包将包含类文件而不是源文件。

是否有任何 API 可以从 Java 文件生成包结构并将 Java 文件放入特定包中