1

我是一名高级程序员,最近开始使用和学习 python。我最近遇到了这个问题。该问题的答案表明,与其在类中使用静态方法,不如只使用方法而不使用类被认为是更好的设计。

代码设计一:

游戏解析.py

width = 300
height = 300
# other variables, and functions following...

屏幕分辨率.py

width = 1920
height = 1080
# other variables and functions following...

代码设计2:

分辨率.py

class GameResolution:
    width = 300
    height = 300
    # static functions following

class ScreenResolution:
    width = 1920
    height = 1080
    # static functions following

正如您可能看到的那样,代码设计 2在这种情况下(在我看来)更有意义。我可以将与该实体相关的任何内容(例如 GameResolution 或 ScreenResolution)打包到一个类中,并将所有这些类打包到一个 resolution.py 文件中。

如果我遵循代码设计 1,我最终会得到许多微小的 .py 文件,每个文件都代表一个非常小的类。正确的 ?

那么,静态方法对 python 来说真的是一种不好的方法吗?在这种情况下,你会怎么做?

4

1 回答 1

2

最好的解决方案取决于你的风格。话虽如此,我不认为将类作为单一用途的静态类是要走的路。我会执行以下操作之一:

  1. 创建一个处理所有分辨率的类(GameResolution/ScreenResolution/etc)并为每个类创建单独的实例。
  2. width将和的名称更改heightgame_widthgame_height和。screen_widthscreen_height

至于当我使用静态方法时,大约唯一的时间是出于某种原因以不同于初始化程序的方式创建对象。不过,这样做的必要性相当罕见。听起来您的用例肯定更适合用一个类来表示所有内容,或者如果它们足够不同,那么全局和函数而不是类和静态方法。

于 2015-07-04T14:20:11.453 回答