问题标签 [code-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.

0 投票
2 回答
12652 浏览

python - 用于 Python 开发的文件夹和文件组织

在 Python 开发环境中组织属于同一项目的代码的最佳方法是什么?Python项目组织的注意事项是什么?您是否将文件中的每个类分开?

有什么建议么?哦,请描述每种组织的(可能的)问题是什么。

组织 Python 代码的最佳实践是什么?

0 投票
1 回答
182 浏览

php - 我应该如何组织我的 ajax 动作文件

我想知道用 ajaxActions 文件组织我的 php 项目的最佳方法是什么。

目前,我有一些./process/ajaxAction_pagename.php包含我的操作的文件,如下所示:

我只是想知道是否有更好(或更标准)的方法来做到这一点。

0 投票
3 回答
2592 浏览

javascript - 如何在文件中组织 OO js 代码?本地网络应用

我目前正在开发一个将在B2B 环境中的本地网络上运行的应用程序。所以我几乎可以忘记在节省带宽方面的(迷你?)优化,因为硬件便宜,程序员很贵

我们在项目中有一个结构良好的面向对象的 js 代码,显然有很多 js 类。如果所有类都存储在单独的文件中,那么浏览此代码并因此维护它将非常容易。

但这将使我的浏览器生成几十个HTTP 请求,以获取页面上我需要的所有 js 文件/类。即使在本地环境中,它在第一次加载时也不是很快(缓存为空),后来当你修改它时,缓存必须失效。

可能的解决方案:

  • 违反规则“每个文件一个类”
  • 一直使用YUI 压缩器(在开发和生产中)来生成一个大的 js 文件。

但是如果我们为此选择 YUI 压缩器(在开发环境中没有缩小操作,而在生产环境中缩小) - 那么我们需要在任何 js 文件中的每次修改时重新加载/重新编译这个大 js 文件。

你会推荐什么来解决这个问题?

0 投票
2 回答
381 浏览

python - 使用共享包组织 Python 项目

组织和开发由许多共享一个(或多个)较大 Python 库的小脚本组成的项目的最佳方法是什么?

我们的存储库中有一堆程序,它们都使用存储在同一个存储库中的相同库。所以换句话说,布局像

当我们的程序正式运行完成后,我们要记录使用的代码版本。对于我们的 C++ 可执行文件,事情很简单,因为只要工作副本在编译时是干净的,一切都很好。(而且由于我们以编程方式获取版本号,因此它必须是工作副本,而不是导出。)对于 Python 脚本,事情要复杂得多。

问题是,通常会运行一个项目(例如 projA),而 projB 需要更新。这可能会导致工作副本修订在运行时与 projA 混合出现。(代码需要数小时才能运行,并且可以用作需要数天才能运行的流程的输入,因此具有强大的可追溯性目标。)

我目前的解决方法是,如有必要,将主干的另一个副本检查到不同的位置,然后从那里跑掉。但是我需要记住将我的 PYTHONPATH 更改为指向 lib/python 的第二个版本,而不是第一个树中的那个。

不可能有一个完美的答案。但必须有更好的方法。

我们是否应该使用颠覆关键字来存储修订号,从而允许数据用户导出文件?我们应该使用 virtualenv 吗?我们是否应该更倾向于打包和安装机制?Setuptools 是标准,但我读过关于它的混合内容,它似乎是为非开发人员最终用户设计的(我们没有)。

0 投票
2 回答
37523 浏览

python - 我应该如何组织 Python 源代码?

我正在开始使用 Python(现在是我试一试的时候了),我正在寻找一些最佳实践。

我的第一个项目是在多个线程中运行命令行实验的队列。我开始得到一个很长的main.py文件,我想把它分解。一般来说,我在寻找:python程序员如何组织多个源文件?是否有适合您的特定结构?

我的具体问题包括:

  1. 每个类都应该在一个单独的文件中吗?
  2. 我应该如何组织与源代码相关的单元测试?
  3. 我应该把文档注释放在哪里,特别是那些用于命令行操作的注释?
  4. 如果我使用多个目录,如何在它们之间导入类?

我可能在这里通过反复试验得出一些自己的结论,但我宁愿从好的开始。

0 投票
3 回答
1356 浏览

php - 如何组织控制器以获得最佳结构 (MVC)

组织控制器的最佳方式是什么。假设我有一个用户控制器和一个注册操作,我是否应该有一个 process_registration 操作以及我验证和处理数据的地方,或者只是在注册操作本身内进行所有处理。我是否应该为每个需要它的操作(注册、process_registration 等)设置验证/处理操作?

我还注意到很多人都有专门用于验证和处理信息的模块和控制器,(我想可能会将所有验证逻辑和规则保存在一个地方?)

我想我的问题是,事物必须分开多远?这个问题也适用于模型和视图。

0 投票
5 回答
8980 浏览

ruby-on-rails - 用于组织多文件 Ruby 程序的系统?

是否有组织多文件 Ruby 程序的标准或常规系统?我在 Ruby 中开始了我的第一个大型“项目”,这是一个按逻辑组织成多个文件和目录的搜索程序。我在下面概述了我的潜在结构:

  • 主文件. 该文件实现了搜索类和通用搜索协议。
  • 算法分析文件。该文件实现了解释搜索结果的函数。
  • 协议目录
    • 每个协议包含一个要搜索的文件。
  • 提要目录
    • 该程序的部分目的是搜索存档的新闻提要。此功能的文件位于此文件夹中。

但是,代码目前有一个类(我们称之为 Searcher),每个协议的搜索类都继承自(GoogleSearcher < Searcher)。为了管理这个,我需要在这些协议文件中包含主文件(对吗?),考虑到我理想的结构,这似乎是不可能的。

除了我的具体示例之外,我想知道是否有任何约定,例如“更多文件而不是更少”,或“文件的逻辑结构是不必要的”。有一个“帮助”函数的文件(比如在 Rails 中)是否常见?什么级别的抽象被认为是合适的?

最后,我计划有一天将它作为一个库集成到 Rails 中(不是插件;我希望它也能独立工作)。我不知道这是否会影响组织。

我知道这是一个非常开放的问题,但那是因为我会很感激任何远程相关的建议。提前致谢。

0 投票
5 回答
7319 浏览

c++ - 如何更好地组织 C++ 项目中的代码

我目前正在尝试以更好的方式组织我的代码。

为此,我使用了命名空间,按组件对类进行分组,每个组件都有定义的角色和一些接口(实际上是抽象类)。

我发现它非常好,尤其是当我必须重写整个组件并且我这样做几乎没有对其他组件产生影响时。(我相信使用一堆混合的类和方法会困难得多)

然而,我对它并不是 100% 满意。特别是我想更好地分离接口、组件的公共面以及它们背后的实现。我认为组件本身的“接口”应该更清晰,我的意思是新手应该很容易理解他必须实现哪些接口,他可以使用哪些接口以及实现的一部分。

很快我将开始一个涉及多达 5 名开发人员的更大项目,我想清楚这一点。

那你呢?你怎么做呢?你如何组织你的代码?

0 投票
4 回答
4658 浏览

f# - F# 代码组织:类型和模块

您如何决定在模块内编写函数还是作为某种类型的静态成员?

例如,在 F# 的源代码中,有很多类型与同名模块一起定义,如下所示:

为什么不简单地将操作定义为 MyType 类型的静态成员?

0 投票
3 回答
11603 浏览

python - 如果测试模块位于姐妹文件夹中,如何让我的 Python 单元测试导入测试模块?

我仍然对import这份声明有所了解。如果我在同一级别有 2 个文件夹:

  1. 源代码
  2. 测试

如何使py文件中的test导入模块src?有没有更好的解决方案(比如将一个文件夹放在另一个文件夹中?)