And*_* B. 6 python google-app-engine directory-structure
在编写了几个python appengine应用程序之后,我发现自己在组织源代码树的两种方法之间徘徊:广泛或深入.
具体而言,请考虑为小型咨询公司提供内部应用程序,以管理联系人管理,项目跟踪和报告以及员工管理等业务运营.应用程序可能使用以下关键实体:公司,用户,联系人,客户,项目,时间表等.无需详细说明,可以想象这些模型跨越网站的功能.这可能意味着存在一些耦合.
在这个例子中,最好是以深层次的方式组织,例如:
models/
people.py
accounting.py
projects.py
foo.py
controllers/
reporting.py
employeeops.py
accounting.py
crm.py
views/
...
Run Code Online (Sandbox Code Playgroud)
或广泛的,例如,"申请":
people/
models/
views/
controllers/
contact-mgmt/
models/
views/
controllers/
time-tracking/
models/
views/
controllers/
project-reporting/
models/
views/
controllers/
Run Code Online (Sandbox Code Playgroud)
我知道所有设计都涉及权衡,所以在回复时你可以指出你的偏好和一些推理(例如,假设,调整问题,框架限制,可扩展性问题,代码维护考虑因素,开发团队结构的影响等).
警告:我没有专门从事过Python工作。话说回来...
宽,我会告诉你原因:能够快速删除东西从来没有坏处。在我的职业生涯中,我经常被要求添加一些东西,并给出一个相对合理的时间表来完成它,但是当需要删除某些东西时,请求几乎从来没有伴随着影响分析或混乱的时间。当您按主要功能模块进行分解时,通常会得到耦合度低得多的设计。这可能真的很痛苦,但对于那些你绝对必须在周末之前关闭工单模块的时候,它是一个救星。
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |