[Python] lint: pylint

pylint๋Š” ํŒŒ์ด์ฌ ํ™˜๊ฒฝ์˜ ๋Œ€ํ‘œ์ ์ธ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ด€๋ฆฌ ๋„๊ตฌ, lint ์ค‘ ํ•˜๋‚˜๋‹ค.
์ด๊ฒŒ VSCode ๊ธฐ๋ณธ ์ถ”์ฒœ ๋„๊ตฌ์ด๊ธด ํ•œ๋ฐ, ๋”ฑํžˆ ํ‘œ์ค€์€ ์•„๋‹ˆ๊ณ , ๋Œ€์•ˆ์€ ๋งŽ๋‹ค.

๋ฆฐํŠธ ์˜ต์…˜์ด ๋‹ค์–‘ํ•œ ํŽธ์€ ์•„๋‹ˆ๊ณ , ํฌ๋งคํ„ฐ์™€์˜ ํ†ตํ•ฉ์ด ์žˆ๋‚˜...? ์—†๋Š”๊ฑฐ๊ฐ™๋‹ค.

python ๋ฆฐํŠธ ํ™˜๊ฒฝ ์ค‘์—์„œ ๊ฐ€์žฅ ๋А๋ฆฐ ์†๋„๋ฅผ ์ž๋ž‘ํ•œ๋‹ค.

์ด๊ฒŒ ๋งŽ์ด ์“ฐ์ด๋Š” ์ด์œ ๊ฐ€ ๋”ฑํžˆ ์™„์„ฑ๋„๊ฐ€ ์ข‹์•„์„œ๋Š” ์•„๋‹Œ๊ฑฐ๊ฐ™๋‹ค.

์„ค์น˜ ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜๋‹ค.

# pip
pip install pylint

# uv 
uv pip install pylint




๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• (CLI)

์ด๋Ÿฐ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด

def GetFibonacciNumber(n):
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    else:
        return GetFibonacciNumber(n-1) + GetFibonacciNumber(n-2)

# Example usage
if __name__ == "__main__":
    num = 10
    print(f"Fibonacci number at position {num} is {GetFibonacciNumber(num)}")

pylint๋ฅผ ์‹คํ–‰ํ• ๋•Œ, ๋ฆฐํŠธ๋ฅผ ๋Œ๋ฆด ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ๋„˜๊ฒจ์ฃผ๋ฉด ๋œ๋‹ค.

uv run -m pylint ./main.py

๊ทธ๋Ÿฌ๋ฉด ์ด๋Ÿฐ์ €๋Ÿฐ ์ž”์†Œ๋ฆฌ์™€ ํ•จ๊ป˜ ์ ์ˆ˜๋ฅผ ๋งค๊ฒจ์„œ ๋ณด์—ฌ์ค€๋‹ค.


์ž”์†Œ๋ฆฌ๋Œ€๋กœ ๋งž์ถฐ์ฃผ๋ฉด ์ด๋ ‡๊ฒŒ ๋‹ค์‹œ ์งค ์ˆ˜ ์žˆ๊ณ 


๋งŒ์ ์ด ๋  ๊ฒƒ์ด๋‹ค.

ํŒŒ์ผ ๊ฒฝ๋กœ์—๋Š” ์™€์ผ๋“œ์นด๋“œ๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด๋Ÿฌ๋ฉด ํ˜„์žฌ ๊ฒฝ๋กœ์˜ ๋ชจ๋“  ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ์ฐพ์•„์„œ ๋ฆฐํŠธ๋ฅผ ๋Œ๋ฆฌ๊ณ 


์ด๋Ÿฌ๋ฉด ํ˜„์žฌ ๊ฒฝ๋กœ์™€ ํ•˜์œ„ ๊ฒฝ๋กœ์˜ ๋ชจ๋“  ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ์ฐพ์•„์„œ ๋Œ๋ฆฐ๋‹ค.




๋ฆฐํŠธ ๊ทœ์น™ ๊ด€๋ฆฌ (pylintrc)

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

๊ทธ๋Ÿผ ์‹คํ–‰ํ• ๋•Œ ํ˜„์žฌ ๊ฒฝ๋กœ์˜ rc ํŒŒ์ผ์„ ์ž๋™์œผ๋กœ ์ธ์‹ํ•ด์„œ ๋ถ„์„์„ ํ•ด์ค€๋‹ค.

๊ทœ์น™ ์„ค์ •๊ฐ’ ํ…œํ”Œ๋ฆฟ์€ ์—ฌ๊ธฐ์„œ
https://github.com/pylint-dev/pylint/blob/main/examples/pylintrc
๊ฐ ์„ค์ •์— ๋Œ€ํ•œ ์˜๋ฏธ๋Š” ์•„๋ž˜ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
https://pylint.readthedocs.io/en/stable/user_guide/configuration/all-options.html




์—๋””ํ„ฐ ์ ์šฉ: VSCode

VScode์—์„œ๋Š” ํ™•์žฅ์„ ํ†ตํ•ด ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿผ ์•Œ์•„์„œ ์ž˜ ํ‘œ์‹œํ•ด์ค„ ๊ฒƒ์ด๋‹ค.