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

oracle - 停止 SQL*Plus 抱怨空白

在 SQL*Plus 中,如果您使用以下命令执行以下操作@

...它会抱怨类似:

这是因为它不喜欢someIDsomethingElse列定义之间的空行。但是,保留该行会使源代码看起来更具可读性。

是否有一些标志/选项可以阻止它这样做?我不想摆脱代码中的所有空格。(如果没有,我就用SQL Developer,间距没有问题。)

0 投票
2 回答
184 浏览

c# - 存储类指针向量(RPG 代码结构)

我正在构建稍后将用于 RPG 的小型组件,但是我在这种规模的项目中的经验非常有限,这就是为什么我选择独立构建它们的原因。这部分将涵盖角色创建和处理。

所以我有以下存储性别的类指针的向量。我知道只有四种性别,未知(用于捕捉错误)、男性、女性和中性。

但是对于其他一些向量,我不知道确切的数量。

我有具有 mGenderID 和 mBClassID 的生物。我有一个初始化所有性别和基类(以及许多其他类)的 game.h。假设我有一个

那么我应该有一个

并通过以下方式使用它

所以我的问题是,这是构建代码的好方法吗?想象一个无限引擎的游戏,博德之门左右。最好它应该适用于大多数人,即使我要做一个天际或类似 GTA 的游戏。

最后,移植到 C# 有多容易?因为我比 C# 更了解 C++,所以我想我会先在 C++ 中试一试,以使结构正确并使用可用于大型项目的东西。

编辑:直接将 Gender* 存储在 Creature 类中会更好吗?没有生物的ID?

编辑2:

性别.h的定义

提前致谢

0 投票
2 回答
679 浏览

python - 如何在 python 项目中构建代码;类或模块?

我正在尝试在 python 中编写一个素数模块。我希望能够写的一件事是

但是,我也希望能够写

迫使它使用 Sundaram 的筛子。我最初的想法是让 primesLessThan 成为一个具有几个静态方法的类,但是由于 __init__ 不能返回任何内容,这并没有让我实现第一个示例。作为一个单独的模块,它会更好地完成导入,还是我错过了其他东西?

0 投票
1 回答
67 浏览

web-applications - 这是模型或控制器的一部分吗?

给定一个 Web 应用程序,它通过从客户端上传接收文本文件,使用各种规则对其进行解析,并根据一些规则输出一个视图,在 MVC 结构化项目中,该过程的各个阶段将分配到哪里?

最初,我打算将上传的文件发送到一个辅助方法(与我的任何模型、视图和控制器分开),该方法将解析并生成输出,并使用模型将输出推送到数据库;然后我会从控制器渲染一个带有输出的视图。

我怀疑基于规则的输出的解析和生成是业务逻辑?在这种情况下,我应该将代码放在模型下还是助手可以?到目前为止,我只使用我的模型来访问数据库并存储我的对象的类(UserTextDocument等);如果面对我的文件解析等应该进入模型,通常是如何构建的?我只是FileParser向模型添加一个类还是?

0 投票
0 回答
60 浏览

php - 如何利用函数名让 PHP 逻辑更具可读性?

我看到世界正在朝着使代码尽可能具有表现力的方向发展。有些语言甚至可以让您轻松定义自己的 DSL。但是,我不确定如何将其引入 PHP 或纯 Java 等语言或大多数其他语言(我看到在 Ruby 和 Python 中都在某种程度上做到了这一点)。

想象一下,我有一个 Person 实体。我想要一个告诉我用户是否至少在$days以前注册过的功能。现在,两个问题:

  1. 我应该把这个功能放在实体本身上吗?据我所知,实体是 DAO,它们的作用只是提供对底层数据库的低级访问。但是,$person->hasSignedUpAtLeast(7)似乎比PersonService::hasSignedUpAtLeast(7).
  2. 如何使参数更清晰,而用户不必查看他/她的 IDE 并查看参数名称?您可能已经注意到,您不知道是什么7意思。是7天的意思吗?几个月?年?在 Ruby 中,我可以说person.hasSignedUpAtLeast(7.days.ago),但我在 PHP 中没有这样的奢侈。

