Faraday: RuboCop ํ€˜์ŠคํŠธ ๋ฌธ์ œ

์— ๋งŒ๋“  2019๋…„ 02์›” 20์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: lostisland/faraday

๊ธฐ๋ณธ ์ •๋ณด

์šฐ๋ฆฌ๋Š” RuboCop์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋ฆฐํŠธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ์‹œ์ž‘ํ•  ๋•Œ .rubocop_todo.yml ์— ์žˆ๋Š” ๋ชจ๋“  ๊ทœ์น™์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ํ™•์ธ ํ‘œ์‹œ๋Š” "๊ณ ์ •๋˜์–ด ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉ๋จ"์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด PR์„ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ RuboCop์˜ --only ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ ๊ฐ€์ง€ ์œ ํ˜•์˜ ์ˆ˜์ •์— ์ง‘์ค‘ํ•˜์‹ญ์‹œ์˜ค. ์ด์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๊ฒ€ํ† ํ•  ๋•Œ ์••๋„๋˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. (๊ทธ๋ณด๋‹ค ์•ฝ๊ฐ„ ๋” ์ˆ˜์ •ํ•˜๋ฉด ํฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ†  ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.)

# 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"

์›Œํฌํ”Œ๋กœ

๋ฌธ์ œ ์„ค๋ช…

  • [x] ๋ฒˆ๋“ค๋Ÿฌ/OrderedGems #856
  • [x] Layout/AccessModifierIndentation #862
  • [x] ๋ ˆ์ด์•„์›ƒ/AlignHash #863
  • [x] ๋ ˆ์ด์•„์›ƒ/๋งค๊ฐœ๋ณ€์ˆ˜ ์ •๋ ฌ #867
  • [x] ๋ ˆ์ด์•„์›ƒ/BlockEndNewline
  • [x] ๋ ˆ์ด์•„์›ƒ/๋Œ€์†Œ๋ฌธ์ž ๋“ค์—ฌ์“ฐ๊ธฐ #864
  • [x] ๋ ˆ์ด์•„์›ƒ/์ฃผ์„ ๋“ค์—ฌ์“ฐ๊ธฐ #864
  • [x] ๋ ˆ์ด์•„์›ƒ/์  ์œ„์น˜ #880
  • [x] ๋ ˆ์ด์•„์›ƒ/ElseAlignment #871
  • [x] ๋ ˆ์ด์•„์›ƒ/EmptyLineAfterGuardClause #860
  • [x] Layout/EmptyLineBetweenDefs #860
  • [x] ๋ ˆ์ด์•„์›ƒ/๋นˆ ์ค„ #860
  • [x] ๋ ˆ์ด์•„์›ƒ/EmptyLinesAroundAccessModifier #881
  • [x] ๋ ˆ์ด์•„์›ƒ/EmptyLinesAroundClassBody #882
  • [x] ๋ ˆ์ด์•„์›ƒ/EndAlignment #887
  • [x] ๋ ˆ์ด์•„์›ƒ/์ถ”๊ฐ€ ๊ฐ„๊ฒฉ #884
  • [x] ๋ ˆ์ด์•„์›ƒ/IndentArray #890
  • [x] ๋ ˆ์ด์•„์›ƒ/IndentHash #890
  • [x] ๋ ˆ์ด์•„์›ƒ/๋“ค์—ฌ์“ฐ๊ธฐ๋„ˆ๋น„ #864
  • [x] ๋ ˆ์ด์•„์›ƒ/LeadingCommentSpace #860
  • [x] ๋ ˆ์ด์•„์›ƒ/MultilineBlockLayout
  • [x] ๋ ˆ์ด์•„์›ƒ/MultilineMethodCallIndentation #864
  • [x] ๋ ˆ์ด์•„์›ƒ/MultilineOperationIndentation #864
  • [x] ๋ ˆ์ด์•„์›ƒ/RescueEnsureAlignment #890
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceAfter์‰ผํ‘œ #884
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceAroundEqualsInParameterDefault #884
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceAroundOperators #884
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceBeforeBlockBraces #884
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceInsideArrayLiteralBrackets #884
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceInsideBlockBraces #884
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceInsideHashLiteralBraces #884
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceInsideParens #884
  • [x] ๋ ˆ์ด์•„์›ƒ/SpaceInsidePercentLiteralDelimiters #884
  • [x] ๋ ˆ์ด์•„์›ƒ/TrailingBlankLines #872
  • [x] ๋ ˆ์ด์•„์›ƒ/ํ›„ํ–‰๊ณต๋ฐฑ
  • [x] Lint/AssignmentInCondition #874
  • [x] Lint/HandleExceptions #896
  • [x] Lint/ReturnInVoidContext #896
  • [x] Lint/StringConversionInInterpolation #891
  • [x] Lint/UnneededRequireStatement #896
  • [x] Lint/UnusedBlockArgument #896
  • [x] Lint/UnusedMethodArgument #896
  • [x] Lint/UselessAssignment #891
  • [x] ๋ฆฐํŠธ/๋ณด์ด๋“œ #896
  • [x] _๋ฌดํ•œ ์—ฐ๊ธฐ_ ~Metrics/AbcSize~
  • [x] ๋ฉ”ํŠธ๋ฆญ/๋ธ”๋ก ๊ธธ์ด #883 #927
  • [x] _๋ฌดํ•œ ์—ฐ๊ธฐ_ ~Metrics/ClassLength #944~
  • [x] _๋ฌดํ•œ ์—ฐ๊ธฐ_ ~๋ฉ”ํŠธ๋ฆญ์Šค/CyclomaticComplexity~
  • [x] _๋ฌดํ•œ ์—ฐ๊ธฐ_ ~Metrics/MethodLength~
  • [x] _๋ฌดํ•œ ์—ฐ๊ธฐ_ ~๋ฉ”ํŠธ๋ฆญ/๋ชจ๋“ˆ ๊ธธ์ด~
  • [x] _๋ฌดํ•œ ์—ฐ๊ธฐ_ ~๋ฉ”ํŠธ๋ฆญ์Šค/PerceivedComplexity~
  • [x] ์ด๋ฆ„ ์ง€์ •/์ƒ์ˆ˜ ์ด๋ฆ„ #897
  • [x] ์ด๋ฆ„ ์ง€์ •/MemoizedInstanceVariableName #891
  • [x] ์ด๋ฆ„ ์ง€์ •/์ˆ ์–ด ์ด๋ฆ„ #897
  • [x] ๋„ค์ด๋ฐ/UncommunicativeMethodParamName #897
  • [x] ์„ฑ๋Šฅ/RedundantBlockCall #897
  • [x] ์„ฑ๋Šฅ/๋ฌธ์ž์—ด ๊ต์ฒด #897
  • [x] ์Šคํƒ€์ผ/์•ก์„ธ์Šค ์ˆ˜์ •์ž ์„ ์–ธ #897
  • [x] ์Šคํƒ€์ผ/๋ณ„์นญ #897
  • [x] ์Šคํƒ€์ผ/AndOr #897
  • [x] ์Šคํƒ€์ผ/๋ธ”๋ก ๊ตฌ๋ถ„ ๊ธฐํ˜ธ #906
  • [x] ์Šคํƒ€์ผ/์ค‘๊ด„ํ˜ธAroundHashParameters #907
  • [x] ์Šคํƒ€์ผ/๋Œ€์†Œ๋ฌธ์ž ๋™์ผ #902
  • [x] Style/ClassAndModuleChildren #902
  • [x] ์Šคํƒ€์ผ/ํด๋ž˜์Šค ํ™•์ธ #902
  • [x] ์Šคํƒ€์ผ/ClassVar #933
  • [x] ์Šคํƒ€์ผ/์ฝœ๋ก  ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ #894
  • [x] ์Šคํƒ€์ผ/์ฃผ์„ ์ฃผ์„ #876
  • [x] ์Šคํƒ€์ผ/์กฐ๊ฑด๋ถ€ ํ• ๋‹น #902
  • [x] ์Šคํƒ€์ผ/๋ฌธ์„œ
  • [x] ์Šคํƒ€์ผ/DoubleNegation #922
  • [x] ์Šคํƒ€์ผ/EachWithObject #901
  • [x] ์Šคํƒ€์ผ/EmptyMethod #912
  • [x] ์Šคํƒ€์ผ/ExpandPathArguments #901
  • [x] ์Šคํƒ€์ผ/ํ˜•์‹ ๋ฌธ์ž์—ด #901
  • [x] ์Šคํƒ€์ผ/FormatStringToken #914
  • [x] ์Šคํƒ€์ผ/FrozenStringLiteralComment #868
  • [x] ์Šคํƒ€์ผ/GlobalVars #943
  • [x] ์Šคํƒ€์ผ/๊ฐ€๋“œ ์กฐํ•ญ #931
  • [x] ์Šคํƒ€์ผ/ํ•ด์‹œ ๊ตฌ๋ฌธ #878
  • [x] ์Šคํƒ€์ผ/IfInsideElse #915
  • [x] ์Šคํƒ€์ผ/IfUnlessModifier #926
  • [x] ์Šคํƒ€์ผ/๋žŒ๋‹ค #901
  • [x] ์Šคํƒ€์ผ/๋ฉ”์†Œ๋“œMissingSuper #928
  • [x] ์Šคํƒ€์ผ/MissingRespondToMissing #930
  • [x] ์Šคํƒ€์ผ/๋ชจ๋“ˆ ๊ธฐ๋Šฅ #925
  • [x] ์Šคํƒ€์ผ/MultilineIfModifier #924
  • [x] ์Šคํƒ€์ผ/MultilineTernaryOperator #913
  • [x] ์Šคํƒ€์ผ/๋‹ค์ค‘ ๋น„๊ต #923
  • [x] ์Šคํƒ€์ผ/๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ์ƒ์ˆ˜ #925
  • [x] ์Šคํƒ€์ผ/NegatedIf #901
  • [x] ์Šคํƒ€์ผ/NestedParenthesizedCalls #901
  • [x] ์Šคํƒ€์ผ/๋‹ค์Œ #901
  • [x] ์Šคํƒ€์ผ/๋ฌดํšจ ๋น„๊ต #921
  • [x] ์Šคํƒ€์ผ/#901 ์•„๋‹˜
  • [x] ์Šคํƒ€์ผ/์ˆซ์ž ์ˆ ์–ด #921
  • [x] ์Šคํƒ€์ผ/๋ณ‘๋ ฌ ํ• ๋‹น #920
  • [x] ์Šคํƒ€์ผ/๊ด„ํ˜ธAroundCondition #920
  • [x] ์Šคํƒ€์ผ/๋ฐฑ๋ถ„์œจ ๋ฆฌํ„ฐ๋Ÿด ๊ตฌ๋ถ„ ๊ธฐํ˜ธ #905
  • [x] ์Šคํƒ€์ผ/PerlBackrefs #920
  • [x] ์Šคํƒ€์ผ/PreferredHashMethods #920
  • [x] ์Šคํƒ€์ผ/ํ”„๋กœ์‹œ์ € #920
  • [x] ์Šคํƒ€์ผ/RaiseArgs #910
  • [x] ์Šคํƒ€์ผ/์ค‘๋ณต ์˜ˆ์™ธ #895
  • [x] ์Šคํƒ€์ผ/์ค‘๋ณต ๊ด„ํ˜ธ #895
  • [x] ์Šคํƒ€์ผ/์ค‘๋ณต๋ฐ˜ํ™˜ #895
  • [x] ์Šคํƒ€์ผ/๋ฆฌ๋˜๋˜ํŠธ์…€ํ”„ #895
  • [x] ์Šคํƒ€์ผ/RegexpLiteral #910
  • [x] ์Šคํƒ€์ผ/๊ตฌ์กฐ ํ‘œ์ค€ ์˜ค๋ฅ˜ #910
  • [x] ์Šคํƒ€์ผ/SafeNavigation #909
  • [x] ์Šคํƒ€์ผ/์„ธ๋ฏธ์ฝœ๋ก  #908
  • [x] ์Šคํƒ€์ผ/SingleLineMethods #909
  • [x] ์Šคํƒ€์ผ/SpecialGlobalVars #909
  • [x] ์Šคํƒ€์ผ/StderrPuts #908
  • [x] ์Šคํƒ€์ผ/๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด #874
  • [x] ์Šคํƒ€์ผ/StringLiteralsInInterpolation #909
  • [x] ์Šคํƒ€์ผ/๊ตฌ์กฐ์ƒ ์ƒ์† #904
  • [x] ์Šคํƒ€์ผ/์‹ฌ๋ณผ ๋ฐฐ์—ด #898
  • [x] ์Šคํƒ€์ผ/SymbolProc #898
  • [x] ์Šคํƒ€์ผ/์‚ผํ•ญ ๊ด„ํ˜ธ #898
  • [x] ์Šคํƒ€์ผ/TrailingCommaInArrayLiteral #859
  • [x] ์Šคํƒ€์ผ/ํ›„ํ–‰CommaInHashLiteral #859
  • [x] ์Šคํƒ€์ผ/TrivialAccessors #898
  • [x] ์Šคํƒ€์ผ/๊ทธ ์™ธ #898
  • [x] ์Šคํƒ€์ผ/๋‹จ์–ด ๋ฐฐ์—ด #893
  • [x] ์Šคํƒ€์ผ/์š”๋‹ค์ปจ๋””์…˜ #898
  • [x] ์Šคํƒ€์ผ/ZeroLength ์ˆ ์–ด #858
  • [x] ๋ฉ”ํŠธ๋ฆญ/๋ผ์ธ ๊ธธ์ด #938
