경험정리

프로그래머라면 알아야 할 격언 5가지

조드래곤나인 2024. 1. 18. 09:00

 

1 KISS(Keep It Simple, Stupid / Keep It Short and Simple)

 

코드를 작성할 때 최우선 가치를 단순성과 간결성에 둬야 한다는 격언입니다.

 

복잡한 코드는 읽기 어렵고 수정하기 어렵습니다.

 

코딩 중에도 코드가 동작할 수 있는 가장 간단한 방법은 무엇인지 항상 질문을 던져야 합니다.

 

복잡함으로 향하는 상황

1 새롭게 배운 기술을 사용하고 싶을 때

2 장래의 필요에 대비하고 싶을 때

3 멋대로 요구사항을 추가할 때

 

 

2 YAGNI(You Aren't Going to Need it)

확장성을 고려해서 넣은 설계라도 예상은 대부분 빗나갑니다.

 

빗나간다는 것은 거기에 들인 시간이 낭비되었고 버려진다는 의미입니다.

 

범용성보다는 단순성을 생각해야 합니다.

 

범용성이 가져다주는 재사용성이나 확장성도 좋지만, 그보다 우선 사용할 수 있는 기능을 만드는데 가치를 둬야 합니다.

 

 

3 DRY(Don't Repeat Yourself)

똑같은 코드를 여러 군데 있으면 모든 곳을 정확하게 수정하지 않은 이상 정상 동작을 보장할 수 없습니다.

 

함수화, 모듈화, 상수화를 통해 똑같은 코드를 작성하는 문제를 해결해야 합니다.

 

디자인 패턴은 같은 문제를 몇 번씩 반복해서 해결하는 "사고의 중복"을 해결하는 기법이라고 할 수 있습니다.

 

 

4 OCP(Open Closed Principle)

 

코드는 확장에 열려 있고 수정에 닫혀 있는 "2가지 속성"을 동시에 충족하도록 설계해야 한다는 격언입니다.

 

확장에 대해서 열려 있다는 의미는 코드의 동작을 확장할 수 있어야 한다는 의미입니다.

 

수정에 대해서 닫혀 있다는 의미는 코드의 동작을 확장하더라도 그 밖의 코드는 영향을 전혀 주지 않는다는 의미입니다.

 

코드가 2가지 속성을 동시에 충족한다면 기존 코드에 영향을 주지 않고 기능을 확장할 수 있습니다.

 

 

5 PIE(Program Intently and Expressively)

 

코드를 작성할 때는 의도를 명확하게 표현해야 한다는 격언입니다.

 

애플리케이션의 동작을 파악하려면 코드를 읽는 수밖에 없습니다.

 

따라서 이해하기 쉬운 코드를 작성해서 코드로 의도를 표현해야 합니다.

 

주석이 없어도 읽을 수 있는 이해하기 쉬운 코드를 작성하는 것이 이상적입니다.

 

다만 코드는 언제까지다 "무엇을 하는지"와 "어떻게 하는지"밖에 표현하지 못합니다.

 

즉, "왜 하는지"를 표현하려면 주석을 사용할 필요가 있습니다.

 


 

 

The Next Web Research Lab

Take a handful of knowledge from the simple FE tech blog!

the-next-web-research-lab.github.io

 

728x90