The order of checking collisons (gaming in general)

In the design of games- not panda specific. Is there a principle when it comes to collision order:

Consider you were writing a wwii bomber game.

Would you place all the collision reactions (damage, updates, animation calls) on the bullets and bombs or on the items they collide with?

I am thinking in terms of simplicity, speed, and efficiency and the ability to debug and update etc.

JB Skaggs

I would do it in stages, record and test all stages separate with unit tests…

movement stage
fire bullet stage
bullet collision stage (populate stuff it collided with)
bullet damage dealing stage
dieing stage
movement collision stage
push back stage

If you need some thing even more complex read this:
gamasutra.com/view/feature/4 … ngine_.php