请注意,我正在寻找基于在高质量应用程序中使用的经过验证的最佳实践的答案,而不是意见或讨论。我相信必须有一种方法来处理此类问题,其中函数名称必须始终是动词,但程序员需要在函数名称中传达参数的单位(例如米、天等) .

0 投票
1 回答
13233 浏览

excel - 双击事件 - 多个范围

我正在为我的双击事件寻找在多个范围内编码的最佳方式。

如上所示,当点击 A3 到 A25 时,会发生双击事件。但我还想在整个工作表中包含其他部分来引发事件。A29:A40、F3:F37、K3:K40、P3:P40。

在不添加新的“If”块的情况下编写代码的最佳方法是什么?
还是添加新的“If”块(并调用子程序)是最好的方法?

0 投票
2 回答
218 浏览

c# - 类中应该包含什么方法

我很困惑应该在类中包含什么类型的方法以及应该在服务类中编写什么类型的方法?

这是我的场景:

我正在编写一个音乐商店应用程序,我的模型设计如下

用户可以进行这样的操作:

  1. 下载整张专辑或一些特定的音乐文件;
  2. 删除本地文件;
  3. 将专辑添加到收藏列表;
  4. 从收藏列表中删除专辑。

我应该将诸如 Dwonload 之类的方法放在模型中还是另一个服务类中?如果我把它们放在模型中,模型应该引用其他一些类。我目前的解决方案是:

解决方案1:创建IDownload/IFavorite接口,让模型实现,方法包含在模型中;

解决方案2:创建一个抽象类,包含下载操作和收藏操作相关的所有属性;让模型从抽象类继承;创建 DownloadService 类和 FavoriteService 类来实现操作的细节,传递如下参数:

哪种解决方案是明智的,还是有其他解决方案?

谢谢!

0 投票
2 回答
59 浏览

java - 更好的解决方案的建议,从列表中选择项目

我想在控制台中列出带有数字的项目(每个项目都有一个用于满足饥饿的值),因此用户可以通过输入该项目的编号来选择一个项目。

  1. 热狗 3
  2. 纸杯蛋糕 2

我创建了一个包含所有食物和值的 HashMap 的类 Food。在另一个类(OhterClass)中,我想列出项目和值并处理用户输入。我的目标是读出所选项目的值并将其添加到数据字段:饥饿。

当我这样做时,我必须在 OtherClass 中创建一个 foreach 并用索引读出每个项目和 vlue,我还必须使用 switch case 检查用户输入,但我认为这个解决方案不是很好,但我不知道如何以不同的方式解决它。

有人对我有什么建议吗?

0 投票
2 回答
918 浏览

java - 我应该记录不言自明的私有方法吗?(爪哇)

我喜欢正确记录的代码,对我来说,正确记录描述合同的公共方法是不费吹灰之力的,同样适用于私有或包内部方法来解释代码内部/实现。

但是我不确定我是否应该采用非公开和非保护方法:

  • 遵守所有手续,如参数、返回值和异常的描述
  • 如果我应该记录不言自明的私有方法,例如fireSomeEvent哪里是显而易见的,因为这只会使代码混乱

对此的标准方法是什么?

0 投票
1 回答
707 浏览

flask - 最佳实践:可重用查询应该放在哪里?

短的

我在 Flask 应用程序中有可重用的 SQLAlchemy 查询,但我不知道最好将它们放在哪里。

更长

在阅读基本教程时,如何创建基本的 SQLAlchemy 模型变得非常清楚,例如这个代表博客文章的模型:

以及如何执行查询,例如按日期获取博客文章:

但是这些示例经常显示为 Python 控制台命令,而不是在应用程序的上下文中。在Flask Mega-Tutorial中,作者似乎完全满足于将简单的查询作为其观点的一部分。

但是,如果我们正在处理复杂和/或可重用的查询语句,将它们放在几个视图的中间会很快变得丑陋。

那么我应该把它们放在哪里呢?在“正常”MVC 实现中,我会将其放入模型类中。这是 Flask 中的正确方法吗?或者查询是否更接近视图?我应该创建一个单独的模块吗?或者这里没有最佳实践可以遵循?