问题标签 [project-layout]

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 回答
516 浏览

eclipse - 如何使用子文件夹组织 CUDA C 项目的源代码?

我使用 CUDA C 开发了一些并行计算代码。系统运行基于 Ubuntu 的 Linux,选择的 IDE 是 Eclipse Indigo。

我使用随 Cuda 提供的模板设置项目。我未能以编译器(ncc 和/或 g++)和/或链接器识别这些代码的方式设置包含部分代码(例如“gui”、“io”、“net”)的子文件夹。

目标是只需键入“make”,然后将所有内容放在一起。

也许有人知道适用于目录结构的项目模板或示例生成文件?我不觉得项目根目录中的许多文件(如 gui_myclass.c、net_myotherclass.c、...)的现状是要走的路。

0 投票
1 回答
11592 浏览

python-3.x - 导入父目录进行简要测试

我已经从头到尾搜索了这个站点,但还没有找到一种方法可以在 Python3x 中真正完成我想要的。这是一个简单的玩具应用程序,所以我想我可以在断言中编写一些简单的测试用例,然后收工。它确实会生成报告等,所以我想确保我的代码在更改时不会做任何奇怪的事情。

我当前的目录结构是:(仅包括相关部分)

我很高兴让 my_file_test.py 导入 my_file.py。

就像我说的那样。我从上到下搜索了这个网站,但没有任何解决方案有效。我的 Python 版本是 3.2.3,在 Fedora 17 上运行。

以前尝试过的尝试: https : //stackoverflow.com/questions/5078590/dynamic-imports-relative-imports-in-python-3 从父文件夹导入模块 谁能解释python的相对导入? 如何在python中完成相对导入

几乎在每次尝试中,我都会遇到以下错误:

ImportError: No module named * OR ValueError: Attempted relative import in non-package

这里发生了什么。我已经尝试了关于 SO 以及整个互联网的所有公认答案。在这里没有做任何花哨的事情,但作为 .NET/Java/Ruby 程序员,这被证明是直观性的绝对定义。

编辑:如果重要的话,我尝试加载我试图在 REPL 中导入的类,我得到以下信息:

如果这很重要...我知道课程中的功能有效,但我无法导入它,这导致无法进行测试。将来肯定会引起集成问题。(更改名称以保护无辜者)在几周内获得此库迭代所需的功能......任何帮助都可能有用。本来可以在 Ruby 中完成,但客户希望 Python 作为一种学习体验,

0 投票
4 回答
1960 浏览

objective-c - 将视图控制器与 iOS 中的视图分开是否有意义?

来自 web 开发背景,主要做基于 MVC 的应用程序,我习惯于将代码的组件分成三组文件:控制器、模型和视图。

但是在 iOS 应用程序中,即使也使用 MVC 模式,遵循相同的技术是否有意义?

AnUIViewController为您提供了一个默认视图,您可以在其中添加其余的子视图 ( UILabel, UIButton,...) 并立即访问它们。而且语言是一样的,不需要处理 HTML/CSS 和其他东西。

但是我遇到了一些 iOS 应用程序,其中 anUIView被子类化并维护在一个单独的文件中,即使它只用于UIViewController. 因此,您必须编写自定义访问器来处理内部子视图。

我认为没有必要这样做,除非您UIView在多个地方重复使用相同的内容或进行自定义绘图。

0 投票
2 回答
355 浏览

javascript - codeigniter 常用js php代码放在哪里

我有一个用 codeigniter 开发的网站。
在我网站的许多页面中,我有更多相等的函数 javascript/jquery 和 PHP 中的一些字符串,如下所示:

用 php 中的一些字符串收集所有这些 javascript 函数的最佳位置在哪里?- JS 文件(但是当我调用它时我必须传递 php 字符串)
- 帮助程序(但是如何?)
- 文件 php,其中声明函数 JS,如 common.php(但放在哪里以及如何调用它?)

你对我的范围有一些解决方案吗?谢谢

0 投票
1 回答
72 浏览

javascript - 是否有在 JavaScript 项目中存储生成文件的标准?

创建项目 JavaScript 项目时,我的标准文件布局如下所示:

node_modules并且bower_components是标准的。我还注意到srcorwww是源文件的某种标准,而spec, specs, testortests主要用于测试。dist放置可发布文件非常常见。

但是,我也经常得到生成的文件,例如css从我的文件中生成的less文件。这些文件在发布时属于该dist文件夹,但是在网络服务器上进行本地测试时,是否有某种标准可以将这些文件放在哪里?倾向于使用bower_components,因为它已经托管在本地网络服务器上,但感觉不对。

