์๋ฐ ์ฝ๋ฉ ์ปจ๋ฒค์ ์ด๋?
: ์๋ฐ ์ฝ๋ฉ ์ปจ๋ฒค์ ์ ์๋ฐ ์ฝ๋๋ฅผ ์์ฑํ ๋ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๊ฐ๋ ์ฑ์ ๋์ด๊ธฐ ์ํด ๋ฐ๋ฅด๋ ์ผ๋ จ์ ๊ท์น
์ด๋ฌํ ๊ท์น์ ํ๋ก์ ํธ ํ์ด๋ ์กฐ์ง์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ ์ฉ๋์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ช ๊ฐ์ง ๊ธฐ๋ณธ์ ์ธ ์๋ฐ ์ฝ๋ฉ ์ปจ๋ฒค์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ฆฌํ ์ ์์!
๋ช ๋ช ๊ท์น (Naming Conventions)
- ํด๋์ค ์ด๋ฆ: ๋๋ฌธ์๋ก ์์ํ๊ณ ๋ช ์ฌ๋ก ์์ฑ. ์: MyClass, Customer.
- ๋ฉ์๋ ์ด๋ฆ: ์๋ฌธ์๋ก ์์ํ๊ณ ๋์ฌ๋ก ์์ฑ. ์: getData, setAge.
- ๋ณ์ ์ด๋ฆ: ์๋ฌธ์๋ก ์์ํ๋ฉฐ, ์ฌ๋ฌ ๋จ์ด๊ฐ ์๋ ๊ฒฝ์ฐ camelCase๋ฅผ ์ฌ์ฉ. ์: firstName, customerList.
- ์์ ์ด๋ฆ: ๋ชจ๋ ๋๋ฌธ์๋ก ์์ฑํ๋ฉฐ, ๋จ์ด ๊ฐ์๋ ๋ฐ์ค(_)๋ก ๊ตฌ๋ถ. ์: MAX_VALUE, DEFAULT_SIZE.
๋ค์ฌ์ฐ๊ธฐ (Indentation)
: ์ผ๋ฐ์ ์ผ๋ก ๊ณต๋ฐฑ 4๊ฐ ๋๋ ํญ 1๊ฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ํจ.
์ค๊ดํธ (Braces)
: ์ค๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋ ๋ธ๋ก์ ์์ฑํ ๋ ์ผ๋ฐ์ ์ผ๋ก K&R ์คํ์ผ์ด๋ Allman ์คํ์ผ ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์ฌ์ฉํจ.
- K&R ์คํ์ผ: ์ฌ๋ ์ค๊ดํธ๊ฐ ๋ฉ์๋๋ ์ ์ด ๊ตฌ์กฐ์ ๊ฐ์ ์ค์ ์์.
if (condition) {
// code block
}
- Allman ์คํ์ผ: ์ฌ๋ ์ค๊ดํธ๊ฐ ๋ฉ์๋๋ ์ ์ด ๊ตฌ์กฐ์ ๋ค๋ฅธ ์ค์ ์์.
if (condition)
{
// code block
}โ
์ฃผ์ (Comments)
- ์ฝ๋๋ฅผ ์ดํดํ๋ ๋ฐ ํ์ํ ์ฃผ์์ ์์ฑํ๋, ๊ณผ๋ํ ์ฃผ์์ ํผํ๊ธฐ
- ๋ฉ์๋์ ํด๋์ค์ ๋ํ ์ค๋ช ์ Javadoc ์คํ์ผ๋ก ์์ฑ
์ต๋ ์ค ๊ธธ์ด (Maximum Line Length)
: ํ ์ค์ ์ฝ๋๋ ์ต๋ 80~120์๋ฅผ ๋์ง ์๋๋ก ์์ฑ
๊ณต๋ฐฑ (Whitespace)
- ์ฐ์ฐ์ ์ฃผ๋ณ์ ๊ณต๋ฐฑ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ ์ฑ ๋์ด๊ธฐ. ์: a + b, c * d.
- ์ผํ, ์ธ๋ฏธ์ฝ๋ก ๋ค์ ๊ณต๋ฐฑ์ ์ฌ์ฉ. ์: int[] numbers = {1, 2, 3};