Definitely put the comments in the docsting or equivalent for your language, not in the middle of the function.
The best place for comments is nicely grouped under (or above, an elegant C++ convention) the interface. If the function signature is 200 LOC away... the problem isn't the comments.
But they should be there.
2. People, need, diagrams. People NEED a picture.
At the minimum, the bare minimum, your application needs a high level and low level diagram explaining how it works.