Buenos días!.
Esto en verdad es un tema en general no tiene por que ser Python o PyGame,
puede afectar a cualquier programa que use POO.
Llevo viendo varios libros con Pygame y muchas veces la mayoría de la estructura del código es el uso
de variables globales. Abundan. No se ve normalmente una rutina principal.
Las clases, la rutina principal, todo junto. Recordemos que un código de Python usa indentación.
Y muchos lenguajes. Supongo que habrá códigos mejores hechos unos que otros.
En cambio hay otros que usan una forma mejor para la creación del programa. Estos son menos.
Es como empezar siempre con una plantilla.
Me he encontrado un ejemplo básico que es la pulsación de una tecla. Esto me ha dado un poco de guerra,
ya que la variable donde se almacenaba la tecla pulsada era una variable global, al dividir el código
en partes. En los métodos de la clase del objeto que tenía que moverse, la daba como no definida,
en fin.
Al final solucione el problema, recordando "la estructura u organización de las clases" de otro libro.
El problema que nos encontramos es que el programador que crea el libro puede "no usar"
una estructura o esqueleto para la aplicación. No es una forma buena de programar ni tampoco
la de enseñar. Pero esto no ocurre solo con los programadores de Python con Pygame.
Partiendo siempre de una forma de escribir el código siempre estará bien organizado.
Ahora bien, puede que esta forma "pueda" variar según el lenguaje que usemos, o por
el uso de librerías concretas.
Soy partidario de que el programador que enseña debe tener una manera que podía ser
siempre la misma pero bien organizada, porque lo que se trata es enseñar a programar
y que nuestros códigos no sean un plato de espagueti.
Los programadores que crean libros de programación, ademas de enseñar a conocer
un lenguaje, deberían siempre de enseñar un método, su método de creación y organización
del código.
Saludos