问题标签 [program-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 投票
29 回答
11245 浏览

oop - 你如何在大海捞针中找到一根针?

当以面向对象的方式实现大海捞针搜索时,您基本上有三种选择:

你更喜欢哪个?为什么?

我知道有些人更喜欢第二种选择,因为它避免引入第三个对象。但是,我不禁觉得第三种方法在概念上更“正确”,至少如果您的目标是模拟“现实世界”。

您认为在哪些情况下引入辅助对象是合理的,例如本例中的搜索器,什么时候应该避免它们?

0 投票
6 回答
3061 浏览

memory - 程序在内存中的外观如何?

程序(例如 C 或 C++)在计算机内存中是如何排列的?我对段、变量等有点了解,但基本上我对整个结构没有扎实的了解。

由于内存中的结构可能不同,我们假设 Windows 上有一个 C++ 控制台应用程序。

一些指向我所追求的具体目标:

  • 一个函数的概要,它是如何被调用的?
  • 每个函数都有一个堆栈帧,它包含什么以及它在内存中是如何排列的?
  • 函数参数和返回值
  • 全局变量和局部变量?
  • 常量静态变量?
  • 线程本地存储..

欢迎链接到类似教程的材料等,但如果您了解汇编程序等,请不要参考风格的材料。

0 投票
4 回答
155 浏览

c - 处理多个 C“项目”中的类似代码

我正在玩一些 C 代码,编写一个小型网络服务器。我所做的目的是使用不同的网络技术编写服务器,以便我可以了解更多关于它们的信息(多线程 vs 多进程 vs 选择 vs 轮询)。大部分代码保持不变,但我希望能够“换出”网络代码以针对不同技术进行一些性能测试。我考虑过使用 ifdefs ,但这似乎会很快使代码变得丑陋。有什么建议么?

0 投票
2 回答
3815 浏览

python - 构建cherrypy应用程序的一些最佳实践是什么?

我正在编写一个樱桃应用程序,我想知道为大型应用程序构建处理程序和代码的最佳方法是什么?

我意识到通过cherrypy.root进行分配很简单,但是编写处理程序并分配它们的一些做法是什么?

(请允许我证明我的困惑!)我最初的想法是编写一个标准的处理程序类,它根据当前的 URL 或类/方法组合推断要运行的模板。然后我会多次将该处理程序的一个实例分配给创建页面的路径。但是,我认为这不起作用,因为递归引用无法正常工作。

所以,考虑到我已经在我自己的源代码的外观上画了个空白,我会喜欢一些指针和示例!

随时问一些详细的问题让我澄清。虽然那里有大量的樱桃教程材料,但它往往只触及表面。

0 投票
4 回答
396 浏览

programming-languages - 程序入口点名称“main”的由来?

出于好奇,程序入口点的名称“main”的由来是什么?

0 投票
6 回答
14677 浏览

c - C - 程序结构(避免全局变量、包含等)

我正在使用 C(不是 C++),我不确定如何避免使用全局变量。

我对 C、它的语法以及如何编写基本应用程序有相当不错的掌握,但我不确定构建程序的正确方法。

真正的大型应用程序如何避免使用全局变量?我很确定总是至少需要一些,但是对于用 C 编写的大型游戏和其他应用程序,最好的方法是什么?

有没有我可以看的严格用 C 语言编写的好的开源软件?我无法想到任何东西,它们中的大多数似乎都是用 C++ 编写的。

谢谢。

编辑

这是一个我将在简单的 API 挂钩应用程序中使用全局变量的示例,它只是另一个进程中的 DLL。

这个应用程序,具体来说,挂钩在另一个应用程序中使用的 API 函数。它通过使用 WriteProcessMemory 覆盖对原始文件的调用,并改为调用我的 DLL 来实现这一点。

但是,当取消挂钩 API 函数时,我必须写回原始内存/机器代码。

所以,我需要为那个机器代码维护一个简单的字节数组,每个被钩住的 API 函数一个,而且有很多。

对不起,如果这令人困惑。

0 投票
1 回答
250 浏览

architecture - Should I not be subclassing the Cocos2d CCDirector class?

I'm trying to make cocos2d work as an RPG engine. I'm thinking of making a class that will coordinate the movements of the characters, the map loading/unloading etc. Should I make a CCNode for this, or just extend the CCDirector? Is there a reason not to subclass the CCDirector?

0 投票
3 回答
101 浏览

java - 如何在使用 java 的计算机上当前运行的另一个 java 应用程序上查找和执行方法?

例如,假设我有 hello.java(任意),如果它正在运行并且用户通过在运行时提供输入更改了该应用程序中的一些可访问(非私有)变量,则该应用程序的变量与尚未执行的变量相比将有所不同. 另一个程序(最好是 java)可以从该应用程序获取或显示该变量的更新信息。

0 投票
4 回答
203 浏览

c# - 在 Main() 中保持模块化?

我正在为家庭作业编写简单的纸牌游戏“战争”,现在游戏可以运行了,我正在尝试使其更加模块化和有条理。下面是Main()包含大部分程序的部分。我应该提一下,该课程是用 C# 教授的,但它不是 C# 课程。相反,我们正在学习基本逻辑和 OOP 概念,因此我可能不会利用某些 C# 功能。

所以这是我的问题:

  • 我可以在 Main() 中使用循环并仍然认为它是模块化的吗?
  • 抽卡过程是否写得好/包含正确?
  • 在方法中打印消息是否被认为是不好的做法(即:)determineWinner()

我只编程了两个学期,我想在这个阶段养成良好的习惯。任何输入/建议将不胜感激。

编辑:

catchDuplicate() 现在是一个布尔方法,调用如下所示:

sameCard = catchDuplicate(card1, card2);

感谢@Douglas。

0 投票
4 回答
29691 浏览

python - 是否可以生成整个 Django webapp 的图表?

是否可以生成整个 Django 站点的图表?例如,为了理解模型/数据库结构,我使用graphViz,它对于跟踪模型结构非常有用,对于讨论也非常有用。

我很好奇整个 Django 站点是否存在类似的东西,以便urls/models/views/templates可以用图形表示。我不太清楚那会是什么样子,但我很好奇是否有任何工具可以做到这一点。

这将以编程方式生成一个图表,显示站点不同部分之间的代码流。