Clean Code Form
Form
1.Coding Standards
๋ณ๋์ ๋ฌธ์์ coding standards๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ถ์ฒํ์ง ์๋๋ค.
์ฝ๋ ์์ฒด๊ฐ coding standards๊ฐ ๋์ด์ผ ํ๋ค.
์ปค๋ฉํธ๋ ์ฝ๋์ ๋์์๋ ๋ด์ฉ์ ์ ์ผ๋ฉด ๊ฒฐ๊ตญ ์๋ฏธ๊ฐ ์๋ ์ปค๋ฉํธ๋ผ ์๊ฐํ๊ณ ๋ ์๋ค์ ์ฝ์ง ์๊ฒ๋๋ค.
์ ์ ํ์ํ ์ปค๋ฉํธ๋ฅผ ์์ฑํ๋๋ฐ๋ ์๋ฌด๋ ๋ณด์ง์๊ฒ๋๋ ๋ถ์์ฌ๊ฐ ์ผ์ด๋๊ฒ ๋๋ค.
2.Comments are Failures
์ฆ ์ปค๋ฉํธ๋ฅผ ๊ผญ ํ์ํ ๋ด์ฉ์์๋ง ์์ฑํด์ผํ๋๋ฐ ๊ณผ๊ฑฐ Assembly์ธ์ด๋ค์ ํํ๋ ฅ์ด ๋ค์ ๋จ์ด์ก๋ ์ธ์ด๋ค์ด์๋ค ์ง๊ธ์ ๋๋ถ๋ถ์ ์ธ์ด๊ฐ ๋ฐ์ด๋๊ฒ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ์ข์ ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ ๋ ธ๋ ฅ์ ๋ ํ๋๊ฒ์ด ๋ฐ๋์งํ๋ค.
3.Good Comments
๊ผญ ์์ฑํด์ผํ๋ ์ปค๋ฉํธ ์ข ๋ฅ
- Legal Comments(๋ฒ์ )
- informative Comments(์ ๋ณด)
- ์ ๋ ฅํด์ผ๋๋ ๋ ์ง ํฌ๋ฉง์คํธ๋ง, ํ์๋ฑ
- Warning of Consequences(๊ฒฝ๊ณ ๋ฌธ)
- ํ ์คํธ๋ฅผ ํ๋๋ฐ ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฌ๋ฉด, ์ปค๋ฉํธ๋ก ๊ฒฝ๊ณ ๋ฅผ ์ค
- TODO Comments(ํด์ผํ ์ผ, ๊ด๋ฆฌํ ์ผ)
- Public API DOC(๊ณต๊ฐ์ ์ธ ๋ฌธ์๋ค)
์์ ๊ณตํต์ ์ธ ๊ฒ๋ค์ ์ฌ์ฉ์๋ค์ด ์๋ฉด ์์ฑ์์๊ฒ ๊ฐ์ฌํ ๊ฒ๋ค์ด๋ค. ์ด๋ฐ ๋ด์ฉ๋ค์ ์ปค๋ฉํธ๋ก ์์ฑํด์ผ ํ๋ค.
4.Bad Comments
๋ฐ๋๋ก ์ ์ผ๋ฉด ์๋๋ ์ฝ๋ฉํธ๋ ์๋ค.
- Mumbling
- ๋ง์ด ๊ณ์ ์ด์ด์ง๋ ํ์์๋ ์ ๋ณด๋ค
- Redundant Explanations
- ์ฝ๋๋ง ๋ด๋ ์์ ์๋ ๋ด์ฉ๋ค
- Mandated Redundancy
- ํจ์์๋ํด(์ ์ถ๋ ฅ) ๋ค์ ์ปค๋ฉํธ๋ก ์๋ ค์ค
- Journal Comments
- ์์ฑ, ๋ณ๊ฒฝ ์ ๋ณด(ํ์๊ด๋ฆฌ)
- Noways Comments
- ์์๋ก ์๋ฌด๊ฒ๋ ์๋ ์์ฑ์์ default constructor๋ผ๊ณ ๋ค์ ์๋ ค์ฃผ๋ ์ปค๋ฉํธ
- Big Banner Comments
- ๊ด๊ณ ๊ฐ์ด ์๋ณด์ด๋ผ๊ณ ์์ฑํ๋ ์ปค๋ฉํธ
- Closing Brace Comments
- ๋ฒ์์ ์์๊ณผ ๋์ ์์ฑ(๊ธฐ๋ณธ IDE์์ ์ ๊ณต)
- Attribution Comments
- ์์ฑ์ ์ปค๋ฉํธ
- HTML in Comments
- Non-Local In Information
- ๊ด๋ จ์๋ ์ฝ๋์ ๋๋จ์ด์ง๊ณณ์ ์์ฑ
5.Vertical Formatting
๊ณต๋์ ๋ง๊ตฌ์ก์ด ์์ผ๋ก ์ฌ์ฉํ์ฌ ๋ ์๋ค์๊ฒ ํผ๋์ ์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ด ์กด์ฌํ๋ค.
์๋๋ ์ ์๊ฐ ์ฝ๋์์ ๊ณต๋ ํ๊ธฐ๋ฅผ ์ถ์ฒํ๋ ๋ถ๋ถ์ด๋ค.
- ๋ฉ์๋ ์ฌ์ด
- private, public ๋ณ์๋ค ์ฌ์ด
- ๋ณ์ ์ ์ธ, ๋ฉ์๋ ์คํ์ ๋๋จธ์ง ๋ถ๋ถ์ฌ์ด
- if, while ๋ธ๋ก๊ณผ ๋ค๋ฅธ ์ฝ๋ ์ฌ์ด
๊ด๋ จ๋ ๋ถ๋ถ๋ค์ ํ๊ณณ์ ๊ฐ์ด ๋๋๋ ๊ฒ๋ ์ค์ํ ํฌ์ธํธ์ด๋ค.
6.Classes
์์ ๊ณ์ ๋งํ๋ ๊ฒ์ฒ๋ผ ๊ฐ์ฒด๊ฐ์ ์์กด์ฑ์ ๋ฎ์ถฐ์ผํ๋ค.
ํด๋์ค๋ private ๋ณ์๋ค์ public ํจ์๋ก ์กฐ์ํ๊ณ , private ๋ณ์๋ ์ธ๋ถ์์ ์กด์ฌํ๋์ง ์กฐ์ฐจ ๋ชฐ๋ผ์ผํ๋ค.
๊ทธ๋ ๊ธฐ์ getter, setter, property๋ฑ์ ์ ๊ณตํ๋ ๊ฒ์ ๋์ ์ค๊ณ๋ค.
๊ฐ์ฒด์งํฅ์์ ๊ฐ์ฅ ์ค์ํ ๊ฐ๋ ์ธ โ์์กด์ฑ์ ๋ฎ๋, ๊ฒฐํฉ๋๋ ๋์ํ๋คโ๋ฅผ ์งํค๋ ค๋ฉด getter, setter๋ ์ข์ง ์์ ์ฝ๋๋ค. getter, setter๋ 10๊ฐ์ ๋ณ์๊ฐ ์๋ค๋ฉด 1๊ฐ์ฉ ๋ฐ์ ์ฌ์ฉํ์ง ์๋๋ค.
๊ทธ๋ ๋ค๊ณ getter๋ฅผ ์ฌ์ฉํ์ง ์์ ์๋ ์๊ธฐ์, ์ถ์ํ ๊ฐ๋ ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
gallonsOfGas๋ณ์๋ฅผ getPercentFuelRemaining()ํจ์๊ฐ ์ ๊ทผํ์ง๋ง ์ฌ์ฉ์์ ์ ์ฅ์์๋ ์์๊ฐ ์๋ค. ์ด๊ฒ์ด ๋คํ์ฑ์ ์ง์ํ๋ ์ข์ ์ฝ๋์ด๋ค.
์ฐธ์กฐ
- ๋ฐฑ๋ช ์์ ํด๋ฆฐ์ฝ๋ Youtube ๊ฐ์ข