Review pylint plugins and their notes.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 210
- Forks
- 36
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 2
Description
Currently there are only a handful of pylint plugins enabled https://github.com/oracle/macaron/blob/f71d152a04fb3a25bc2fc8ff9845cec6b528e792/pyproject.toml#L220-L226 which is a smaller subset of all available plugins.
After enabling most of these plugins (except those that are too noisy/disagreeable/not useful right now):
load-plugins = [
"pylint.extensions.bad_builtin",
"pylint.extensions.broad_try_clause",
"pylint.extensions.check_elif",
"pylint.extensions.code_style",
"pylint.extensions.comparison_placement",
"pylint.extensions.confusing_elif",
"pylint.extensions.consider_refactoring_into_while_condition",
"pylint.extensions.consider_ternary_expression",
"pylint.extensions.dict_init_mutate",
# "pylint.extensions.docparams",
# "pylint.extensions.docstyle",
"pylint.extensions.dunder",
"pylint.extensions.empty_comment",
"pylint.extensions.for_any_all",
# "pylint.extensions.magic_value",
# "pylint.extensions.mccabe",
"pylint.extensions.no_self_use",
"pylint.extensions.overlapping_exceptions",
"pylint.extensions.private_import",
"pylint.extensions.redefined_loop_name",
"pylint.extensions.redefined_variable_type",
"pylint.extensions.set_membership",
"pylint.extensions.typing",
"pylint.extensions.while_used",
]
pylint reports a long list of notes (wouldn’t want to call them “issues”) and most of which I disabled right away:
- confusing-consecutive-elif
- consider-ternary-expression
- consider-using-assignment-expr
- empty-comment
- while-used
Then there is the rest, which may be worthwhile reviewing and discussing:
In addition to these standard pylint plugins, I also installed perflint and, after disabling loop-invariant-statement and dotted-import-in-loop, got the following notes regarding performance:
- incorrect-dictionary-iterator
- use-dict-comprehension
- use-list-comprehension
- use-list-copy
- use-tuple-over-list which is similar to pylint’s own consider-using-tuple
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the load-plugins configuration in pyproject.toml at lines 220-226, then review the listed Pylint and perflint messages and their linked documentation. Run the configured lint checks to confirm which notes appear. Done means reaching a project decision about useful plugins and messages, then recording the selected configuration and any disabled checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100