Given that $a$ and $a^\dagger$ are bosonic annihilation and creation operators (in the language of second quantisation); are there any simpler ways to calculate the commutators of arbitrary products of these operators, without laboriously using the key bosonic identity $[a,a^\dagger]=1$ over and over again. For example, given the commutator
$$[a^\dagger a a^\dagger a^\dagger, a^\dagger a a^\dagger a],$$
are there any handy tricks for just reading off the result, or making the computations quick?