项目文件结构

问题描述 投票:0回答:1

我目前正在开发一个 Pygame 项目,希望寻求您关于组织代码的最佳实践的建议,特别是在创建其他脚本时。我发现自己对于在哪里放置某些功能犹豫不决,例如处理网格线和 GUI 组件。例如,我在主文件(游戏循环所在的位置)中创建了

Surface
,然后使用以下代码创建了一个名为
grid.py
的单独文件:

def draw_lines(screen: pg.Surface, scroll_x):
    screen.fill((255, 255, 255))

    for line in range(MAX_COL):
        pg.draw.line(screen, "black", (line * TILE_SIZE - scroll_x, 0),
         (line * TILE_SIZE - scroll_x, HEIGHT))
    for line in range(MAX_ROW):
        pg.draw.line(screen, "black", (0, line * TILE_SIZE), (WIDTH, line * TILE_SIZE))

然后每次迭代游戏循环时都会调用此函数。 (我还需要将此函数导入到我的主文件中)

我发现这种方法是创建许多文件,通常只有几个函数,我想知道是否有一些更有效和优雅的方法来处理这些事情。我愿意接受任何建议!

python architecture directory-structure
1个回答
0
投票

最“优雅”的方式可能是模块:

main.py
grid/
--__init__.py 
--some_submodule.py

导入它们:

import grid
grid.draw_lines()
grid.some_submodule.do_something()

考虑您的代码库。它是开源的吗?询问您的贡献者!人们使用它吗?询问用户!这个问题没有单一的答案,但模块提供了一种可重用且有组织的方法。

© www.soinside.com 2019 - 2024. All rights reserved.