πŸͺŸ 5μž₯ ν˜•μ‹ λ§žμΆ”κΈ°

κΉ€μ’…μ™„Β·2023λ…„ 4μ›” 29일
1

CleanCode

λͺ©λ‘ 보기
3/6

ν˜•μ‹μ„ λ§žμΆ”λŠ” λͺ©μ 

였늘 κ΅¬ν˜„ν•œ κΈ°λŠ₯은 μ‹œκ°„μ΄ μ§€λ‚˜λ©΄μ„œ λ³€ν•˜κ²Œ 될 수 μžˆλ‹€. 였늘 μž‘μ„±ν•œ μ½”λ“œλŠ” μ•žμœΌλ‘œ μœ μ§€λ³΄μˆ˜ν•  μ½”λ“œμ˜ ν’ˆμ§ˆμ— μ§€λŒ€ν•œ 영ν–₯을 λ―ΈμΉ  수 μžˆλ‹€. 였랜 μ‹œκ°„μ΄ μ§€λ‚˜ μ›λž˜ μ½”λ“œμ˜ 흔적을 더 이상 찾아보기 μ–΄λ €μšΈ μ •λ„λ‘œ μ½”λ“œκ°€ λ°”λ€Œμ–΄λ„ 맨 처음 μž‘μ•„λ†“μ€ κ΅¬ν˜„ μŠ€νƒ€μΌκ³Ό 가독성 μˆ˜μ€€μ€ μœ μ§€λ³΄μˆ˜ 용이 및 ν™•μž₯성에 계속 영ν–₯을 λ―ΈμΉœλ‹€.

μ μ ˆν•œ ν–‰ 길이λ₯Ό μœ μ§€ν•˜λΌ

클린 μ½”λ“œ μ±…μ—μ„œλŠ” λŒ€λ‹€μˆ˜μ˜ μ½”λ“œ 파일이 200쀄 미만이라고 ν•œλ‹€. μ΄λŠ” λŒ€λΆ€λΆ„ 200쀄 을 λ„˜μ–΄μ„œκ³  심지어 수천 쀄이 λ„˜μ–΄κ°€λŠ” νŒŒμΌλ„ μžˆλ‹€λŠ” μ˜λ―Έμ΄λ‹€.

μ‹ λ¬Έ κΈ°μ‚¬μ²˜λŸΌ μž‘μ„±ν•˜λΌ

μ‹ λ¬Έ κΈ°μ‚¬μ˜ 첫 문단은 전체 기사 λ‚΄μš©μ„ μš”μ•½ν•œλ‹€. μ„Έμ„Έν•œ 사싀은 숨기고 μ»€λ‹€λž€ 그림을 보여쀀닀. μ­‰ 읽으며 λ‚΄λ €κ°€λ©΄ μ„Έμ„Έν•œ 사싀이 μ‘°κΈˆμ”© λ“œλŸ¬λ‚œλ‹€. λ‚ μ§œ, 이름, λ°œμ–Έ, μ£Όμž₯, 기타 μ„ΈλΆ€ 사항이 λ‚˜μ˜¨λ‹€. ν•΄λ‹Ή λ‚΄μš©μ€ μ½”λ“œλ„ 글을 μ½λŠ” κ²ƒμ²˜λŸΌ 읽힐 수 μžˆλ„λ‘ ν•˜μžλŠ” 의미둜 해석할 수 μžˆλ‹€.

κ°œλ…μ€ 빈 ν–‰μœΌλ‘œ λΆ„λ¦¬ν•˜λΌ

생각 μ‚¬μ΄λŠ” 빈 행을 λ„£μ–΄ λΆ„λ¦¬ν•œλ‹€. 빈 행은 μƒˆλ‘œμš΄ κ°œλ…μ„ μ‹œμž‘ν•œλ‹€λŠ” μ‹œκ°μ  λ‹¨μ„œμ΄λ‹€. μ½”λ“œκ°€ 짧으면 상관없을 수 μžˆμ§€λ§Œ μ½”λ“œκ°€ κΈΈμ–΄μ§ˆμˆ˜λ‘ 빈 ν–‰μ˜ ꡬ뢄이 μ—†μœΌλ©΄ λ‚΄μš©μ΄ λˆˆμ— λ“€μ–΄μ˜€μ§€ μ•ŠλŠ”λ‹€.

μ„Έλ‘œ 밀집도

μ„œλ‘œ λ°€μ ‘ν•œ μ½”λ“œ 행은 μ„Έλ‘œλ‘œ κ°€κΉŒμ΄ 놓아야 ν•œλ‹€.

