def _ensure_underscores(self, node: ast.AST, name: str): if access.is_private(name): self._error_callback( naming.PrivateNameViolation(node, text=name), ) if logical.does_contain_underscored_number(name): self._error_callback( naming.UnderscoredNumberNameViolation(node, text=name), ) if logical.does_contain_consecutive_underscores(name): self._error_callback( naming.ConsecutiveUnderscoresInNameViolation( node, text=name, ), ) if builtins.is_wrong_alias(name): self._error_callback( naming.TrailingUnderscoreViolation(node, text=name), ) if access.is_unused(name) and len(name) > 1: self._error_callback( naming.WrongUnusedVariableNameViolation(node, text=name), )
def _ensure_complex_naming( self, node: ast.AST, name: str, *, is_first_argument: bool, ) -> None: if logical.is_wrong_name(name, self._variable_names_blacklist): self._error_callback( naming.WrongVariableNameViolation(node, text=name), ) if not is_first_argument: if logical.is_wrong_name(name, SPECIAL_ARGUMENT_NAMES_WHITELIST): self._error_callback( naming.ReservedArgumentNameViolation(node, text=name), ) if access.is_unused(name) and len(name) > 1: self._error_callback( naming.WrongUnusedVariableNameViolation(node, text=name), ) unreadable_sequence = alphabet.get_unreadable_characters( name, UNREADABLE_CHARACTER_COMBINATIONS, ) if unreadable_sequence: self._error_callback( naming.UnreadableNameViolation(node, text=unreadable_sequence), )