simplifying expressions – Is there a good method for making sophisticated (and terse) code into more verbose code?

For example, this is really nice code, but my first instinct is to make it more verbose so it is easier for a beginner to read:

stateSet = Tuples[{0, 1}, 6] // Rest;
gatherTestFunc = Function[lst, Sort[RotateLeft[lst, # - 1] & /@ Flatten[Position[lst, 1]]]];    
stateClsSet = Sort /@ Gather[stateSet, gatherTestFunc[#1] == gatherTestFunc[#2] &];
stateClsSetHomogeneous = ArrayPad[#, {{0, 6 - Length@#}, {0, 0}}] & /@ stateClsSet;

It would be nice to have a program or perhaps just a systematic method for replacing # and / and @ . I’ve always found Slot to be confusing!