title: How to write a functional specification?
body: <p>We always write functions or classes and their logic is very complicated. 
  If there is no specification for these structures, later it will be hard for even ourselves to grasp the ideas. </p>
  
  <p>How do you write specifications for complicated functions and classes?</p>
  
  <p>Please tell me something about your own experience, but not just some link, thanks.</p>