Clean Code
์ฃผ์ ๋ด์ฉ
์์ผ๋ฉด ์๋๋ ๊ฒ ์์ฃผ๋ก
๊ฐ๋
์ฑ
private ๋ฉ์๋ -> ์์์ ๋ง๊ฒ ์ฝํ ์ ์๊ฒ ๋ฐฐ์น
์นด๋ฉ์ผ์ด์ค
์๋ฐ ์ปจ๋ฒค์
๋ฉ์๋๋ ํ๋์ ๊ธฐ๋ฅ๋ง
์ค๋ณต ์ง์ -> ๋ฉ์๋ํ
๋ฉ์๋ํ -> ํด๋์คํ
ํ๋๋ ์ฐ๊ด๋ ๋ด์ฉ์ผ๋ก ๊ธฐ์ -> ๋ด๋ถ์์ง๋ ๋๊ฒ, ํด๋์ค๊ฐ ๊ฒฐํฉ๋ ๋ฎ๊ฒ
SOLID
SRP : ๋จ์ผ์ฑ ์์์น
ํ ํด๋์ค๋ ํ๋์ ์ฑ ์์ ๊ฐ์ ธ์ผํ๋ค.
์ฆ,
์์ ์ฌํญ์ด ๋ฐ์์
ํํด๋์ค๋ด์์ ์ฑ ์์ ์ ธ์ผํ๊ณ , ๋ค๋ฅธ ํด๋์ค์์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ด์ผ ํ๋ค
OCP : ๊ฐ๋ฐฉํ์์์น
ํ์ฅ์๋ ์ด๋ ค์๊ณ , ๋ณ๊ฒฝ/์์ ์๋ ๋ซํ ์์ด์ผํ๋ค.
LSP : ๋ฆฌ์ค์ฝํ ์นํ ์์น
ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด๋ ํ๋ก๊ทธ๋จ์ ์ ํ์ฑ์ ๊นจ๋จ๋ฆฌ์ง ์์ผ๋ฉด์ ํ์ ํ์ ์ ์ธ์คํด์ค๋ก ๋ฐ๊ฟ ์ ์์ด์ผํ๋ค.
๋คํ์ฑ, ์ถ์ํ๋ฑ๊ณผ ๊ด๋ จ
ISP : ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น
์ธํฐํ์ด์ค๋ฅผ ๋ชจ๋ํ
์๊ฒ ๋ถ๋ฆฌํ์ฌ ์ฌ๋ฌ ์ธํฐํ์ด์ค๋ฅผ implement ํ ์ ์๋ ์์คํ ์ผ๋ก ๊ตฌ์ถ
DIP : ์์กด๊ด๊ณ ์ญ์ ์์น
์ถ์ํ๋ ํ(์ธํฐํ์ด์ค)์ ์์กดํด์ผํจ. ๊ตฌํ์ฒด์ ์์กดํด์๋ ์๋จ
๊ณ ์์ค ๋ชจ๋๊ณผ ์ ์์ค ๋ชจ๋์์ ๊ณ ์์ค -> ์ ์์ค์ ์์กดํ๋๊ฒ ํ๋ฆ์ ๋ง์ผ๋ ์ด๋ ๊ฒ ํ๋ฉด ์์กด์ฑ์ด ์ฌ๋ผ๊ฐ์ฌ ํ์ฅ์ฑ์ด ๋จ์ด์ง
๊ณ ์์ค์์ ์ธํฐํ์ด์ค ๋ฑ ์ถ์ํ ์ ๊ณต -> ์ ์์ค์์ ์ธํฐํ์ด์ค ๊ตฌํํ์ฌ ํ์ฅ์ฑ์ ๊ฐ๋๋ก ์ ์ฐํ ์ค๊ณ๋ฅผ ํ๊ธฐ ์ํ ์์น
DRY
Don't Repeat Yourself : ๋ฐ๋ณต์ ์ต์ํ.์ค๋ณต ์ ๊ฑฐ
KISS
Keep it short and simple : ๋จ์ํจ์ ์ ์งํด๋ผ.
Last updated
Was this helpful?