Fri, 02 Apr 2021 18:13:12 +0200
Code Style Checker
- continued to implement checkers for potential code simplifications
# -*- coding: utf-8 -*- # Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing message translations for the code style plugin messages (simplify part). """ from PyQt5.QtCore import QCoreApplication _simplifyMessages = { "Y101": QCoreApplication.translate( "SimplifyChecker", '''Multiple "isinstance()" calls which can be merged into a single ''' '''call for variable "{0}"'''), "Y102": QCoreApplication.translate( "SimplifyChecker", '''Use a single if-statement instead of nested if-statements'''), "Y103": QCoreApplication.translate( "SimplifyChecker", '''Return the condition "{0}" directly'''), "Y104": QCoreApplication.translate( "SimplifyChecker", '''Use "yield from {0}"'''), "Y105": QCoreApplication.translate( "SimplifyChecker", '''Use "with contextlib.suppress({0}):"'''), "Y106": QCoreApplication.translate( "SimplifyChecker", '''Handle error-cases first'''), "Y107": QCoreApplication.translate( "SimplifyChecker", '''Don't use return in try/except and finally'''), "Y108a": QCoreApplication.translate( "SimplifyChecker", '''Use ternary operator instead of if-else-block'''), "Y108b": QCoreApplication.translate( "SimplifyChecker", '''Use ternary operator "{0} = {1} if {2} else {3}" ''' '''instead of if-else-block'''), "Y109": QCoreApplication.translate( "SimplifyChecker", '''Use "{0} in {1}" instead of "{2}"'''), "Y110": QCoreApplication.translate( "SimplifyChecker", '''Use "return any({0} for {1} in {2})"'''), "Y111": QCoreApplication.translate( "SimplifyChecker", '''Use "return all({0} for {1} in {2})"'''), "Y112": QCoreApplication.translate( "SimplifyChecker", '''Use "{0}" instead of "{1}"'''), "Y113": QCoreApplication.translate( "SimplifyChecker", '''Use enumerate instead of "{0}"'''), "Y114": QCoreApplication.translate( "SimplifyChecker", '''Use logical or ("({0}) or ({1})") and a single body'''), "Y115": QCoreApplication.translate( "SimplifyChecker", '''Use context handler for opening files'''), "Y116": QCoreApplication.translate( "SimplifyChecker", '''Use a dictionary lookup instead of 3+ if/elif-statements: ''' '''return {0}'''), "Y117": QCoreApplication.translate( "SimplifyChecker", '''Use "{0}" instead of multiple with statements'''), "Y118": QCoreApplication.translate( "SimplifyChecker", '''Use "{0} in {1}" instead of "{0} in {1}.keys()"'''), "Y119": QCoreApplication.translate( "SimplifyChecker", '''Use a dataclass for "class {0}"'''), } _simplifyMessagesSampleArgs = { "Y101": ["foo"], "Y103": ["foo != bar"], "Y104": ["iterable"], "Y105": ["Exception"], "Y108b": ["foo", "bar", "condition", "baz"], "Y109": ["foo", "[1, 42]", "foo == 1 or foo == 42"], "Y110": ["check", "foo", "iterable"], "Y111": ["check", "foo", "iterable"], "Y112": ["FOO", "foo"], "Y113": ["foo"], "Y114": ["foo > 42", "bar < 42"], "Y116": ["mapping.get(foo, 42)"], "Y117": ["with Foo() as foo, Bar() as bar:"], "Y118": ["foo", "bar_dict"], "Y119": ["Foo"] }