using -class- to char(AI) complex

I’m rewriting the code
from module-to-class

However, what is the best method for using the asset class?

who controls the collision? the object with the module, or class?

better put all logic on the class script, or is it better to keep some things on the module of obj?

object properties (eg: energy, money, …) where it is better that they are, about the class or module?
(The risk is that all the variables I do a double and casino)

any clear ideas?
there some general rules?

There are no rules. You can do whatever you like.
You have to use a module as you need it to define the class somewhere ;).

You need the module to define the BGE entry points (BGE callable functions).

Collisions are dealt by bullet. Collision sensors are applied to the KX_GameObject as before.

You can uses one or more classes to deal with internal models (logic models as part of the game e.g. a points counter, selection manage). This internal models can refer to none, one or more game objects. You need at least one game object to call the entry point (Python controller).

I know this is not that helpful. You are free to choose the programming style you like.

for now I not “see” big advantages using class

is maybe a bit to easy to keep clean, but is too long anyway,
I think which must use notepad++

What I do for big hunks of code is:I set up a few classes, that have large numbers of small functions such as:
movement (each key has a different function)
weapons (a different function for each weapon)
and so on.
Then I have a function straight in the module that calls the class functions when needed.