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

Zgłaszanie wszystkich wyłączonych ostrzeżeń w pull requeście #8

Open
cameel opened this issue Jun 11, 2018 · 0 comments
Open

Comments

@cameel
Copy link
Member

cameel commented Jun 11, 2018

Często zdarza mi się napotkać w kodzie miejsca, gdzie zostaje wyciszony warning, mimo, że wskazuje on na rzeczywisty problem. Moim zdaniem musimy podjąć jakieś kroki aby zapobiec takim sytuacjom. Są sytuacje, kiedy rzeczywiście warning jest fałszywym alarmem ale powinny być one rzadkie. Jeżeli zdarzają się często, to lepiej wyłączyć część sprawdzeń w pylintrc niż przyzwyczajać się do machinalnego wyłączania wszystkiego.

Na przykład bardzo częstą sytuacją jest ostrzeżenie no-member z pylinta spowodowane tym, że klasa definiuje jakąś funkcję lub pole w w zbyt dynamiczny sposób aby łatwo wykryć to podczas statycznej analizy. Zamiast umieszczać na każdej linijce # pylint: disable=no-member znacznie lepiej w pliku pylintrc dodać tę klasę do ignored-classes. Wyłączy to sprawdzanie tylko dla niej.

Aby zmienić tę sytuację proponuję wprowadzić następującą zmianę w naszym workflow:

Jeżeli w ramach pull requestu wyciszane są jakiekolwiek ostrzeżenia pythona, linta, checkera typów, itp., w pull requeście powinien znaleźć się komentarz z listą wszystkich miejsc gdzie coś zostało wyciszone, każde z krótkim uzasadnieniem. Wszystkie wyciszenia muszą zostać potwierdzone i zaakceptowane przez senior developera (który nie jest autorem pull requestu).

Zmusi to do zastanowienia się nad przyczyną i pozwoli też innym zasugerować lepsze rozwiązanie. Sprawi też, że zwykłe wyłączenie warninga nie będzie najłatwiejszym wyjściem z sytuacji. Zwłaszcza w sytuacjach kiedy warningów jest bardzo dużo - nawet jeżeli wyłączenie jest słuszne, to gdy jest potrzebne zbyt często, należy szukać innego wyjścia z sytuacji.

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

No branches or pull requests

1 participant