### SUMMARY

Update validate-modules to report messages using named error codes like `version-added` instead of error numbers like `E305`.

This would match the behavior of other tools we use, such as pylint, which have one named error code per rule. This will also make ignore entries much easier to read.

Doing this before 2.9 is released will avoid potential backwards compatibility issues with ignore entries in collections.

##### ISSUE TYPE

Feature Idea

##### COMPONENT NAME

validate-modules

"""Return the path."""
        return self.__path
    @property
    def line(self):  
        """Return the line number, or 0 if none is available."""
        return self.__line
    @property
    def column(self):  
        """Return the column number, or 0 if none is available."""
        return self.__column
    @property
    def level(self):  
        """Return the level."""
        return self.__level
    @property
    def code(self):  
        """Return the code, if any."""
        return self.__code
    @property
    def message(self):  
        """Return the message."""
        return self.__message
    @property
    def tuple(self):  
        """Return a tuple with all the immutable values of this test message."""
        return self.__path, self.__line, self.__column, self.__level, self.__code, self.__message
    def __lt__(self, other):