Faraday: RuboCop Quest-Problem

Erstellt am 20. Feb. 2019  ·  5Kommentare  ·  Quelle: lostisland/faraday

Basisinformation

Wir linting die gesamte Codebasis mit RuboCop.

Dies ist eine Liste aller Regeln im .rubocop_todo.yml als wir anfingen. Die Häkchen bedeuten "dies ist behoben und mit dem Master zusammengeführt".

Wenn Sie eine PR erstellen, um eines dieser Probleme zu beheben, verwenden Sie die Option --only in RuboCop, um sich auf eine Art von Fehlerbehebung zu konzentrieren. Es ist so einfach, überwältigt zu werden, wenn man Code wie diesen überprüft. (Wenn Sie etwas mehr korrigieren, ist das kein Problem. Hier geht es darum, die Änderungen überprüfbar zu halten.)

# edit .rubocop.yml, commenting out the first line -
#   this removes the "ignore the TODOs" setting

# Auto-correct with only 1 rule
rubocop -a --only Name/OfTheRuleYouAreFixing --auto-correct

# Re-generate the config file
rubocop --auto-gen-config

# Revert line 3 in .rubocop_todo.yml
# This will avoid PR conflicts

# Inspect to see if it looks OK
git diff

# Re-set the TODO list
git checkout .rubocop.yml

# Add and commit the change
git add .
git commit -m"chore: RuboCop lint Name/OfTheRuleYouAreFixing"

Ein Arbeitsablauf

