问题标签 [project-structure]
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.
svn - 版本控制中的项目结构
我知道在版本控制中至少有 10 种不同的方式来构建项目。我很好奇正在使用哪些方法以及哪些方法适合您。我曾使用过 SVN、TFS 和目前/不幸的是 VSS。我已经看到版本控制实施得非常糟糕而且还不错,但从来都不是很好。
只是为了让球滚动,这里是我所看到的事情的回顾。
这个例子是基于 SVN 的,但适用于大多数 VCS(对分布式版本控制不太适用)。
分支属于站点 /division/web/projectName/vb/src/[trunk|branches|tags] 的各个项目
分支整个站点,在我看到的情况下,除了核心组件之外的整个站点都被分支了。/division/[主干|分支|标签]/web/projectName/vb/src/
默认使用主线,仅在需要进行巨大更改时才分支。
python - 跨文件组织的 Python 类的可能性?
我习惯了 Java 模型,每个文件可以有一个公共类。Python 没有这个限制,我想知道组织类的最佳实践是什么。
asp.net-mvc - 如何在 ASP.NET MVC 中自定义目录结构?
我开始工作的项目将有几十个控制器,因此最好将它们构造成逻辑目录和相应的命名空间,如“Controllers/Admin/”、“Controllers/Warehouse/Supplies/”等。
ASP.NET MVC 是否支持嵌套控制器目录和命名空间?如何管理到这些控制器的路由?
python - Python 应用程序的最佳项目结构是什么?
想象一下,您想用 Python 开发一个重要的最终用户桌面(不是 Web)应用程序。构建项目文件夹层次结构的最佳方法是什么?
理想的功能是易于维护、IDE 友好、适合源代码控制分支/合并以及易于生成安装包。
尤其:
- 你把源放在哪里?
- 您将应用程序启动脚本放在哪里?
- 你把 IDE 项目放在哪里?
- 你把单元/验收测试放在哪里?
- 您将非 Python 数据(例如配置文件)放在哪里?
- 对于 pyd/so 二进制扩展模块,您将非 Python 源代码(例如 C++)放在哪里?
language-agnostic - 您的软件开发目录结构是什么?
我一直在尝试目录结构,目前正在使用以下结构:
Web 存储 Web 应用程序,桌面存储桌面应用程序。dev 目录受版本控制,而其他目录(prod、qe、uat)存储它们各自的当前版本。项目目录存放非代码相关的项目项。
您的软件开发目录结构是什么?您推荐该结构有什么原因?
asp.net - 应该在哪个项目层筛选 DTO 的存在?
我有一个项目,我们使用屏幕 DTO 来封装服务层和表示层之间的数据。在我们的例子中,表示层是 ASP.Net。
唯一知道 DTO 的类是服务层类和调用这些服务并显示 DTO 的页面/控件。
DTO 几乎总是特定于页面/控制,所以我觉得它们属于表示层,但这意味着服务层必须引用表示层才能使用 DTO。
我几乎认为服务层应该返回更丰富的对象(但不是域实体?),然后表示层可以获取这些对象并将它们映射到每个页面/控制问题的非常具体的 DTO。
这是一个接口声明和一个 DTO,因此您可以看到我在说什么:
编辑
这是另一个代码示例,用于描述不涉及域模型的用例。也许这会澄清一些事情。我相信我已经超载了 DTO 的含义。我不是在谈论通过网络传输对象的功能的 DTO。我正在创建 DTO 来正式确定与我的服务层的通信之间的合同。
假设我的身份验证突然需要一个 IP 地址参数。我现在可以将该属性添加到 DTO,而无需更改我的合同接口。
我不想将实体传递给我的表示层。我不希望我的代码后面有能力去BlogPost.AddComment(new Comment())
delphi - 您如何使用版本控制中的第三方组件管理您的 Delphi 项目?
安装第三方组件总是需要很长时间,特别是如果您有大型组件,但如果您在多台计算机上设置环境,则需要更多时间。
而且我正在考虑将它们添加到版本控制(Subversion)中,因此使用所有必需组件检查项目总是很容易。
那么您如何管理它,以及在 VCS 中管理它们的最佳实践是什么?
还要考虑其中一些第三方没有源代码,而是作为 Delphi 库。(BPL)。
delphi - 在 Delphi 中,我应该将共享单元添加到我的项目、共享包中,还是都不添加?
这个问题与这个问题相似,但不是重复的,因为我问的是该问题中未讨论的问题。
我在 Delphi 7 中有一个客户端-服务器项目,其目录结构如下:
有 2 个实际的 Delphi 项目 (.dpr),MyClientApp 和 MyServerApp 文件夹中各有一个。
lib 文件夹具有 .pas 单元,这些单元具有客户端和服务器应用程序的通用代码。我想知道是否应该在客户端和服务器项目中包含这些 .pas 文件?或者我应该在包含这些单元的 lib 文件夹中创建一个包?还是我应该将 .pas 文件留在 lib 文件夹中而不将它们添加到任何应用程序/包中?
每种方法的优缺点是什么?哪种方式是“最好的”?将 lib 文件夹中的这些单元包含在多个项目中是否有任何问题?
现在 lib 文件夹中的单元不是任何应用程序/包的一部分。这样做的一个缺点是,例如,当我在 Delphi 中打开我的客户端应用程序,并且我想在项目的所有文件中搜索某些内容时,它也不会在 lib 文件夹中的单元中搜索。我通过打开这些单元并在所有打开的文件中进行查找或使用 grep 搜索来解决此问题(但我更喜欢更好的解决方案)。
我也非常喜欢一个解决方案,当我对 lib 文件夹中的这些文件进行更改时,我不必去打开一些单独的包并重新编译它(这是我应该使用项目组的地方吗?)。
ruby - 理想的 Ruby 项目结构
我正在对 ruby(非 Rails/merb/etc)项目的理想项目结构进行概述/澄清。我猜它遵循
我有什么问题吗?我错过了哪些部分?
maven-2 - 坚持使用 maven 的默认项目目录结构有什么好处?
简单地说,如果您使用 maven,您应该将 maven 布局视为黄金标准,还是应该转换布局以适合您的工具(WASD、myEclipse、RAD 等)?
意识到 maven 是可配置的并且您可以覆盖 Super POM 中的默认值,我试图确定是否应该更改布局以支持内部的特定工具,或者尝试让这些工具识别 maven 布局。需要考虑的一件事是最终集成持续构建工具,以及不同的 IDE。目前正在使用 MyEclipse,但有消息称他们不会在 6 个月内更新许可证。
我问的关于这类事情的第一个问题有点太具体和片面了。