Skip to content

๐Ÿ’ก Tips!

ruh0n edited this page Oct 28, 2024 · 3 revisions

๐Ÿ” Lint

Lint๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜, ๋ฒ„๊ทธ, ์Šคํƒ€์ผ ์˜ค๋ฅ˜, ์˜์‹ฌ์Šค๋Ÿฌ์šด ๊ตฌ์กฐ ๋“ฑ์„ ์ฐพ์•„๋‚ด๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ฝ”๋“œ ์Šคํƒ€์ผ์˜ ํ†ต์ผ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Lint๋ฅผ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, GitHub Actions์™€ ์—ฐ๋™ํ•˜์—ฌ PR ์š”์ฒญ ์‹œ Lint๋ฅผ ์ด์šฉํ•ด ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ์ž๋™์œผ๋กœ ํ™•์ธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Lint ๋„๊ตฌ์—๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ทธ์ค‘ Kotlin ์ง„์˜์—์„œ ํ†ต์ผ๋œ ์Šคํƒ€์ผ ์œ ์ง€์— ์ ํ•ฉํ•œ ktlint๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. .editorconfig ํŒŒ์ผ์„ ํ†ตํ•ด Lint์™€ Android Studio์˜ ํฌ๋งทํŒ…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๋™ ํ™•์ธ

ํ˜„์žฌ ์ž‘์„ฑ๋œ ์ฝ”๋“œ์˜ ์Šคํƒ€์ผ์ด ์ ์ ˆํ•œ์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด, ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด ๋ณด์„ธ์š”:

./gradlew ktlintCheck

์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ๋นŒ๋“œ ์ฐฝ์—์„œ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๋ณด๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด, build/reports/ktlint ๊ฒฝ๋กœ์— ์ƒ์„ฑ๋œ ๋ณด๊ณ ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

์ž๋™ ํฌ๋งท

Lint ๊ทœ์น™์ด ์ ์šฉ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ ์ค‘ ์ž๋™ ํฌ๋งทํŒ…์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ, ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

./gradlew ktlintFormat

๋‹จ, ๋ชจ๋“  ๊ทœ์น™์„ ์ž๋™์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ž๋™ ํฌ๋งทํŒ…์ด ์‹คํŒจํ•œ ๊ฒฝ์šฐ์—๋Š” ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ˆ˜์ •ํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ํŒ

IntelliJ(Android Studio)์—์„œ๋Š” ํ„ฐ๋ฏธ๋„์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์‰ฝ๊ฒŒ Lint๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Ctrl ํ‚ค๋ฅผ ๋น ๋ฅด๊ฒŒ ๋‘ ๋ฒˆ ๋ˆ„๋ฅด๋ฉด ๋น ๋ฅธ ์‹คํ–‰ ์ฐฝ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  2. ์ด ์ฐฝ์—์„œ ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ตœ์†Œ ํ•œ ๋ฒˆ์ด๋ผ๋„ ๋น ๋ฅธ ์‹คํ–‰ ์ฐฝ์—์„œ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค๋ฉด, ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ๋”์šฑ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ ๋ฉ”๋‰ด

์œ„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์‹คํ–‰ ์ฐฝ์— Lint ๊ด€๋ จ ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์–ด, ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ Lint๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํŒ€ ์ „์ฒด์˜ ์ฝ”๋“œ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ , ์ผ๊ด€๋œ ์Šคํƒ€์ผ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๐Ÿค– Android Studio ์„ค์ •

์ปค๋ฐ‹์‹œ ์ž๋™ ์ ์šฉ

Settings > Version Control > Commit

image

  • Reformat code(์ฒดํฌ ์ถ”์ฒœ: ์ฝ”๋“œ ์ž๋™ ์ •๋ ฌ)
  • Optimize imports(์ฒดํฌ ์ถ”์ฒœ: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” import ์ œ๊ฑฐ)

cleanup์€ ์กฐ๊ธˆ ์œ„ํ—˜ํ•  ์ˆ˜ ์žˆ์Œ

EOF(ํŒŒ์ผ ๋์— ๋นˆ ์ค„ ์ถ”๊ฐ€)

EOF๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

Settings > Editor > General > On Save

image

  • Remove trailing blank lines at the end of the file(์ฒดํฌ ์ถ”์ฒœ: ํŒŒ์ผ ๋์— ๋นˆ ์ค„์ด ๋งŽ๋‹ค๋ฉด ์ œ๊ฑฐ)
  • Ensure every file ends with a line break(์ฒดํฌ ์ถ”์ฒœ: ํŒŒ์ผ ๋์— ๋นˆ ์ค„์ด ์—†๋‹ค๋ฉด ์ถ”๊ฐ€)

๐Ÿ›Œ๋“œ๋ฆผ ๋‹ค์ด์–ด๋ฆฌ

๐Ÿ‘‹ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ
๐Ÿ“บ ์ฃผ์š” ๊ธฐ๋Šฅ
๐ŸŽจ ๊ธฐํš ๋ฐ ๋””์ž์ธ
๐Ÿ’ก ๊ธฐ์ˆ  ์Šคํƒ

๐Ÿ‘คํŒ€ ๋ฌธํ™”

๐Ÿค™ ๊ทธ๋ผ์šด๋“œ ๋ฃฐ
๐Ÿ™ ๊นƒ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜
๐ŸŒด ๊นƒ ๋ธŒ๋žœ์น˜ ์ „๋žต
๐Ÿ’ก Lint

๐ŸงพํšŒ์˜๋ก

๐Ÿ–Š๏ธ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ
๐Ÿƒ์Šคํ”„๋ฆฐํŠธ ํšŒ์˜
๐Ÿ‘จโ€๐Ÿซ๋ฉ˜ํ† ๋ง ์ผ์ง€
๐Ÿค”ํšŒ๊ณ 

๐Ÿ—ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๐ŸŽ€ํ•™์Šต

Clone this wiki locally