| OLD | NEW | 
| (Empty) |  | 
 |   1 # flake8-abp | 
 |   2  | 
 |   3 A [flake8](https://flake8.readthedocs.io) extension that checks for compliance | 
 |   4 with the [Adblock Plus coding style guide](https://adblockplus.org/coding-style#
    python) | 
 |   5 and some bad practices which flake8 doesn't handle by default. | 
 |   6  | 
 |   7  | 
 |   8 ## Installation | 
 |   9  | 
 |  10 Run `python setup.py install`. | 
 |  11  | 
 |  12  | 
 |  13 ## Usage | 
 |  14  | 
 |  15 Just run `flake8` (you have to install it seperately) on your source files. | 
 |  16 After installation the `flake8-abp` extension is active by default. | 
 |  17  | 
 |  18  | 
 |  19 ## Warnings | 
 |  20  | 
 |  21 ### Readability and consistency | 
 |  22  | 
 |  23 * `A101`: Loop over a tuple or set literal; use lists for data that have order | 
 |  24 * `A102`: Membership check on a tuple or list literal; use a set here | 
 |  25 * `A103`: Yoda condition | 
 |  26 * `A104`: `map()` or `filter()` called with lambda function | 
 |  27 * `A105`: Type called with literal or comprehension where a | 
 |  28           literal/comprehension of that type can be used directly | 
 |  29 * `A106`: Use augment assignment | 
 |  30 * `A107`: `%` operator used for string formatting; this mechanism | 
 |  31           has been superseded by the string's `format()` method | 
 |  32 * `A108`: `+` operator to concatenate more than two strings | 
 |  33 * `A109`: Use triple double quotes for docstrings as recommended in PEP-257 | 
 |  34 * `A110`: Write single-line string literals as represented by `repr()` | 
 |  35 * `A111`: Redundant parantheses around if or while condition | 
 |  36  | 
 |  37  | 
 |  38 ### Redundancy and complexity | 
 |  39  | 
 |  40 * `A201`: Redundant or superfluos `global` or `nonlocal` declaration | 
 |  41 * `A202`: Dead code after block is left | 
 |  42 * `A303`: Unused expression | 
 |  43 * `A204`: Redundant or superfluos pass statement | 
 |  44 * `A205`: Superfluos empty block | 
 |  45 * `A206`: Extraneous `else` statement after block is left | 
 |  46 * `A207`: Duplicate key in dict or set | 
 |  47  | 
 |  48  | 
 |  49 ### Error-prone practices | 
 |  50  | 
 |  51 * `A301`: Discouraged APIs | 
 |  52 * `A302`: Redefinition of built-in name | 
 |  53 * `A303`: Non-default source file encoding | 
| OLD | NEW |