수직 거리

λ³€μˆ˜λŠ” μ‚¬μš©ν•˜λŠ” μœ„μΉ˜μ— μ΅œλŒ€ν•œ κ°€κΉŒμ΄ μ„ μ–Έν•œλ‹€.

반면, μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λŠ” 클래슀 맨 μ²˜μŒμ— μ„ μ–Έν•œλ‹€. λ³€μˆ˜ 간에 μ„Έλ‘œλ‘œ 거리λ₯Ό 두지 μ•ŠλŠ”λ‹€. λ°˜λ“œμ‹œ 클래슀 맨 μ²˜μŒμ— μ„ μ–Έν•˜μ§€ μ•Šλ”λΌλ„ μ½”λ“œλ₯Ό μ½λŠ” μ‚¬λžŒλ“€μ΄ λ³€μˆ˜ 선언이 어디에 μžˆλŠ”μ§€λŠ” μ•Œ 수 μžˆμ–΄μ•Ό ν•œλ‹€.

쒅속 ν•¨μˆ˜, ν•œ ν•¨μˆ˜κ°€ λ‹€λ₯Έ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•œλ‹€λ©΄ 두 ν•¨μˆ˜λŠ” μ„Έλ‘œλ‘œ κ°€κΉŒμ΄ λ°°μΉ˜ν•œλ‹€. λ˜ν•œ κ°€λŠ₯ν•˜λ‹€λ©΄ ν˜ΈμΆœν•˜λŠ” ν•¨μˆ˜λ₯Ό ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ³΄λ‹€ λ¨Όμ € λ°°μΉ˜ν•œλ‹€. 그러면 ν”„λ‘œκ·Έλž¨μ΄ μžμ—°μŠ€λŸ½κ²Œ μ½νžŒλ‹€.

κ°œλ…μ  μœ μ‚¬μ„±μ΄ 높은 μ½”λ“œλ₯Ό κ°€κΉŒμ΄ λ°°μΉ˜ν•˜λΌ

public class Assert {
	static public void assertTrue(String message, boolean condition) {
		if(!condition)
			fail(message);
	}

	static public viod assertTrue(boolean condition) {
		assertTrue(null, condition);
	}

	static public void assertFalse(String message, boolean condition) {
		assertFalse(message, !condition);
	 }

	static public void assertFalse(boolean condition) {
		assertFalse(null, condition);
	}
...

예λ₯Ό λ“€λ©΄ μœ„ assert 클래슀 λ‚΄λΆ€μ˜ λ©”μ†Œλ“œλ“€μ€ μœ μ‚¬μ„±μ΄ 맀우 λ†’λ‹€. λͺ…λͺ…법이 λ˜‘κ°™κ³  κΈ°λ³Έ κΈ°λŠ₯이 μœ μ‚¬ν•˜λ‹€λŠ” νŠΉμ§•μ΄ μžˆλ‹€.

κ°€λ‘œ ν˜•μ‹ λ§žμΆ”κΈ°

ν•œ ν–‰μ˜ κ°€λ‘œ κΈΈμ΄λŠ” μ–΄λŠ 정도가 μ λ‹Ήν•œκ°€? 사싀 이 뢀뢄은 λ‚˜μ˜ 경우 28인치 λͺ¨λ‹ˆν„°μ— μ–‘μ˜†μœΌλ‘œ μ½”λ“œ editorλ₯Ό 2개 λ„μ›Œλ†“κ³  μ½”λ“œκ°€ μ λ‹Ήνžˆ μ°¨λ©΄ 쀄 λ°”κΏˆμ„ ν•˜κ±°λ‚˜ κ°€λ‘œ 길이λ₯Ό μ€„μ΄λŠ” 방법을 μ°Ύκ³€ ν–ˆμ—ˆλ‹€. 책을 μ½μ–΄λ³΄λ‹ˆ ν•΄λ‹Ή λ°©μ‹λŒ€λ‘œ κ°€λ©΄ 되고 120자 μ •λ„λ§Œ λ„˜μ§€ μ•Šκ²Œ μž‘μ„±ν•˜λΌκ³  μΆ©κ³  ν•΄μ€€λ‹€.

profile
κ°œλ°œμ— 재미λ₯Ό 느끼며 κΎΈμ€€νžˆ μ„±μž₯ν•˜λŠ” 개발자 κΉ€μ’…μ™„ μž…λ‹ˆλ‹€.

0개의 λŒ“κΈ€