我有一个相当复杂的"产品",我正准备使用Django构建.在这种情况下,我将避免使用术语"项目"和"应用程序",因为我不清楚它们在Django中的具体含义.
项目可以有很多应用程序.应用程序可以在许多项目之间共享.精细.
我不是在重新发明博客或论坛 - 我没有看到我的产品的任何部分在任何情况下都可以重复使用.直觉上,我称之为"应用程序".然后,我是否在一个"app"文件夹中完成所有工作?
如果是这样 ......就Django的project.app
命名空间而言,我倾向于使用myproduct.myproduct
,但当然这是不允许的(但我正在构建的应用程序是我的项目,我的项目是一个应用程序!).因此我相信也许我应该通过为每个"重要"模型构建一个应用程序来接近Django,但我不知道在我的模式中绘制边界的位置将其分成应用程序 - 我有很多具有相对复杂关系的模型.
我希望有一个共同的解决方案......
当我承担任何复杂的R项目时,我的脚本会很快变得混乱.
我可以采用哪些做法,以便我的代码永远乐于与之合作?我在考虑类似的事情
基本上,组织大型R脚本的经验法则是什么?
r conventions code-organization project-organization package
在#include
.c文件中,.c文件是否可以(或者甚至是推荐/良好实践)?将它们包含在项目文件中会发生什么?
c code-organization project-organization include c-preprocessor
我是Python的新手,我正在开始一个迷你项目,但我对如何在"Python方式"中组织文件夹有一些疑问.
我PyDev
在我的开发环境中使用,当我创建一个新项目时,会创建一个名为的文件夹src
+ src
Run Code Online (Sandbox Code Playgroud)
现在,在PyDev
,我可以创造Pydev Module
和PyDev Package
我需要以下列方式组织我的项目:
+ Indicators
- Moving_averages.py
- Stochastics.py
+ Strategies
- Moving_averages_cross.py
- example.py
Run Code Online (Sandbox Code Playgroud)
如何根据模块和包进行组织?Modules and Packages是什么意思?
最好的祝福,
我在Clojure中找到使用命名空间的好建议和常用做法时遇到了麻烦.我意识到命名空间与Java包不同,所以我试图梳理Clojure中的约定,这似乎很难确定.
我想我非常清楚如何将函数分成clj文件,甚至大致如何将这些文件组织到目录中.但除此之外,我无法为我的开发环境找到机制.一些相互关联的问题:
谢谢...
我正在开始一个Python项目,并期望它有20个或更多的类.作为一种好的做法,我想将它们分别放在一个单独的文件中.但是,项目目录很快就会被文件淹没(或者当我这样做时).
如果我在文件夹中放入要导入的文件,我就无法再导入它.如何从另一个文件夹导入文件,我是否需要引用它所包含的类,因为它在文件夹中?
提前致谢
我来自一个背景,我通常每个类创建一个文件.我也在目录下组织公共类.这种做法对我来说很直观,并且已被证明在C++,PHP,JavaSript等中有效.
我无法将这个比喻带入Python:文件不仅仅是文件,而是正式的模块.在一个模块中只有一个类似乎是不对的 - 大多数类本身都是无用的.如果我有一个automobile.py
和一个Automobile
类,总是引用它似乎很愚蠢automobile.Automobile
.
但是,与此同时,将大量代码放入一个文件并将其称为一天似乎并不正确.显然,一个非常复杂的应用程序应该有超过5个文件.
什么是正确的 - 或pythonic ---方式?(或者,如果没有正确的方法,您首选的方式是什么?为什么?)我应该在Python模块中投入多少代码?
我希望有一个存储我的图像文件的地方,以便在我的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) 我是软件开发的新手.我个人认为,分层体系结构是一种很好的方法,可以减少面向对象方法中软件开发过程中出现的复杂性,更不用说保持代码的有序性.现在,我遇到了一些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的理解说,架构(最简单的版本)应该如下(如果我错了,请纠正我) -
注意:
我希望datagrid绑定到一些ObservableCollection,只是为了立即反映任何类型的更改.
它是一个wpf应用程序,但不一定是MVVM模式,我故意想使用后面的代码(我不知道后面的代码本身是代表应用程序层)
所以我的问题是 -
什么样的代码应该属于应用层?
我的猜测是,我绝对不应该将我的域对象(Person)的ObservableColletion绑定为datagrid的itmsSource.那么我应该从域对象中提取什么类型的对象,以及如何?
为了保持表示层对象和域层对象之间的解耦,可能存在类似的约定DataGrid
.那么非"直接"方法是什么?
如果Code-Behind与应用层进行对话,那么应用层应该与存储库进行通信吗?但是,如果需要某种类型的域访问而不是与数据访问相关(可能不在此应用程序中,但它可能会发生,对吧?),应用层应该与哪个域人员层中的X人进行对话?
我知道我所有的问题和问题都是非常业余的.但它们确实是问题和问题.所以,如果有人有时间,任何回复都将受到赞赏.
编辑:我不确定Data Repository是否应该有域模型的引用.
domain-driven-design code-organization repository project-organization layer
我是从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中专门完成?