code: def diff(self, source_path='', target_path='', which=-1):
          
          list_from, list_to = self.compute_before_after()
  
          if source_path.startswith(os.sep):
              source_path = source_path[1:]
          if source_path and not source_path.endswith(os.sep):
              source_path += os.sep
          if target_path.startswith(os.sep):
              target_path = target_path[1:]
          if target_path and not target_path.endswith(os.sep):
              target_path += os.sep
  
          fromfile = 'a/' + source_path + os.path.basename(self.input_file)
          tofile = 'b/' + target_path + os.path.basename(self.input_file)
          diff_list = difflib.unified_diff(list_from, list_to, fromfile, tofile)
          return [d for d in diff_list]
docs: Build the diff between original docstring and proposed docstring.
  
          :type which: int
            -> -1 means all the dosctrings of the file
            -> >=0 means the index of the docstring to proceed (Default value = -1)
          :param source_path:  (Default value = '')
          :param target_path:  (Default value = '')
          :returns: the resulted diff
          :rtype: List[str]