Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pylint alerts corrections as part of an intervention experiment #40

Open
evidencebp opened this issue Dec 3, 2024 · 4 comments
Open

Comments

@evidencebp
Copy link
Contributor

Pylint alerts are correlated with tendency to bugs and harder maintenance.
I'd like to conduct a software engineering experiment regarding the benefit of Pylint alerts removal.
The experiment is described here.

In the experiments, Pylint is used with some specific alerts, files are selected for intervention and control.
After the interventions are done, one can wait and examine the results.

Your repository is expected to benefit from the interventions.
I'm asking for your approval for conducting an intervention in your repository.

See examples of interventions in stanford-oval/storm, gabfl/vault, and coreruleset/coreruleset.

You can see the planed interventions
The plan is to do 27 interventions in 23 files
The interventions will be of the following types:
broad-exception-caught: 5
line-too-long: 10
simplifiable-if-expression: 1
too-many-branches: 9
too-many-statements: 1
unnecessary-pass: 1

May I do the interventions, @mralext20?

@mralext20
Copy link
Owner

I'm very much intrigued, and would love to be a part of it.

How are the interventions handled? Are they flagged and then a human operates on them or is some automated process doing that?

How did you find my project? Just a random draw, or going alphabetical?

@evidencebp
Copy link
Contributor Author

I'm glad to hear that!

Pylint identify the alerts and the experiment is about eveluting the benefit of fixing them.
I did the intervention on my own.
In some parts, like method extraction, I used the VSCode refactor/extract method.

Your project is from a list of projects that I creaed in the past of recent large enough software projects.
Currently it is a POC so I go to your project while guessing what will be suitable (e.g., not too low or too high number of interventions).

I guess it will take me few days to complete the interventions.
I'll be happy to consult you during that.

@evidencebp
Copy link
Contributor Author

@mralext20 , please see the PR

I noted some files with strange names (e.g., alembic\versions\ebe62bce51c4_add_dontvociesleep_to_user_config.py) in which I did not interven.
Out of curiosity, what are they?

I intervened (and noticed afterwards) that there is also a "disabled" directory.
It is not relevant, right?

@mralext20
Copy link
Owner

The alembic folder is for database migrations, see their docs for an example.

The disabled folder is currently not being used, correct. The files in there are for my reference and future reimplementing (following better practices!)

I'll give the PR a look soon, thanks!

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

No branches or pull requests

2 participants