0 投票
1 回答
493 浏览

ruby-on-rails - 如何在 Rails 项目之间共享数据库、迁移和模型?

我知道在 StackOverflow 上已经存在一些关于这种效果的问题,但它们往往已经过时并且没有充分解决迁移在以下场景中应该如何工作,这应该是相当普遍的:

  • 您有某种应用程序,在 Rails 中实现。
  • 您有某种数据管理应用程序,它是在 Rails 中实现的单独应用程序。
  • 两个应用程序都在相同的数据库和模型上运行。

我的问题是:分解我们的模型以使这两个应用程序都不必复制模型代码的最佳方法是什么?

我们关心以下问题:

  • 对于共享模型,数据库迁移应该放在哪里?
  • 如果每个单独的应用程序都希望在共享模型之上添加其他模型怎么办?这些移民住在哪里?
  • 将现有迁移迁移到提议的共享迁移方案的最佳方法是什么?

谢谢。

0 投票
1 回答
796 浏览

docker-compose - 在 docker 中共享 proto 文件?

我想知道人们如何倾向于在 docker 复合材料中的客户端和服务器之间共享原型文件?我正在测试 gRPC 以获得乐趣,并创建了一个具有以下布局的项目:

front是服务器的 gRPC 客户端back。现在back/proto包含生成客户端存根所需的 protobuf 文件。这里的问题是,这超出了front. 使用这些的任何人都有任何最佳实践可以分享来处理这个问题?

0 投票
1 回答
1887 浏览

coding-style - 干净的代码、干净的架构和干净的项目布局/项目结构

我已经阅读了 Robert C. Martin 的关于干净代码和干净架构的文章(尚未完成),但我并不太了解。如果我有干净的代码,我也有干净的架构吗?如果我有干净的代码和干净的架构,我是否有良好的项目结构?那么,它们之间有什么不同呢?干净的代码、干净的架构和良好的项目结构。它们之间有什么关联,或者它们三者是如何关联的,如何才能获得好的项目结构、干净的架构和干净的代码?谢谢你。

0 投票
0 回答
96 浏览

python - 使用 Cython 向 Python 公开具有继承的 C++ 类时如何避免基类重新定义

我正在尝试使用 Python 中用 c++ 编写的库。该库由从基类继承的多个类组成,每个类都有自己的 .cpp 和 .h 文件。

当使用 Cython 访问这些类时(我只需要子类,但使用基类中的方法),我只能通过在 pxd 和 pyx 文件中为所有子类重新定义基类来使其工作。

如果我尝试为基类定义一个 pxd(和 pyx)文件,我会遇到问题,即我的基类的标头多次包含在 Cython 创建的 .cpp 文件中,引发错误:重新定义'class BaseClass '

这种设置的正确项目布局是什么?

我正在开发 Ubuntu 16.04LTS、Python 3.5.2、Cython 0.29.7

由于 MWE 已经涉及不少文件,我这里只展示几个片段,但完整代码在 GitHub 上: https ://github.com/Heerpa/test_cython_cpp/commits/master

在 MWE 中,我有一个基类 Mammal,以及两个子类 Cat 和 Dog。子类使用 Mammal 类的 run() 方法,但定义了自己的 eat() 方法。

对我来说有意义的布局确实有基类的文件:

以及子类的定义,例如 Cat:

现在,由于 CCat.h 包含 CMammal.h 以便从中继承,我得到重新定义错误

相反,如果我使用 CMammal 包含在 CCat 中的事实,我可以这样做:

并在 cat.pyx 中定义哺乳动物的功能:

而且,关键是,我还必须在狗 cython 文件中编写完全相同的哺乳动物代码。这可行,但不能成为预期的解决方案。

0 投票
0 回答
24 浏览

java - 分隔测试文件夹的约定

在处理 Java 项目时,人们普遍认为应该使用标准项目布局。这是您在许多开源项目中找到的标准模板,即

  • 源/主/java
  • src/main/sass
  • 源/主/测试
  • 源/主/资源
  • src/anotherModule/kotlin

现在,假设所有测试都属于src/main/test. 我到处都看到过这种情况。

现在假设您想将单元与集成测试分开,这样它们就不会在 CI 中一起运行。关于集成和/或自动化 E2E 测试的项目布局是否有任何被广泛接受的约定?

一般来说,声明我应该计划存储测试以便同一文件夹下的所有测试都在同一测试执行中运行是否正确?这意味着如果我有多个套件,每个套件都应该有自己的根文件夹。再说一次,是否有任何已知和公认的约定与流行的构建工具集成并使测试体验无缝?

我无法快速识别出最流行的开源框架中的任何内容。