oracle / oracle/macaron

Review pylint plugins and their notes.

Open
#1,354 0 comments 0 reactions 0 assignees View on GitHub

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:

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:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.