私はPythonを使用して私のプロジェクト用のGUIを作成しています。これは私的なプロジェクトですが、良いコーディング方法を使用したいと思います。まず、私は私のGUIモジュールの簡易版をご紹介しましょう:インターフェイスを使用しているときに使用されていないパラメータ
# Just a box, can have borders or it can be filled
class Box(object):
def __init__(self):
# Set initial state
def update(self, xy, press):
# I'm just a dummy box, I don't care about xy or press
pass
def draw(self):
# Draw
# Like a box but with special functionality
class Button(Box):
def __init__(self):
super(Button, self).__init__()
# Set initial state
def update(self, xy, press):
# Do something with xy and press
# Like a box but with special functionality
class Status(Box):
def __init__(self):
super(Status, self).__init__()
# Set initial state
def update(self, xy, press):
# Do something with xy, ignore press
# A box which can hold boxes inside it to group them
class Container(Box):
def __init__(self):
super(Container, self).__init__()
self.childs = deque()
def update(self, xy, press):
for c in self.childs:
c.update(xy, press)
# Container draws itself like a Box but also draws boxes inside it
def draw(self):
super(Container, self).draw()
for c in self.childs:
c.draw()
すべてのGUIコンポーネントがコンテナです。 コンテナの update()は、最新の入力情報でコンポーネントの状態を更新するたびに呼び出されます。
私は1つのループでGUI全体を更新するインターフェイスを使用できるので、このソリューションが好きで、少しのコードを節約できます。私の問題は、これらの子どもの中には、インタフェースを使用して未使用のパラメータにつながる状態を更新するために、他の子より多くの情報を必要とすることです。
この場合、使用されていないパラメータを使用することは悪い習慣と考えられますか?インターフェイスを使用しないでください。