问题标签 [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 投票
3 回答
1522 浏览

javascript - Visual Studio 中 CSS/javascript 的 Vim 样式折叠

有没有人知道在 Visual Studio 中进行VIM 样式折叠的方法?我在 c# 类文件中使用 #region 块,它们很棒,但不幸的是,javascript 和 css 没有等效的功能。我目前正在处理的网站/应用程序有相当多的 css 选择器和 javascript,并且导航单个文件变得越来越困难。

我们考虑过的一种选择是将 css 和 javascript 分解为类似于 jquery 模块的单独文件,但这会在增加 http 请求的总数方面引入性能问题。

如果有人对管理疯狂有任何建议,我将不胜感激!

更新:Richard Kimber 建议使用 Visual Studio 的书签功能使按标题导航更易于管理。这是朝着正确方向迈出的一步,但不如代码折叠/阻塞有用。

0 投票
1 回答
411 浏览

code-organization - 您如何组织大型项目的课程?

我们的应用程序中有很多功能可以非常具体地描述为一个模块。通常有某种设置对话框,然后当用户单击确定时,它会配置一个进程来运行并运行该进程。有时他们更投入,用户会打开新对话框并在对话框上工作一段时间,做许多对底层数据库进行更改的事情。

我通常会得到几个标准课程

如果我有更多端到端模块,它可能是 WorkerPanel.cs WorkerData.cs SetupOptions.cs(面板状态在运行之间保持)Lib/WhateverBackendStuffINeedToSupportModule ApiWrapper

现在每个都有文件夹:

如您所见,一切都真正展开了。对于 50 多个模块,这些文件夹并没有真正组织起来。即使按子系统将它们分解,它们仍然是一团糟。将所有内容放在一起以便所有内容都按功能而不是类类型分隔会是糟糕的设计吗?

你如何组织你的课程,有什么优点/缺点?

0 投票
2 回答
2015 浏览

python - 组织一个必须共享内部状态的大型 Python 项目?

我目前正在移植一个相当大的 Perl 问题是它使用小的 Perl 技巧来使其代码可用于useing。我对 Python 做了同样的事情,使代码库成为一个大模块import。我已经牢牢掌握 Python 很长时间了,但是我没有使用 Python 编写的大型项目的经验,这些项目需要在保持内部状态的同时访问自身的其他部分。

我还没有尝试将整个内容简单地导入一行 ( import core),但我知道我目前没有以最好的方式做事。这是主脚本中的一个示例,它设置了所有内容:

有效,但我对此不满意。现在,主类脚本导入core模块的每个部分并创建包含的类的实例,将自身作为参数传递给__init__这些类。像这样:

现在该类中的代码可以通过父类访问整个代码库的其余部分。

所以我的问题是:考虑到上述情况,重组项目和重构代码以保持其当前访问其他所有内容的能力的最佳方式是什么?代码非常不重要,所以我并不担心内部数据的完整性,我只是不喜欢以如此丑陋的方式遍历父类。那些长链也会减慢代码的速度。

编辑:哎呀,忘记了这些:两个项目的 SVN 存储库的链接。我的在这里,我正在移植的项目在这里

0 投票
2 回答
104 浏览

unit-testing - 您如何组织 MVC 控制器测试?

我正在寻找有关人们如何组织控制器测试的整洁建议。

例如,以我的“地址”控制器的“添加”功能为例,

我可能有一个名为 的夹具"when_adding_an_address",但是我需要在此标题下测试两个操作...

我不想在我的夹具中调用我的Act()方法中的两个动作,所以我将夹具分成两半,但是我该如何命名呢?

"When_adding_an_address_GET""When_adding_an_address_POST"

事情似乎变得一团糟,很快。

此外,您如何处理控制器的无状态/无设置断言,以及如何安排上述这些?例如:

这是我知道的自定义代码,但你应该明白,它只是检查方法上是否存在过滤器属性。关键是它不需要任何Arrange()or Act()

欢迎任何提示!

谢谢

0 投票
3 回答
8634 浏览

html - HTML 网站开发:用于导航和菜单的 div 与 ul

我正在开发一个 Web 2.0 站点,并且一直在研究站点如何处理菜单和导航栏。许多网站(如 twitter)使用 UL,而诸如 stackoverflow 之类的网站使用 div,它们是包含链接的 ID。

除了消除一些 IE 错误之外,不使用 UL 是否有优势?

使用 UL 有优势吗?

谢谢!

0 投票
3 回答
2519 浏览

user-interface - 组织 GUI 代码

我的问题有两个部分:

  • 关于如何编写易于阅读、编写和维护的 GUI 代码,是否有人对网络上的某些文档有任何提示或参考?

    例子。

    我发现我的 GUI 表单变得越广泛,我最终会得到一长串相当短的事件处理程序方法。如果我尝试添加任何私有帮助方法,它们只会在洗牌中迷失,我必须不断地滚动页面以遵循单一的思路。


  • 如何轻松管理整个应用程序的设置?

    例子。

    如果用户在下拉列表中选择了一个新项目,我可能需要在 GUI 上启用一些组件,更新应用程序配置文件,并将新值存储在本地变量中以备后用。我通常选择不为所有设置创建事件处理程序(见上文),并最终使用诸如“LoadGUISettings”和“SaveGUISettings”之类的方法,但是我最终在我的代码中调用了这些方法,并且它运行了很多代码只是为了更新很少(如果有的话)实际更改。

谢谢!

0 投票
11 回答
2188 浏览

branch - 关于扩展使用分支的利弊

我希望能够为大多数可想到的情况和组织选择正确的分支策略。因此,我正在寻找在开发组织中扩展代码存储库分支的使用的积极和消极影响的广泛列表。

请在每个帖子中只发布一个赞成 反对意见,以便投票系统可以帮助对反馈进行排名。

0 投票
2 回答
922 浏览

svn - 组织一个包含数千个元素的 Subversion 存储库

开始之前:我在许多论坛(包括 Stack Overflow - 是的,有很多关于组织 svn 的 SO 问题)、搜索 Google 和阅读文档(我拥有几本 Subversion 书籍)都花了很长时间。我还没有找到在 Subversion 中组织代码库的好方法。我们目前使用 RCS 作为我们的修订控制系统,所有内容都存储在 1 个 RCS 目录中 - 我知道这很丑 - 这就是为什么我正在努力实现更好的东西。我也经常使用 Subversion,所以我知道它的功能以及它是如何工作的。几个月来我一直在犹豫问这个问题,因为它不完全与编程相关,但由于我无法找到解决方案,还有什么更好的地方来问我的问题!

在我脑海中使事情复杂化的是颠覆术语“项目”。如果我想在 subversion 中管理一个 java 项目,这对我来说非常有意义:所有组合成一个 jar 文件的 java 文件都可以被认为是一个“项目”——它们都属于一起。但是,在我们的环境中,我看不到定义什么是“项目”的简单方法。我们有超过 4,000 个程序,而且它们几乎都是相互独立的。其中许多是 shell 脚本或 perl 脚本。我们的一些脚本使用通用的“实用程序”或“库”脚本,但在大多数情况下,所有代码对象都是独立的。

我们环境中的一个“项目”可能涉及程序 A、B 和 C,以及配置文件 AA。另一个项目可以使用程序 C、D 和 E,以及配置文件 BB。另一个项目可能只是更改配置文件 AA,或者可能是程序 B。没有办法对哪些程序或文件属于一个组进行分类。正因为如此——我不知道如何将我们的代码组织成颠覆。我可以将所有内容都放入主项目主干中,但检查工作副本意味着检查所有 4,000 多个元素。

给出一些上下文,这是针对数据仓库的。需要所有 4,000 多个代码元素才能使仓库发挥作用。也许某个业务需求需要更改在一些元素中访问的列,而另一个业务需求需要更改一些其他元素(可能与其他项目中的一些相同)。

也许 Subversion 不是最适合我们的,尽管我必须相信它可以工作。我们已经为我们的 Web 代码和 Java 程序提供了一个 Subversion 服务器,它工作得很好,因为有很容易定义的项目。我只是不知道如何组织我们的主要代码库。

希望其中一些有意义......提前感谢您的智慧!

0 投票
1 回答
295 浏览

ruby-on-rails - 您更喜欢在 Ruby On Rails 中如何组织测试数据?

您更喜欢如何在 Ruby On Rails 中组织您的测试数据:夹具、对象工厂或其他任何东西?为什么?

0 投票
6 回答
2136 浏览

python - 在哪里保存 Python 单元测试?

可能重复:
Python 单元测试在哪里?

单元测试是保存在与代码相同的文件中,还是在同一目录中的单独文件中,还是在完全不同的目录中?