code: def Check(self, error, filename, linenum):
      
      if Match(r'T(EST|est)', self.current_function):
        base_trigger = self._TEST_TRIGGER
      else:
        base_trigger = self._NORMAL_TRIGGER
      trigger = base_trigger * 2**_VerboseLevel()
  
      if self.lines_in_function > trigger:
        error_level = int(math.log(self.lines_in_function / base_trigger, 2))
        # 50 => 0, 100 => 1, 200 => 2, 400 => 3, 800 => 4, 1600 => 5, ...
        if error_level > 5:
          error_level = 5
        error(filename, linenum, 'readability/fn_size', error_level,
              'Small and focused functions are preferred:'
              ' %s has %d non-comment lines'
              ' (error triggered by exceeding %d lines).'  % (
                  self.current_function, self.lines_in_function, trigger))
docs: Report if too many lines in function body.
  
      Args:
        error: The function to call with any errors found.
        filename: The name of the current file.
        linenum: The number of the line to check.