Skip to content
This repository was archived by the owner on Nov 3, 2023. It is now read-only.

Behaviour when using --convention #482

Open
saroad2 opened this issue May 28, 2020 · 4 comments
Open

Behaviour when using --convention #482

saroad2 opened this issue May 28, 2020 · 4 comments

Comments

@saroad2
Copy link

saroad2 commented May 28, 2020

This is a followup issue for #478.

The question here is how the --convention flag affects the chosen rules to be executed when evaluating doctsring. Here is my suggestion:

I think the approach should be that you should split the violations into two categories:

Global - violations which are part of the pycodestyle guidelines
Convention specific - violations that are only relevant for a specific convention.

A definition of a convention-specific violation should look like:

D497 = D4xx.create_error('D497', 'This is a global rule', 'description')
D498 = D4xx.create_error(
    'D498', 'This is a sphinx rule', 'description', convention="sphinx"
)
D499 = D4xx.create_error(
    'D499',
    'This is a sphinx and google rule',
    'description',
    convention=["sphinx", "google"]
)

The global rule will be set by default with convention=None.
Rules that are convention-specific will run only if --convention has been raised with their convention. Global rules will always run. In that way we can prevent false-positive for convention-specific violations

One can choose to add/ignore a violation regardless of the chosen conversion by using --add-select or --add-ignore.

What do you think?

@saroad2 saroad2 changed the title Behaviour when using --convension Behaviour when using --convention May 28, 2020
@saroad2
Copy link
Author

saroad2 commented Aug 18, 2020

Hey, you're feedback on this will be much appreciated!
Would love to add this ability.

@sambhav sambhav added this to the pydocstyle 6.0 milestone Aug 23, 2020
@sambhav
Copy link
Member

sambhav commented Aug 24, 2020

@saroad2 I am starting work on pydocstyle 6.0 which will elevate conventions to be a first class concept in the checker. I'd be more than happy to have other contributors working on this. I will be targetting the end of this year for the release. Things to do are -

  1. Come up with a proposal to cause as few disruptions as possible with the existing config.
  2. Refactor the checker to allow support for convention.
  3. Improve false negatives/positives due to the convention detection currently being a hueristic.
  4. Improve support for Google and Numpy conventions.
  5. Add support for sphinx style docstrings.

We have a chat at https://gitter.im/PyCQA/pydocstyle# if you want drop by and discuss this.

@rrwalton
Copy link

rrwalton commented Feb 3, 2023

Anyone currently working on support for sphinx style docstrings? I'd be happy to take a look if nobody else is.

@rrwalton
Copy link

rrwalton commented Feb 6, 2023

Anyone currently working on support for sphinx style docstrings? I'd be happy to take a look if nobody else is.

Ah, just noticed #595. Good stuff.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants