ํฐ์คํ ๋ฆฌ ๋ทฐ
ํ์ฌ๋ฅผ ๋ค๋๊ณ ํ์๋ค๊ณผ ๊ฐ์ด ์ผ์ ํ๊ฒ ๋๋ฉด์ ๋ง์ ๊ฒ๋ค์ ๋ฐฐ์ ๋ค. ์ํตํ๋ ๋ฒ๊ณผ ์ฝ๋๋ฅผ ๊ฐ๋ ์ฑ ์ข๊ฒ ์์ฑํ๋ ค๋ ๋ ธ๋ ฅ๋ค์ ์๊ฒ ๋์๋ค. python ์ฝ๋ฉ ์ปจ๋ฒค์ ์ ๋์์๋ ๊ฒ๋ ์์ง๋ง ๊ทธ ์ธ์๋ ์๋กญ๊ฒ ์๊ฒ๋ ๋ด์ฉ๋ค์ด ์์ด ์ ๋ฆฌํ ๊ฒธ ๊ธ์ ์ฐ๊ฒ ๋์๋ค.
Naming
- ํจ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋์ฌ ๋จผ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค. ๋ง์ผ property๋ผ๋ฉด ์ํฉ์ด ๋ฐ๋๊ฒ ์ง๋ง ์๋ฅผ ๋ค๋ฉด, eye_crop์ crop_eye๋ก ๋ฐ๊พธ๋ฉด ๋๋ค.
- class๋ ๋ช ์ฌํ ์ํค๋ ๊ฒ์ด ์ข๋ค. ์ฑ ์๋ ๋ง์ด ์ ํ์์ง๋ง camelcase๋ฅผ ๊ถ์ฅํ๋ค. ์์ ํจ์๋ฅผ class๋ก ๋ง๋ ๋ค๋ฉด EyeCropper๋ก ๋ง๋ค ์ ์๋ค.
- ์ฃผ๋ก github์ ์ ์ง์ฌ์ง ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ๋ค์ด๋ฐ ์์ด๋์ด๋ฅผ ์ป๋๋ฐ get, export, parse, generate, request ๋ฑ์ด ์์ฃผ ์ฌ์ฉ๋๋ค.
for๋ฌธ
๊ฐ๋ฅํ๋ฉด list comprehension์ผ๋ก. ๊ฐ๋ ์ฑ์ด ์ข๋ค. i ๊ฐ์ด ์๋ฏธ ์๋ ๋ณ์๋ ๊ฐ๋ฅํ๋ฉด ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฝ๋๋ฅผ ๋ดค์ ๋ ์ดํดํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ
# bad
for i in image_filepaths:
print(i)
# Good
for image_filepath in image_filepaths:
print(image_filepath)
ํจ์
์์๋ ๋๋ฌธ์๋ก ์ฌ์ฉํ๋๊ฒ ์ข๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฅํ๋ฉด ์์๋ ํจ์ ๋ด์์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค. ์ธ์๋ก ๋ฐ๊ฑฐ๋ ์ ์ญ๋ณ์๋ก ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํ๋ค. ๊ทธ ์ด์ ๋ ์์ ๊ฐ์ ๋ณ๊ฒฝํด์ผํ๋ ๊ฒฝ์ฐ ์ฝ๊ฒ ์ฐพ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ.
# Bad
def foo():
height = 100
width = 150
return width * height
# Good
def foo(height=100, width=150):
return width * height
์ฃผ์
์ฃผ์์ด ์์ด๋ ์ข์ ๋ณ์ ์ด๋ฆ์ ์ค์ ํ๋ ๊ฒ์ด ์ข๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฝ์์ ๋ ํจ์์ ์ญํ ์ด ๋ฌด์์ธ์ง ์์ธกํ ์ ์๋๋ก. ๋ง์ผ ์ธ๋ฑ์ฑ์ ํ๋ ๊ฒฝ์ฐ๋ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ๊ฐ๋จํ ์ด๋ค ์๋ฏธ์ธ์ง ์ฃผ์์ ๋ค๋ ๊ฒ์ ์ข์ ๋ฐฉ๋ฒ์ด๋ค. ํจ์์ ์์ฃผ ์ฌ์ฉํ๋ ์ฉ์ด๋ค์ด ์กด์ฌํ๋ค.
eye_list[0] # left_eye
class
์ด๋ค ๊ธฐ๋ฅ์ ๋ง๋ ๋ค๋ฉด class๋ก ๋ง๋ค์ด์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค. class๋ ํ๋์ ๋ฌธ์๋ผ๊ณ ์๊ฐํ๋ฉด ๋๊ณ ๊ทธ ์์ ํจ์๋ค์ class ์์์ ์ฌ์ฉ๋๋ ํจ์๋ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ ๊ฒ์ด ์ข๋ค. ๋ง์ผ ๋ค๋ฅธ ๊ณณ์์๋ ์ฌ์ฉ๋๋ค๋ฉด common์ด๋ utils๋ฅผ ๋ง๋ค์ด ์์ฃผ ์ฐ์ด๋ ํจ์๋ค์ ๋ชจ์๋๋ ๊ฒ์ด ์ข๋ค. ์ฝ๋ ๊ฐ๋ ์ฑ๋ ์ข๊ณ ํต์ผํํ๊ธฐ ์ฝ๋ค.
์ฝ๋ ๋ฆฌํฉํ ๋ง
ํ์ฌ์์ ๋ง์ด ์ ๊ฒฝ์ผ๋ ๋ถ๋ถ์ด๋ค. ์ฝ๋๋ฅผ ์ง๊ณ ๋์ ๋ค์ ๋ณด๋ฉฐ ํจ์จ์ ์ผ๋ก ์์ฑํ๋์ง, ๋ค์ด๋ฐ์ด ์ ๋งคํ ๊ฒ์ ์๋์ง, for๋ฌธ์ ๋จ๋ฐํ์ง ์์๋์ง ๋ฑ์ ์ดํด๋ณธ๋ค. ๋ฆฌ๋ทฐ์ด๊ฐ ๋์๋ค๋ ๋ง์์ผ๋ก ์์ ์ ์ฝ๋๋ฅผ ๋ณด๋ ๊ฒ์ด ์ค์ํ๋ค. ์ฒ์ ์ฝ๋ ๋ฆฌํฉํ ๋ง์ ํ๋ ๋น์ ๊ตฌ์กฐ๋ถํฐ ๋ค์ ์ง๋ ์ํฉ๋ ๊ฒช์๋๋ฐ ๊ทธ๋ ๊ฒ ๋ฆฌํฉํ ๋ง์ ๊ฑฐ์น๋ ์ฝ๋๊ฐ ๋ง์น ๋ด ์์์ฒ๋ผ ๋๊ปด์ง๋ ๊ทธ ํ๋ณต๊ฐ์ ์ ๋ง ์ต๊ณ ๋ค๐ ๋์ค์ด ๋๋ฉด ๋ด๊ฐ ๋ฆฌ๋ทฐํ๋ ๋ ๋ ์ค๊ฒ ์ง!!! ๋ง์ง๋ง์ผ๋ก ์์ฃผ ์ข์ 2๊ฐ์ ํด์ด ์๋ค. pylint์ black. ์ฝ๋๊ฐ ๋์๋๋ ๊ณณ์ ์๋์ง ํ์ค์ ๋ง๋์ง ๊ฒ์ฌํด์ฃผ๋ ํด๋ค์ด๋ค. PR ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๊ธฐ ์ ์ ๊ผญ ๋ฏธ๋ฆฌํด๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค. ๋๊ฐ์ ๊ฒฝ์ฐ๋ github action์์ ์๋์ผ๋ก ๊ฒ์ฌํด์ฃผ๋ ํ์ดํ๋ผ์ธ์ด ์ ์ฉ๋์ด ์์ด์ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด pushํ์ง ๋ชปํ๊ฒ ๋์ด์์๋ค.
์ง๊ธ๊น์ง ๋ฐฐ์ด ๊ฒ์ ์ด๊ฒ ์ ๋ถ์ด๋ค. ๋ ๋ง์ ๊ฒ์ ์์์ผํ๊ฒ ์ง๋ง ์ง๊ธ๊น์ง ๋ด๊ฐ ๋ฐฐ์ด ๊ฒ๋ค์ด ๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋์์ผ๋ฉด ํ๋ค.
'๐ป Dev' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฏ [Git] merge๋์ง ์์ ์์ค์ฝ๋ pullํ๊ธฐ (0) | 2024.04.17 |
---|---|
๐ฃ๏ธ vscode์์ jupyter pythonpath ์ค์ ํ๊ธฐ (0) | 2024.04.17 |
โ๏ธ jupyter notebook autoreloadํ๊ธฐ (0) | 2024.04.08 |
๐ python ๋ณ๋ ฌ์ฐ์ฐ(multiprocessing) ์ฌ์ฉํ๊ธฐ (0) | 2024.04.03 |
๐ tmux ์ฌ์ฉ๋ฒ (0) | 2024.04.03 |
- linux
- ์ฑ ๋ฆฌ๋ทฐ
- Computer Vision
- ๊ฐ๋ฐ์
- Generative Model
- vscode
- ๊ธ๋
- GIT
- ๋จธ์ ๋ฌ๋ ์ด๋ก
- ๋ ํ๊ฐ
- tmux
- python
- ๋ฒ ์ด์ฆ ์ ๋ฆฌ
- Multiprocessing
- ํ๊ณ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Total
- Today
- Yesterday