Fehlerbeschreibung

  • [x] Bundler/Bestellte Edelsteine ​​#856
  • [x] Layout/AccessModifierEinrückung #862
  • [x] Layout/AlignHash #863
  • [x] Layout-/Ausrichtungsparameter #867
  • [x] Layout/BlockEndNewline
  • [x] Layout/CaseEinrückung #864
  • [x] Layout/KommentarEinrückung #864
  • [x] Layout/Punktposition #880
  • [x] Layout/ElseAlignment #871
  • [x] Layout/EmptyLineAfterGuardClause #860
  • [x] Layout/EmptyLineBetweenDefs #860
  • [x] Layout/Leerzeilen #860
  • [x] Layout/EmptyLinesAroundAccessModifier #881
  • [x] Layout/EmptyLinesAroundClassBody #882
  • [x] Layout/EndAlignment #887
  • [x] Layout/ExtraSpacing #884
  • [x] Layout/IndentArray #890
  • [x] Layout/IndentHash #890
  • [x] Layout/Einrückungsbreite #864
  • [x] Layout/LeadingCommentSpace #860
  • [x] Layout/MultilineBlockLayout
  • [x] Layout/MultilineMethodCallIndentation #864
  • [x] Layout/MultilineOperationEinrückung #864
  • [x] Layout/RescueEnsureAlignment #890
  • [x] Layout/SpaceAfterComma #884
  • [x] Layout/SpaceAroundEqualsInParameterDefault #884
  • [x] Layout/SpaceAroundOperators #884
  • [x] Layout/SpaceBeforeBlockBraces #884
  • [x] Layout/SpaceInsideArrayLiteralBrackets #884
  • [x] Layout/SpaceInsideBlockBraces #884
  • [x] Layout/SpaceInsideHashLiteralKlammern #884
  • [x] Layout/SpaceInsideParens #884
  • [x] Layout/SpaceInsidePercentLiteralDelimiters #884
  • [x] Layout/TrailingBlankLines #872
  • [x] Layout/TrailingWhitespace
  • [x] Fussel/AssignmentInCondition #874
  • [x] Lint/HandleExceptions #896
  • [x] Fussel/ReturnInVoidContext #896
  • [x] Lint/StringConversionInInterpolation #891
  • [x] Fussel/UnneededRequireStatement #896
  • [x] Fussel/UnusedBlockArgument #896
  • [x] Fussel/UnusedMethodArgument #896
  • [x] Fussel/UnbrauchbarZuweisung #891
  • [x] Fussel/Leere #896
  • [x] _Auf unbestimmte Zeit verschoben_ ~Metrics/AbcSize~
  • [x] Metriken/Blocklänge #883 #927
  • [x] _Auf unbestimmte Zeit verschoben_ ~Metrics/ClassLength #944~
  • [x] _Auf unbestimmte Zeit verschoben_ ~Metrics/CyclomaticComplexity~
  • [x] _Auf unbestimmte Zeit verschoben_ ~Metriken/Methodenlänge~
  • [x] _Auf unbestimmte Zeit verschoben_ ~Metrics/ModuleLength~
  • [x] _Auf unbestimmte Zeit verschoben_ ~Metrics/PerceivedComplexity~
  • [x] Benennung/KonstanterName #897
  • [x] Benennung/MemoizedInstanceVariableName #891
  • [x] Namens-/Prädikatsname #897
  • [x] Benennung/Unkommunikative MethodeParamName #897
  • [x] Leistung/RedundantBlockCall #897
  • [x] Leistung/StringReplacement #897
  • [x] Style/AccessModifierDeclarations #897
  • [x] Stil/Alias ​​#897
  • [x] Stil/AndOr #897
  • [x] Stil-/Blocktrennzeichen #906
  • [x] Stil/KlammernAroundHashParameters #907
  • [x] Stil/FallGleichheit #902
  • [x] Style/ClassAndModuleChildren #902
  • [x] Stil-/Klassenprüfung #902
  • [x] Stil/KlasseVars #933
  • [x] Stil/DoppelpunktMethodCall #894
  • [x] Stil/KommentarAnmerkung #876
  • [x] Stil/Bedingte Zuweisung #902
  • [x] Stil/Dokumentation
  • [x] Stil/Doppelnegation #922
  • [x] Stil/EachWithObject #901
  • [x] Style/EmptyMethod #912
  • [x] Style/ExpandPathArguments #901
  • [x] Stil/FormatString #901
  • [x] Style/FormatStringToken #914
  • [x] Stil/FrozenStringLiteralComment #868
  • [x] Stil/GlobalVars #943
  • [x] Style/GuardClause #931
  • [x] Stil/HashSyntax #878
  • [x] Stil/IfInsideElse #915
  • [x] Style/IfUnlessModifier #926
  • [x] Stil/Lambda #901
  • [x] Stil/MethodeMissingSuper #928
  • [x] Style/MissingRespondToMissing #930
  • [x] Stil/ModulFunktion #925
  • [x] Stil/MultilineIfModifier #924
  • [x] Stil/MultilineTernaryOperator #913
  • [x] Stil/Mehrfachvergleich #923
  • [x] Stil/MutableConstant #925
  • [x] Stil/NegatedIf #901
  • [x] Style/NestedParenthesizedCalls #901
  • [x] Stil/Weiter #901
  • [x] Stil/NilVergleich #921
  • [x] Stil/Nicht #901
  • [x] Stil/NumerischPrädikat #921
  • [x] Style/ParallelAssignment #920
  • [x] Stil/KlammernAroundCondition #920
  • [x] Stil/ProzentLiteraleTrennzeichen #905
  • [x] Stil/PerlBackrefs #920
  • [x] Style/PreferredHashMethods #920
  • [x] Stil/Proz #920
  • [x] Style/RaiseArgs #910
  • [x] Style/RedundantException #895
  • [x] Stil/Redundante Klammern #895
  • [x] Stil/RedundantReturn #895
  • [x] Stil/RedundantSelf #895
  • [x] Stil/RegexpLiteral #910
  • [x] Style/RescueStandardError #910
  • [x] Stil/SafeNavigation #909
  • [x] Stil/Semikolon #908
  • [x] Stil/SingleLineMethods #909
  • [x] Stil/SpezialGlobalVars #909
  • [x] Stil/StderrPuts #908
  • [x] Stil/StringLiterals #874
  • [x] Stil/StringLiteralsInInterpolation #909
  • [x] Stil/Strukturvererbung #904
  • [x] Stil/SymbolArray #898
  • [x] Stil/SymbolProc #898
  • [x] Stil/Ternäre Klammern #898
  • [x] Stil/TrailingCommaInArrayLiteral #859
  • [x] Style/TrailingCommaInHashLiteral #859
  • [x] Stil/TrivialAccessors #898
  • [x] Stil/Es sei denn, sonst #898
  • [x] Stil/WordArray #893
  • [x] Stil/YodaZustand #898
  • [x] Stil/ZeroLengthPrädikat #858
  • [x] Metriken/Linienlänge #938
help wanted

Hilfreichster Kommentar

Danke, alle! 🚀

Alle 5 Kommentare

Entfernen dieses Kommentars. Meine vorherige Behauptung war falsch. Zukünftige Entwickler sollten die Datei .rubocop_todo.yml beachten, wenn sie nach Verstößen suchen.

Der aktuelle Master-Ref hat einige Rubocop-Verstöße, die nicht von CI abgefangen werden. Diese Probleme werden in https://github.com/lostisland/faraday/pull/870 und https://github.com/lostisland/faraday/pull/871 behoben

Auch wenn PRs etwa [RuboCop] fix Layout/TrailingBlankLines , ist es viel einfacher, sie in die obige Checkliste aufzunehmen.

Ich habe Style/GlobalVars abgehakt, weil der einzige Täter script/generate_certs . Sobald die alten Integrationstests vollständig portiert wurden, können die alten Skripte für die Integrationssuite gehen und dieser Verstoß wird auf magische Weise behoben. Alle anderen globalen Vars, die an anderer Stelle hinzugefügt wurden, sollten weiterhin als Rubocop-Vergehen gekennzeichnet werden.

Ich hatte diesen Beitrag nicht gesehen, bevor ich das Style/Globalvars :man_shrugging:

Danke, alle! 🚀

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen