소프트웨어 개발 3대 원칙

bbio3o·2021년 4월 12일
51

👩‍💻 노트

목록 보기
4/5
post-thumbnail

DRY (Don't Repeat Yourself)
: 반복하지 마라

  • 반복하지 말라.
  • 같은 기능의 같은 코드가 중복되어 있다면 하나의 기능으로 만들어 사용하라. (Ctrl + C / Ctrl + V 금지!!!)
  • 반복되는 코드를 모두 찾아서 수정해야하므로 실수 혹은 버그 발생의 원인이 될 수 있다.
  • 소스코드 뿐만 아니라 요구사항, 문서, DB 등에 적용될 수 있는 원리이다.

소스 코드에서 동일한 코드가 반복이 된다는 것은 잠재적인 버그의 위협을 증가시킨다. 반복되는 코드 내용이 변경될 필요가 있는 경우, 반복되는 모든 코드에 찾아가서 수정을 해야 한다. 이 과정에서 실수가 발생한다면 버그가 발생하게 된다.



YAGNI (You aren’t gonna need it)
: 필요한 작업만 해라

  • 인력은 한정적이므로 현실적 문제에 집중해야 한다.
  • 지금 당장 필요하지 않은 것은 미리 구현하지 말자.
  • 미리 함수나 코드를 작성하지 말고 지금 필요한 기능만 추가해라.
  • 나중에 쓰일 것 같다는 예측에 따라 만든 것은 실제로는 10% 정도 밖에 쓰이지 않는다.
  • 필요 이상의 기능을 추가하면 설계가 복잡해진다.
  • 코드를 빨리 구현하려면 코드를 적게 써라.
  • 오류를 줄이려면 코드를 적게 써라

YAGNI 원칙은 "You Ain't Gonna Need It"의 첫 글자를 따서 만든 약어다.
풀어쓰자면 **"필요한 작업만 해라"**이다.

프로그램을 작성하다 보면, 현재는 사용하지 않지만 확장성을 고려해서 미리 작업해 놓은 것들이 있다. 그런 작업들을 하지 말라는 원칙이다.

현재는 사용하지 않는, 미래 어느 시점에 사용될지도 모를 코드를 작성해놓으면 코드가 불필요하게 장황해진다.
게다가 설계나 환경이 변경되었을 때 수정해야 하는 코드의 양이 늘어나게 된다.
설계나 환경이 바뀌었는데 이렇게 미리 작업해 놓은 코드를 수정하지 않았다면?
나중에 그 코드에서 버그를 발생시킨다.🐛
그러니 당장 필요한 작업에 집중하고 쓸데없는 작업은 하지 말라는 것이다.



KISS
: 간단하게 만들어라. (Keep It Simple Stupid)
짧고 단순하게 만들어라. (Keep It Short and Simple)
작고 단순하게 만들어라. (Keep It Small and Simple)

  • 불필요한 코드는 피하라.
  • 오류를 줄이려면 코드를 적게 써라.
  • 단순하게 직관적으로 만들어라.
  • 큰 프로젝트를 단순하게 디자인 하지 못하고, 복잡하게만 구현을 한다는 것은 프로젝트를 이해하지 못했다는 증거이다.

소프트웨어를 설계하는 작업이나 코딩을 하는 행위에서 되도록이면 간단하고 단순하게 만드는 것이 좋다는 원리로

소스 코드나 설계 내용이 불필요하게 장황하거나 복잡해지는 것을 경계하라는 원칙이다.

단순할수록 이해하기 쉽고, 이해하기 쉬울수록 버그가 발생할 가능성이 줄어든다.
이는 곧 생산성 향상으로 연결된다.
작업이 불필요하게 복잡해지는 것을 항상 경계해야 한다.


✨ 프로젝트의 규모가 커질수록 반복되는 코드로 인한 유지 보수 오버헤드가 커진다.
때문에 작은 프로젝트라도 코드를 반복해서 사용하지 않는 습관이 중요하다.

출처1 출처2

profile
그림도 그리는 개발자 🎨👩‍💻

0개의 댓글