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

0 投票
4 回答
207 浏览

php - 请求 index.php 以使用其他脚本是不好的做法

用作其他脚本的加载程序是不好的index.php还是会有所作为?

index.php使用不同的查询字符串请求并在其中选择并包含匹配的脚本。

例如

www.example.com/?sign-in代替www.example.com/sign-in.php www.example.com/?new-post代替www.example.com/new-post.php

通过这种方式,您可以index.php用来执行常见的包含和过程,例如设置时区、mb 编码、数据库连接、身份验证等。

0 投票
1 回答
118 浏览

code-structure - 尽量避免应用程序参数的紧密耦合

我的 Web 应用程序有一个方法可以解析这样的 URL 参数。

我们公司的一个部门有一个包含此应用程序参数的 URL 列表,由于我不知道的原因,这些参数很难更改。他们可能会使用这样的 URL。.../default.aspx?Service=Wells&Layer=ActiveWells&Query=XYZ IN ('1234567890...')

最近,发生了类似于以下情况的变化。“ActiveWells”图层名称更改为“Surface Participation Wells”。“BoreStick”图层名称更改为“WellBores”。因此,该部门的预设 URL 参数不再起作用。

我的经理告诉我添加将“ActiveWells”的任何实例更改为“Surface Participation Wells”之类的代码。经理接着说,稍后当带有 URL 参数的部门将它们全部更改为新名称时,我们可以删除该代码。

我不知道究竟什么是“紧耦合”;但我知道这很糟糕,这听起来像是一个例子。在我看来,添加代码以暂时保留并稍后删除它也是一个坏主意,因为该代码可能永远不会被删除并变成化石。

但是我按照我的命令添加了这样的代码:

静态 LayerNameChange 方法中有一个 switch 语句。

从现在开始的几个月或几年后,当其他部门完成更改所有预设的 URL 参数时,负责此应用程序的开发人员应该知道进来并删除它。

我想另一个与此类似的场景是,如果基于控制台或 Windows 的应用程序具有它所期望的参数

有没有更好的方法来做到这一点?


编辑:

如果不是我上面所说的,我做了类似下面的伪代码。

调用方法会有某种,

为什么解析方法需要知道 NameConverter 类的存在?
这就是我问自己的。
毕竟,正如我所见,这不是解析 URL 参数的责任的一部分。

我不知道我是不是想多了。我对这种发展感知水平是新手。我知道这个问题已经得到解答,但如果对我的这个新想法有任何进一步的评论,我们将不胜感激。

0 投票
1 回答
955 浏览

angularjs - 寻找有关如何构建单页应用程序的说明

我们是一个从事 Web 应用程序编程多年的开发人员团队。我们现在重新开始一个新项目,我们的目标是使其成为一个单页应用程序。对于前端,我们使用 angular。我们对 Angular 比较熟悉,我们知道如何创建服务、指令、控制器等。我们知道如何使用内置服务$http$resource以及如何使用路由(或使用 的状态ui-router),但我们仍处于如何构建应用程序的早期状态。

我们很难找到解决这个普遍问题的好资源(博客、视频、书籍)。许多帖子都有一个非常简单的方法,例如:

“要建立一个你需要使用的 SPA $http,你就是这样做的,不是吗?”

他们可以很好地理解每个组件的基础知识,但他们没有解释如何将它们耦合在一起。我们有以下类型的问题:

  • 我们是否构建了一个中心 js 对象来表示应用程序状态?如果应用程序是网店的后端,那么中心对象可能是一家公司,它有一个产品列表,每个产品都有一个订单列表,每个产品都有一个对客户的引用。或者我们是否将应用程序状态的表示拆分为不同的对象?如果是这样,我们如何使它们保持同步?

  • 为了显示一个编辑实体的表单,我们创建了一个将部分加载到视图中的路由,并使用要编辑的实体填充范围。我们是否从后端获取实体?或者如果我们已经在我们的 js 模型中拥有它,我们是否只是从那里获取它,这样我们就不需要发出 http 请求了?

还有很多不清楚的地方,我意识到任何问题都不会有一个简单的答案,而是可能是不同的设计模式,各有利弊。我不希望我所有问题的答案都是对这篇文章的回应,而是我想找到一些资源(就像我说的博客、视频、书籍),在应用程序范围内讨论这些问题。有些问题是特定于角度的,有些问题是围绕单页应用程序更通用的。有这样的资源吗?

0 投票
1 回答
1567 浏览

vba - 将vba中的全局变量传递给函数

所以我有这么多不同的二维数组,它们包含流的不同物理属性(马赫数、温度等)。我需要在 excel 中绘制这些值并计算不同的平均值。这些数组是全局声明的。为此,我曾经为每个数组编写一个子例程,但这不是一个好方法,因为您应该尽可能地保持它的通用性,对吗?

