问题标签 [project-organization]
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.
php - 我应该如何组织我的 ajax 动作文件
我想知道用 ajaxActions 文件组织我的 php 项目的最佳方法是什么。
目前,我有一些./process/ajaxAction_pagename.php
包含我的操作的文件,如下所示:
我只是想知道是否有更好(或更标准)的方法来做到这一点。
python - 组织模块和包的 Pythonic 方式
我来自通常每个班级创建一个文件的背景。我也在目录下组织公共类。这种做法对我来说很直观,并且已被证明在 C++、PHP、JavaSript 等中是有效的。
我很难将这个隐喻带入 Python:文件不再只是文件,而是正式的模块。在一个模块中只包含一个类似乎是不对的——大多数类本身是无用的。如果我有一个automobile.py
和一个Automobile
类,那么总是引用它似乎很愚蠢automobile.Automobile
。
但是,与此同时,将大量代码放入一个文件并收工似乎并不正确。显然,一个非常复杂的应用程序应该有 5 个以上的文件。
什么是正确的——或pythonic——方式?(或者如果没有正确的方法,您首选的方法是什么,为什么?)我应该在 Python 模块中输入多少代码?
.net - 大型 .net 应用程序的理想项目结构是什么?
我目前正在与 5 个开发人员一起开发一个项目。该应用程序由一个胖客户端、一个瘦管理客户端和多个支持维护应用程序组成。目前,胖客户端是用 VB6 编写的,并计划在未来 6-12 个月内转换为 .NET。瘦客户端是一个管理 Web 应用程序,允许管理人员管理胖客户端上的设置。支持维护应用程序用于运行夜间批处理作业和需要定期发生的作业,以保持数据在整个应用程序中移动。目前我们有以下结构:
文件系统:
当前文件系统布局 http://img130.imageshack.us/img130/5387/currentprojectlayout.png
SVN:
当前 SVN 布局 http://img707.imageshack.us/img707/2320/currentsvnlayout.png
如您所见,我们的 Subversion 存储库基本上反映了我们的文件系统布局,对标准 Subversion Trunk、Tags 和 Branches 文件夹进行了明显的更改。我们的项目有一个 lib 文件夹,其中包含我们所有引用的非 GAC dll。在我们的 src 目录中,我们有两个文件夹和我们的持续集成构建文件。这两个文件夹包含两种类型的应用程序,我们的胖客户端 (VB6) 和我们的其他项目 (Other)。VB6 应用程序分为不同的模块,这些模块包含应用程序的不同业务逻辑。在 Other 文件夹中,我们有许多不同的项目(上面用 Project1 - Project6 描述,还有更多)。有一个 Web 应用程序,其中包含我们的瘦客户端代码。这里的其他一些项目是支持应用程序,在应用程序的不同部分以及我们的维护应用程序中访问的公共类。当我们使用 VB6 应用程序转到 .NET 时,我想稍微重组项目并想知道重组这个应用程序的最佳方法是什么。我的第一个想法是具有以下结构:
建议的文件系统布局 http://img248.imageshack.us/img248/7712/proposedprojectlayout.png
我知道有很多堆栈溢出问题可以解决这类问题,但这更多是关于我的项目的具体问题,而不是像许多其他问题一样的一般问题。这是整理项目的最佳方式,还是有更好的方式?
谢谢,
斯科特蓝
ruby-on-rails - 用于组织多文件 Ruby 程序的系统?
是否有组织多文件 Ruby 程序的标准或常规系统?我在 Ruby 中开始了我的第一个大型“项目”,这是一个按逻辑组织成多个文件和目录的搜索程序。我在下面概述了我的潜在结构:
- 主文件. 该文件实现了搜索类和通用搜索协议。
- 算法分析文件。该文件实现了解释搜索结果的函数。
- 协议目录
- 每个协议包含一个要搜索的文件。
- 提要目录
- 该程序的部分目的是搜索存档的新闻提要。此功能的文件位于此文件夹中。
但是,代码目前有一个类(我们称之为 Searcher),每个协议的搜索类都继承自(GoogleSearcher < Searcher)。为了管理这个,我需要在这些协议文件中包含主文件(对吗?),考虑到我理想的结构,这似乎是不可能的。
除了我的具体示例之外,我想知道是否有任何约定,例如“更多文件而不是更少”,或“文件的逻辑结构是不必要的”。有一个“帮助”函数的文件(比如在 Rails 中)是否常见?什么级别的抽象被认为是合适的?
最后,我计划有一天将它作为一个库集成到 Rails 中(不是插件;我希望它也能独立工作)。我不知道这是否会影响组织。
我知道这是一个非常开放的问题,但那是因为我会很感激任何远程相关的建议。提前致谢。
version-control - 组织一个使用多种语言的项目?
我目前正在开发一个包含 perl、.NET、C/C++ 和 Java 组件的项目。这些组件是相互关联的,但不依赖于相同的发布时间表。由于非常不同的构建/测试环境要求,将它们全部归入相同的 /bin /src /lib /etc /tests 层次结构有点笨拙。
在处理这种性质的项目时,可以在源代码控制中使用哪些好的组织层次结构?我目前倾向于每种语言都有自己的分支:
回购/project1/perl/main/...
回购/project1/.NET/main/...
回购/project1/Java/main/...
如果他们确实有一个捆绑的发布时间表,你推荐的层次结构将如何变化?
c++ - 中小型项目的 Maven 学习曲线和开销?
将 Maven 用于中小型 C++/Eclipse/Linux 项目的初始学习和设置曲线以及后续开销是多少(粗略估计,当然是平均值)?
我们一开始是 4 名开发人员。我们目前有大约 20 个原生 eclipse C++ (CDT)“项目”,我们以交互方式编译它们。我们希望有一个自动结帐和构建脚本。
在这个阶段这似乎有点过头了,但也许我们应该尽早采用它,前提是它不会产生开销。我们现在没有带宽进行广泛的配置管理。非常感谢!
编辑/详细:
我意识到我没有很好地描述我的需求。阅读了下面提供的参考资料后,我发现 CI 工具目前对我们来说似乎有点过头了。我想要的是一个构建工具,它一方面与 eclipse 很好地集成,另一方面允许离线、非交互式构建。我喜欢使用 Eclipse 项目的简单性:您只需添加文件、添加对内部组件和第三部分库的引用,就可以了。您不需要手动维护 makefile 等。与几年前我使用 MSVS 时一样,它的问题在于它没有为您提供非交互式构建的选项。那么,这样的工具存在吗?
namespaces - 在 Clojure 中使用命名空间的常见约定是什么?
我很难找到在 Clojure 中使用命名空间的好建议和常见做法。我意识到名称空间与 Java 包不同,所以我试图梳理出 Clojure 中的约定,这似乎很难确定。
我想我很清楚如何将函数拆分为 clj 文件,甚至大致了解我希望如何将这些文件组织到目录中。但除此之外,我很难找到适合我的开发环境的机制。一些相互关联的问题:
- 我对 Clojure 命名空间使用的唯一性约定是否与我通常用于 Java 包的唯一性约定相同?[即向后公司域.project.subsystem]
- 我应该将文件保存在与我的命名空间匹配的目录结构中吗?[阿拉爪哇]
- 如果我有多个命名空间,我是否需要将所有代码编译到一个 jar 中并将其添加到我的类路径中以使其可访问?
- 每个命名空间都应该编译成一个 jar 吗?或者我应该创建一个包含来自许多命名空间的 clj 代码的单个 jar?
谢谢...
asp.net-mvc - 如何组织 asp.NET MVC 项目以允许“精简”版本
我正在将 Web 表单应用程序迁移到 ASP.NET MVC。今后,我们可能希望提供此应用程序的“精简”版本。这是一个非常模糊的概念,但我希望底层数据库是一样的,我们只会简化 UI,用户甚至可以随意在完整版和精简版之间切换。
我们显然希望尽可能多地重用,也许使用相同的模型但不同的视图。一些页面将保持完全相同,其他页面可能会被删除或与其他页面合并。
我想要避免的是,以这样一种方式组织项目,如果最终我们决定这样做,那么它就很难做到这个“精简”版本。在这一点上,我能想到的只有控制器和视图区域,按“完整”、“精简”和“共享”组织。
有没有人有使用 MVC 的多种应用程序的经验?
git - 您将如何对个人数据(例如个人网站)使用版本控制?
这更像是一个用例问题,但我使用 txt2tags 为个人网站生成静态文件。我在考虑也许将这些信息存储在 git 存储库中。通常我使用 RCS,因为它最简单,而且我只是一个用户。
但是似乎人们使用 git/svn/cvs/etc 的趋势很大。对于个人数据,我认为这也可能是至少学习该工具的一些基础知识的好方法。显然,大部分学习都是在您协作的环境中完成的。
回到这个问题:你将如何使用 git 等版本控制系统来管理个人网站?
php - 我想更好地组织我的网站文件,但我可以使用文件夹层次结构访问 .php 文件。我怎样才能覆盖它?
例如,要访问我的搜索文件夹中的页面,我必须编写:
mywebsite.tld/search/searchJob.php
我不希望用户必须写下文件夹结构等等。我能做些什么来改变这一点?
或者,有没有更好的方法来组织我的文件?因为我只有两页,所以我决定移动一些文件并在层次结构中迷失了(这就是为什么我像图片中那样移动它们)。