Static Analysis Tool

ν•™μŠ΅ ν‚€μ›Œλ“œ

  • Static Analysis Tool(정적 뢄석 도ꡬ)

    • ESLint

    • Prettier

Static Analysis Tool

πŸ“– 정적 뢄석 무엇인가?

  • μ†ŒμŠ€ μ½”λ“œμ˜ μ‹€ν–‰ 없이 ν”„λ‘œκ·Έλž¨μ˜ 문제λ₯Ό μ°ΎλŠ” κ³Όμ •

  • 뢄석 μ‹œμ μ΄ λΉ„ λŸ°νƒ€μž„ ν™˜κ²½μ—μ„œ μˆ˜ν–‰

πŸ’‘ μ™œ 정적뢄석을 μ‚¬μš©ν•˜λŠ”κ°€?

  • 잠재적으둜 버그가 λ°œμƒν•  수 μžˆλŠ” μ½”λ“œ

  • μ•ˆν‹° νŒ¨ν„΄

  • μ½”λ“œ μŠ€νƒ€μΌ(μ»¨λ²€μ…˜) μœ„λ°˜ μ—¬λΆ€

  • μ„±λŠ₯ 문제

  • μ˜€νƒ€

  • μ‚¬μš©λ˜μ§€ μ•ŠλŠ” μ½”λ“œ

  • 잠재적인 λ³΄μ•ˆ 취약점

β‡’ μ½”λ“œ 슀멜(code smell)이라고 λΆˆλ¦¬λŠ” λ¬Έμ œλ“€ λ°œκ²¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€

πŸ› οΈ ESLint

  • μ½”λ”© μ»¨λ²€μ…˜μ— μœ„λ°°λ˜λŠ” μ½”λ“œλ‚˜ μ•ˆν‹° νŒ¨ν„΄μ„ μžλ™ κ²€μΆœν•˜λŠ” 도ꡬ

  • .vscode/settings.json νŒŒμΌμ„ μΆ”κ°€ν•΄ JS/TS νŒŒμΌμ„ μ €μž₯ν•  λ•Œλ§ˆλ‹€ ESLintλ₯Ό μ‹€ν–‰ν•˜κ³  λ¬Έμ œμ μ„ 고치게 μ„€μ • κ°€λŠ₯

{
    "editor.rulers": [
        80
    ],
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },
    "trailing-spaces.trimOnSave": true
}

πŸ› οΈ Prettier

  • μ½”λ“œ 포맷터

  • λŒ€μΆ© 문법에 맞게 μ½”λ”©ν•˜κ³  μ €μž₯ ν•œ 번 눌러주면 μ½”λ“œκ°€ κΉ”λ”ν•˜κΈ° 정리 λ˜λŠ” κΈ°λŠ₯ 제곡

✍🏻 Static Analysis에 λŒ€ν•œ λ‚˜μ˜ 생각

  • 이미 μ‚¬μš©ν•˜κ³  μžˆμ—ˆλ‹€. vscode Extension을 톡해 ESLint μ‚¬μš©ν•˜κ³  μžˆμ—ˆλ‹€. ν•˜μ§€λ§Œ 정적 뢄석 도ꡬ 인쀄은 λͺ°λžλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈ μ–Έμ–΄λ₯Ό 처음 배우고 vscode μ„€μΉ˜μ‹œ ν•„μˆ˜λ‘œ μ„€μΉ˜ν•˜λŠ” ν™•μž₯ν”„λ‘œκ·Έλž¨ 쀑 ν•˜λ‚˜ 인쀄 μ•Œμ•˜λŠ”λ° μ΄κ²ƒμ˜ μš©λ„κ°€ 정적 뢄석 λ„κ΅¬μ˜€λ‹€.

  • .vscode/settings.jsonνŒŒμΌμ— μ˜΅μ…˜μ„ μΆ”κ°€ν•΄λ³΄μ•˜λŠ”λ° 좩돌이 λ°œμƒν•˜λŠ”κ±° κ°™μ•„ μ œλŒ€λ‘œ μž‘λ™μ΄ μ•ˆλ˜κ³  μžˆλ‹€. μΆ”ν›„ 방법을 λ‹€μ‹œ μ°Ύμ•„λ΄μ•Όν•œλ‹€.

πŸ”— μ°Έκ³ 

Last updated