help wanted

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๐Ÿš€

๋ชจ๋“  5 ๋Œ“๊ธ€

์ด ๋Œ“๊ธ€์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์˜ ์ด์ „ ์ฃผ์žฅ์€ ํ‹€๋ ธ๋‹ค. ํ–ฅํ›„ ๊ฐœ๋ฐœ์ž๋Š” ์œ„๋ฐ˜ ์‚ฌํ•ญ์„ ํ™•์ธํ•  ๋•Œ .rubocop_todo.yml ํŒŒ์ผ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋งˆ์Šคํ„ฐ ์‹ฌํŒ์—๋Š” CI๊ฐ€ ํฌ์ฐฉํ•˜์ง€ ๋ชปํ•˜๋Š” ์ผ๋ถ€ rubocop ์œ„๋ฐ˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋Š” https://github.com/lostisland/faraday/pull/870 ๋ฐ https://github.com/lostisland/faraday/pull/871 ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค

๋˜ํ•œ PR์˜ ์ด๋ฆ„์ด [RuboCop] fix Layout/TrailingBlankLines ์™€ ๊ฐ™์€ ๊ฒฝ์šฐ ์œ„์˜ ์ฒดํฌ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค.

Style/GlobalVars ์ฒดํฌ ํ‘œ์‹œํ•œ ์ด์œ ๋Š” script/generate_certs ๋งŒ ์œ„๋ฐ˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด์ „ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ์™„์ „ํžˆ ์ด์‹๋˜๋ฉด ํ†ตํ•ฉ ์ œํ’ˆ๊ตฐ์— ๋Œ€ํ•œ ์ด์ „ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด ์œ„๋ฐ˜ ์‚ฌํ•ญ์€ ๋งˆ์ˆ ์ฒ˜๋Ÿผ ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ณณ์— ์ถ”๊ฐ€๋œ ๋‹ค๋ฅธ ์ „์—ญ ๋ณ€์ˆ˜๋Š” ๊ณ„์† rubocop ์œ„๋ฐ˜์œผ๋กœ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Style/Globalvars :man_shrugging์„ ์ˆ˜์ •ํ•˜๊ธฐ ์ „์— ์ด ๊ฒŒ์‹œ๋ฌผ์„ ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๐Ÿš€

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