所以我最终得到的是:子例程传递了数组和相应的工作表......

或使用指针?知道如何在其他更高级的编程语言(C++,..)中解决这个问题也会很有趣,因为 vba 不是我选择的武器,但在这种情况下它是必要的。

它会出现“类型不匹配:预期为数组或用户定义类型!”的错误。

当我打电话时,我使用:

这是子程序:

0 投票
1 回答
105 浏览

python - 单独的文件或一个文件用于类/方法

我正在用 Python 编写一个包含许多类和方法的游戏,我想知道将这些类存储在主 python .py 文件中还是将每个类别的类存储在单独的文件中,然后导入它们是否有利。这将有助于组织,但还有其他优点/缺点吗?

0 投票
3 回答
165 浏览

javascript - 我可以在 JavaScript 中包含另一个源文件吗?

我正在开发一个大型 Web 应用程序,该应用程序主要由客户端的 JavaScript 驱动。我仍处于原型设计阶段,并且我正处于源文件变得非常长的地步,我想将其拆分为多个文件。

例如,在 PHP 中,我只会调用include('source.php')or require_once('source.php')

有没有类似的方法在 JavaScript 中连接多个源文件?有许多大量使用 JavaScript 的大型 Web 应用程序,常见的解决方案是什么?

0 投票
2 回答
350 浏览

c# - Getter、Function 还是仅在构造函数上设置它?

我找不到在类中编写一些计算的良好性能和易读性的方法。想象一下以下类和所有获取 FinalPrice 的方法:

选项 1:为每个要计算的属性声明一个变量,易读性差



选项2:课堂顺序问题很重要!FinalPrice 行不能在其他行之前,否则它将不起作用但不会引发错误。



选项 3:重写所有公式 - 不利于维护。最有可能在以后引入价格差异。



选项 4:使用吸气剂。这将在每次调用时计算。这是一个简单的计算,但假设更多的代码。


选项 5:使用函数。这是好事还是坏事??


0 投票
1 回答
915 浏览

python - Python Tkinter 自定义窗口

我有这个简单的Tkinter Custom Window。我是初学者,几个月前才学习 tkinter。我没有真正的软件开发经验。所以,我想知道它的编码方式是否可以接受?我知道当我说可接受时,它可能意味着很多事情。我只是想知道我的编码风格和我的思维方式应该改进哪些方面?

0 投票
3 回答
86 浏览

java - 嵌入方法参数表达式是不好的做法吗?

在方法参数中使用嵌入式表达式构建代码通常被认为是不好的做法吗?应该声明变量吗?

(以 Android 代码片段为例)

我个人认为它看起来不错,但我只是想知道这是否被认为是令人反感的:)

0 投票
1 回答
320 浏览

c++ - 类指针与引用

我了解指针和引用的基础知识,但我遇到的最大问题是决定何时使用它们(以及使用哪个)。我将给出的主要示例是基本游戏之一。假设设置类似于:

  • 新世界
    • 相机
    • 地图

World 是一个指针,因为每次游戏开始新的存档或加载现有的存档时,它都会删除世界并加载新的世界。但是在 World 内部,Camera 和 Map 应该只存在一个,并且只存在于 World 的持续时间内。如果世界被摧毁,那么显然他们也应该被摧毁。但是.. 假设 Map 需要访问相机(但其他对象也需要),Camera 应该通过引用传递给 Map 还是作为指针传递,还是?例如,如果它应该是通过引用,它应该是:

或者更像:

另外,假设 Map 包含一个称为网格的二维图块矢量。就像是:

现在假设我有一个 PathFinder 类,需要传入该网格。它需要直接编辑图块以更改 f、g 等值(用于寻路)。该 2D 向量是否应该只是 Tile 的普通 2D 向量,而整个事物通过引用传递给 PathFinder?还是应该是 Tile 指针的 2D 向量?

此外,NPC 和玩家将有一个 currentTile,即他们当前所在的图块。他们需要有一个指向该图块的引用或指针,以便他们还可以通过 NPC/Player 类中的类似内容将自己设置为该图块上的占用者:

当我破坏该网格以加载新地图时,另一个问题出现了,我如何轻松处理以确保没有任何东西指向不再存在的瓷砖。我是否只需要遍历这些类并将 currentTile 设置为 NULL?

这就是我开始对这些东西感到困惑的地方。任何帮助表示赞赏,因为我显然很nooby。@_@; 抱歉,如果这不是真正的游戏主题。如果它需要移动到不同的 stackexchange,请告诉我或移动它(如果可以的话)。>_<