我已经开始一个Python项目。它不是Web应用程序或GUI应用程序,而只是一个简单的命令行工具。我通常使用相同的项目结构,即:
tspviz
│ .gitignore
│ requirements.txt
│ setup.py
│
├───data
│ prices.txt
│ shops.txt
│
├───tests
└───tspviz
│ tspviz.py
│ __init__.py
│
├───algorithm
│ │ genetic.py
│ │ params.py
│ │ __init__.py
│ │
│ └───__pycache__
│ genetic.cpython-37.pyc
│ params.cpython-37.pyc
│ __init__.cpython-37.pyc
这是不言而喻的,主要文件是tspviz.py
目录中的tspviz
。现在,这是一个可以解决旅行商问题的程序,因此我需要制作一些类,例如City
,Path
等。然后问题是:我该放在哪里?我将在tspviz
目录中创建一个单独的目录(而不是根目录)。然后,好了,如何命名这个文件夹而又不引起同事的困扰?我不知道“类”,“类型”,“杂项”吗?所以我的问题是:我是否应该将它们全部放在tspviz
内的目录中,因为它们可能仅从那里开始使用,其次:是否有一种标准化的方式来命名这样的文件夹? (使用类,您可以在各处使用)
答案 0 :(得分:1)
给定类名(<p:selectOneMenu value="#{user.shipper}" effect="fold" required="true" id="selectone" autocomplete="off"
requiredMessage="#{error['form.shippershortcode']}" widgetVar="selectWV" >
<f:selectItem itemLabel="----" itemDisabled="true" />
<f:selectItems value="#{shipperdropdown.shipperlist}" />
<p:ajax update="company" process="@this" />
</p:selectOneMenu>
,City
等),看来您的类属于问题域,因此Path
模块可能有意义。请注意,您在这里不一定需要一个文件夹,Python不是Java,也不会强迫您进入“每个类一个文件”的废话-仅在具有 other 时使用文件夹(包) em>将模块拆分为子模块的原因。
关于“放置位置”(在模块或程序包中),显然与其他模块和程序包处于同一级别(在tspviz / tspviz子文件夹中,以及tspviz.py和算法程序包)。
是否有标准化的方式来命名这样的文件夹?
不。
(带有类,您可以在各处使用)
Python的类都是对象,就像函数和其他所有东西一样,因此在模块/包中定义的(或没有)类是完全不相关的,对于函数等也是如此。