标签: project-organization

Django:"项目"与"应用程序"

我有一个相当复杂的"产品",我正准备使用Django构建.在这种情况下,我将避免使用术语"项目"和"应用程序",因为我不清楚它们在Django中的具体含义.

项目可以有很多应用程序.应用程序可以在许多项目之间共享.精细.

我不是在重新发明博客或论坛 - 我没有看到我的产品的任何部分在任何情况下都可以重复使用.直觉上,我称之为"应用程序".然后,我是否在一个"app"文件夹中完成所有工作?

如果是这样 ......就Django的project.app命名空间而言,我倾向于使用myproduct.myproduct,但当然这是不允许的(但我正在构建的应用程序是我的项目,我的项目是一个应用程序!).因此我相信也许我应该通过为每个"重要"模型构建一个应用程序来接近Django,但我不知道在我的模式中绘制边界的位置将其分成应用程序 - 我有很多具有相对复杂关系的模型.

我希望有一个共同的解决方案......

python django namespaces project-organization

196
推荐指数
5
解决办法
5万
查看次数

如何组织大型R程序?

当我承担任何复杂的R项目时,我的脚本会很快变得混乱.

我可以采用哪些做法,以便我的代码永远乐于与之合作?我在考虑类似的事情

  • 在源文件中放置函数
  • 何时将某些内容分解为另一个源文件
  • 什么应该在主文件中
  • 使用函数作为组织单元(鉴于R使得难以访问全局状态,这是否值得)
  • 缩进/换行做法.
    • 治疗(如{?
    • 把东西放在1或2行?

基本上,组织大型R脚本的经验法则是什么?

r conventions code-organization project-organization package

157
推荐指数
7
解决办法
2万
查看次数

在另一个中包含一个C源文件?

#include.c文件中,.c文件是否可以(或者甚至是推荐/良好实践)?将它们包含在项目文件中会发生什么?

c code-organization project-organization include c-preprocessor

102
推荐指数
6
解决办法
15万
查看次数

如何组织Python项目?

我是Python的新手,我正在开始一个迷你项目,但我对如何在"Python方式"中组织文件夹有一些疑问.

PyDev在我的开发环境中使用,当我创建一个新项目时,会创建一个名为的文件夹src

+ src
Run Code Online (Sandbox Code Playgroud)

现在,在PyDev,我可以创造Pydev ModulePyDev Package

我需要以下列方式组织我的项目:

+ Indicators
    - Moving_averages.py
    - Stochastics.py
+ Strategies
    - Moving_averages_cross.py
- example.py
Run Code Online (Sandbox Code Playgroud)

如何根据模块和包进行组织?Modules and Packages是什么意思?

最好的祝福,

python project-structure project-organization pydev

72
推荐指数
5
解决办法
6万
查看次数

在Clojure中使用命名空间的常见约定是什么?

我在Clojure中找到使用命名空间的好建议和常用做法时遇到了麻烦.我意识到命名空间与Java包不同,所以我试图梳理Clojure中的约定,这似乎很难确定.

我想我非常清楚如何将函数分成clj文件,甚至大致如何将这些文件组织到目录中.但除此之外,我无法为我的开发环境找到机制.一些相互关联的问题:

  1. 对于Clojure命名空间,我是否使用与通常用于Java包的相同的唯一性约定?[即backwards-company-domain.project.subsystem]
  2. 我应该将文件保存在与我的命名空间匹配的目录结构中吗?[ala Java]
  3. 如果我有多个名称空间,是否需要将所有代码编译到jar中并将其添加到我的类路径中以使其可访问?
  4. 每个命名空间应该编译成一个jar吗?或者我应该创建一个包含来自许多名称空间的clj代码的jar?

谢谢...

namespaces conventions clojure project-organization

50
推荐指数
2
解决办法
6554
查看次数

组织我的Python项目

我正在开始一个Python项目,并期望它有20个或更多的类.作为一种好的做法,我想将它们分别放在一个单独的文件中.但是,项目目录很快就会被文件淹没(或者当我这样做时).

如果我在文件夹中放入要导入的文件,我就无法再导入它.如何从另一个文件夹导入文件,我是否需要引用它所包含的类,因为它在文件夹中?

提前致谢

python project-organization

44
推荐指数
4
解决办法
2万
查看次数

Pythonic组织模块和包的方式

我来自一个背景,我通常每个类创建一个文件.我也在目录下组织公共类.这种做法对我来说很直观,并且已被证明在C++,PHP,JavaSript等中有效.

我无法将这个比喻带入Python:文件不仅仅是文件,而是正式的模块.在一个模块中只有一个类似乎是不对的 - 大多数类本身都是无用的.如果我有一个automobile.py和一个Automobile类,总是引用它似乎很愚蠢automobile.Automobile.

但是,与此同时,将大量代码放入一个文件并将其称为一天似乎并不正确.显然,一个非常复杂的应用程序应该有超过5个文件.

什么是正确的 - 或pythonic ---方式?(或者,如果没有正确的方法,您首选的方式是什么?为什么?)我应该在Python模块中投入多少代码?

python module project-organization package

42
推荐指数
3
解决办法
2万
查看次数

如何在Eclipse中向我的Java项目添加资源文件夹

我希望有一个存储我的图像文件的地方,以便在我的Java项目中使用(一个非常简单的类,只是将图像加载到面板上).我到处寻找,无法找到如何做到这一点.我该怎么做呢?

我尝试将新文件夹添加到项目中,向项目添加新的类文件夹,并向项目添加新的源文件夹.不管我做什么,我总是得到一个IOException.文件夹总是说它们在构建路径上,所以我不知道该怎么做.

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class PracticeFrame extends JFrame{

private static BufferedImage image;
Thread thread;

public PracticeFrame() {
    super();
    setPreferredSize(new Dimension(640,480));
    setResizable(false);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    pack();
    setVisible(true);
}

public static void main (String[] args) {
    PracticeFrame pframe = new PracticeFrame();
    try {
        image = ImageIO.read(new File("/islands.png"));
    } catch (IOException e) {
        e.printStackTrace();
    }

    JPanel panel = new JPanel() {
        @Override
        protected void  paintComponent(Graphics g) …
Run Code Online (Sandbox Code Playgroud)

java eclipse file-io resources project-organization

40
推荐指数
4
解决办法
13万
查看次数

DDD:如何组织层?

我是软件开发的新手.我个人认为,分层体系结构是一种很好的方法,可以减少面向对象方法中软件开发过程中出现的复杂性,更不用说保持代码的有序性.现在,我遇到了一些DDD(Domain Driven Design)引入的问题.当然,初级水平的.
这就是 -
让我们说,我想构建一个应用程序来保存数据库中的"人"相关数据,并在wpf数据网格中显示人员详细信息(DDD绝对不适用于这种规模的应用程序,但只是为了简化像我一样的业余爱好者).所以,我设计了一个域类"Person",类似于 -

    public class Person
    {
        public Person(dataType paramA)
        {
            this.PropertyA = paramA;
        }

        private dataType _fieldA;
        public dataType PropertyA
        {
            //encapsulates _fieldA    
        }

        public dataType PropertyX
        {        
            //some code that manipulates private field    
        }

        private dataType MethodPQR(dataType param)
        {        
            //some code    
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,我对DDD的理解说,架构(最简单的版本)应该如下(如果我错了,请纠正我) -
在此输入图像描述
注意:

  1. 我希望datagrid绑定到一些ObservableCollection,只是为了立即反映任何类型的更改.

  2. 它是一个wpf应用程序,但不一定是MVVM模式,我故意想使用后面的代码(我不知道后面的代码本身是代表应用程序层)

所以我的问题是 -

  1. 什么样的代码应该属于应用层?

  2. 我的猜测是,我绝对不应该将我的域对象(Person)的ObservableColletion绑定为datagrid的itmsSource.那么我应该从域对象中提取什么类型的对象,以及如何?

  3. 为了保持表示层对象和域层对象之间的解耦,可能存在类似的约定DataGrid.那么非"直接"方法是什么?

  4. 如果Code-Behind与应用层进行对话,那么应用层应该与存储库进行通信吗?但是,如果需要某种类型的域访问而不是与数据访问相关(可能不在此应用程序中,但它可能会发生,对吧?),应用层应该与哪个域人员层中的X人进行对话?

我知道我所有的问题和问题都是非常业余的.但它们确实是问题和问题.所以,如果有人有时间,任何回复都将受到赞赏.

编辑:我不确定Data Repository是否应该有域模型的引用.

domain-driven-design code-organization repository project-organization layer

35
推荐指数
1
解决办法
2万
查看次数

Eclipse Java项目文件夹组织

我是从C#/ Visual Studio背景来到Java和Eclipse.在后者中,我通常会组织一个这样的解决方案:

\ MyProjects下\ MyApp的\ MyAppsUtilities\LowerLevelStuff

MyApp将包含一个用于构建.exe的项目,MyAppsUtilities将生成一个由.exe调用的程序集DLL,而LowerLevelStuff可能会构建一个包含更高级实用程序DLL使用的类的程序集.

在Eclipse(Ganymede,但可以说服切换到Galileo)我有:

\ MyProjects下\工作空间\ MyApp的

当我创建我的初始项目时.有一个选项可以将源文件和构建文件放在同一个文件夹中,但是我在一个反映我的包层次结构的路径上创建了.java文件:

\ MyProjects下\工作区\ MyApp的\ SRC\COM\myCompany的\ MYAPP\MyApp.java

我的问题是这样的:当我为.jar文件创建子项目(是正确的Java/Eclipse术语吗?)时,它类似于.NET中的上述MyAppsUtilities和LowerLevelStuff程序集DLL,可以(应该)我等效地组织文件夹吗?例如:

\ MyProjects下\工作空间\ MyApp的\ SRC\COM\myCompany中\ MYAPP\myapputilities\MyAppsUtilities.java

组织这些东西的标准/正确方法是什么?如何在IDE中专门完成?

java eclipse project-organization

28
推荐指数
2
解决办法
6万
查看次数