본문 바로가기
IT지식/Web, Server

[Web] 개발의 원칙들 : KISS, YAGNI, DRY에 대해 공부해보자

by five-sun 2022. 12. 24.
728x90

소프트웨어를 개발하기 위해서 필수로 알아야할 3가지의 원칙들이 있다고 한다. 이를 공부해보자.

 

DRY - Don't Repeat Yourself 이란?

똑같은 일을 두번하지 않는다는 의미로 중복되는 함수나 코드는 하나의 공통의 컴포넌트에 넣고 사용한다는 의미이다.

시스템이 소규모일때는 복잡도가 크지 않기 때문에 프로그램을 이해하기가 수월한 반면 시스템이 커지고 개념도 많아지면 복잡도가 기하급수적으로 높아지게 된다. 이런 시스템에서 복잡도를 최대한 줄여야 개발 및 유지보수비용이 절감이 된다.

특정 코드를 여러번 복사하고 붙여넣기 한 경우, 같은 문제로 여러 곳을 수정해야하는 문제가 발생할 수도 있다.

DRY를 위반한 것을 WET(We Enjoy Typing)이라고 한다. 

 

KISS - Keep it simple, stupid 이란?

단순하게 하라는 의미이다. 즉 큰 프로젝트를 단순하게 디자인 하지 못하고 복잡하게만 구현을 한다는 것은 프로젝트를 제대로 이해하지 못했다는 증거이다. 프로젝트가 진행되기 전에 최대한 기반 배경과 추진되는 목적 자체를 이해하고 어떻게 구현을 단순화하고 알기 쉽게 설계할 수 있을지 회의를 해서 개선해야 한다.

 

YAGNI - You Ain't Gonna Need it 이란?

정몰 필요할 때까지 그 기능을 만들지 말라는 의미이다. 현재 필요하지 않지만 향후에 필요 가능성을 대비해서 미리 함수나 코드를 작성하지 말고 지금 필요한 기능만 추가해야한다. 미리 필요없는 기능을 추가해두면 코드 자체가 길어지기 때문에 분석 자체가 더 어려워지며 버그가 발생할 가능성이 커진다.

 

#이러한 원칙들만 잘 지켜고 개발자의 야근이 줄어든다고 하니 꼭 알아두어겠다!

 

출처: https://code.tutsplus.com/tutorials/3-key-software-principles-you-must-understand--net-25161

 

3 Key Software Principles You Must Understand

If you're in software development, new techniques, languages and concepts pop up all of the time. We all feel those nagging doubts every now and then: "can I keep up with the changes and stay...

code.tutsplus.com

 

728x90