Size: a a a

2021 September 02

AS

Artem Savinov in rannts
и?
источник

AS

Artem Savinov in rannts
на входе ему диф идет
источник

AS

Artem Savinov in rannts
а не весь файл
источник

RB

Roman Bolkhovitin in rannts
видимо легаси-френдли вариант
источник

AS

Artem Savinov in rannts
Там же ниже, о чем ты сам и писал
Limiting flake8 to check only lines that changed has one limitation: it doesn’t catch issues that your changes introduced in other parts of the code. The most common case is probably removing a line that uses an import, but forgetting to remove the corresponding import statement.
источник

БС

Байт Словович... in rannts
так весь файл он с файловой системы берет, а с stdout только смотрит изменненные строки и их репортит. Но вообще надо проверить.
источник

AS

Artem Savinov in rannts
лень, я и так давно запарился чтобы проверк анатравливалась только на измененные файлы
источник

AS

Artem Savinov in rannts
не вижу смысла париться над "измененными участками"
источник

БС

Байт Словович... in rannts
тут описывается ситуация:

import sys

...
bin = sys.args[0]  # эту строчку удаляем. Теперь у нас import sys не использован.

флак найдет что импорт не использован, но зафильтрует эту проблему, так как строчка импорта не менялась
источник

AS

Artem Savinov in rannts
как один из примеров
источник

A

Alexei in rannts
я не знаю как насчет flake8 (имхо, он и так ужасно быстрый), но вот когда есть pylint, который дико медленный - я его как раз обычно натравливаю на дельту

alias pl='pylint -j 0 --rcfile=/Users/alexei/my_lovely_proj/.pylintrc `git diff --name-only origin/staging | grep ".py"`'
источник

AG

Alexander Gorokhov in rannts
каеф
источник

AS

Artem Savinov in rannts
так это как раз натравить именно на измененные файлы, а выше разговор был прям на diff содержимого файлов
источник

SA

Sergey Arkhipov in rannts
ну это идиотство так поступать. антон процитировал главную причину. а вторая - flake8 работает с AST-деревом.

ты не можешь построить полноценного дерева по нескольким строчкам. ты даже понять не сможешь, ты в классе или функции вообще, есть ли выше цикл или нет. следовательно, это примерно как выключить почти все. что там есть

я не сомневаюсь, что этот --diff - это просто фильтр по изменившимся строчкам, а то там просто вообще ничего работать не будет. то есть ты и так делаешь полный прогон, а затем грепаешь только нужные строчки.

я знаю ровно один случай, когда так имеет смысл поступать: линтер добавлен в проект давно, там 100000000 ошибок, которые никто править не хочет, но хочется не допустить появления новых. вот только это сама по себе идиотская ситуация: качество кода лучше становиться не будет, скорее оно будет деградировать. а всю ситуацию можно описать как "партия сказало надо, комсомол ответил есть"
источник

SA

Sergey Arkhipov in rannts
в общем, если у вас там не критично все, ошибки можно поправить, тогда нафиг дифф не нужен. а вот если уже все хорошо, то переделывать так, чтобы линтер срабатывал только на дифф - звучит глупо. Хотелось бы услышать резоны + понять в первую очередь, осознает ли человек, как тулы вообще работают или нет
источник

AS

Artem Savinov in rannts
"нас оптимизируют", не пытайся понять и не бери в голову.
Мы все проебываем, а бизнес хочет детерминированых сроков - вот взяли "знающего" человека.
источник

💭П

💭 Руслан Прохоров... in rannts
Ааааа
источник

EK

Elena K in rannts
Че значит "все проебываем"? не так уж сильно и проебываем..
источник

💭П

💭 Руслан Прохоров... in rannts
Так и сказал-бы, что Сова пришёл. Эффективный менеджер и всё такое ()
источник

AS

Artem Savinov in rannts
ну в целом, я ен говорю что "вы"- тут всех заслуга и QA и аналитиков(не ну я то как бы не при делах 😝)
источник