code: def stats_evaluation(stats):
      
      statement = stats.get('statement')
      error = stats.get('error', 0)
      warning = stats.get('warning', 0)
      refactor = stats.get('refactor', 0)
      convention = stats.get('convention', 0)
  
      if not statement or statement <= 0:
          return None
  
      malus = float(5 * error + warning + refactor + convention)
      malus_ratio = malus / statement
      return 10.0 - (malus_ratio * 10)
docs: Generate an evaluation for the given pylint ``stats``.