[백엔드 로드맵 - 개발방법론] 소프트웨어 개발 3대 원칙

Sierra·2022년 7월 31일
0

Backend-Roadmap

목록 보기
22/43
post-thumbnail

Intro

KISS, YAGNI, DRY
들어 본 적 있는가? 사실 필자는 학부 시절엔 들어 본 적 없다.
실무를 뛰면서 알게 되었던 지식들인데, 구차한 변명이지만 코로나 세대라...내가 이런 지식들을 학부에서 다룰 일이 그렇게 많지 않았다는 걸 글을 쓰면서도 많이 깨닫고있다.

KISS - Keep It Simple Stupid!

되도록이면 소프트웨어를 설계하거나 코딩을 할 때 간단하고 단순하게 만들라는 의미다.
뻔한 얘기같지만 생각보다 잘 지켜지지 않는다. 간단하고 단순하다는 기준이 사람마다 모두 같은 게 아니기 때문이다.

단순 할 수록 많은 사람들이 이해할 수 있고 많은 사람들이 이해 할 수록 이슈의 가능성이 줄어들기 때문이다.

소프트웨어 개발은 절대 혼자 하는 작업이 아니다. 가능하면 자신의 작업 과정이 단순해야지만 많은 사람들이 납득 할 만한 코드가 나올 테고 팀의 생산성 향상에 큰 영향을 끼친다.

YAGNI - You Ain't Gonna Need It

필요한 작업만 하라는 의미다.
프로그램 개발을 하다보면 미래에 있을 지 모르는 확장성을 대비하여 미리 작업을 해 둘 수도 있는데 그러한 작업들이 사실 큰 의미가 없다는 의미다.

미래는 아무도 예측 할 수 없다. 당장 내일 비가 올지 안 올지도 백퍼센트 예측 할 수 없다. 불확실 한 미래를 대비하려는 코드가 오히려 버그를 발생시킬 수 있고, 예측 한 대로 흘러가지 않는 미래에 더욱 많은 코드들을 수정해야 하는 불상사가 날 수 있다.

DRY - Do not Repeat Yourself

반복하지 마라는 의미다.
동일한 코드가 계속해서 반복된다면 미래에 큰 에러를 발생 시킬 수 있다. 만약 해당 내용에 변경이 필요하다면 반복되는 수 많은 코드를 모두 변경시켜야 하는 대형 사고가 일어 날 수 있다.

Outro

이로써 개발방법론에 대한 포스팅을 마쳤다.

막상 다 쓰고 나니 디자인 패턴 뿐만 아니라 이러한 사소한 법칙들 마저도 개발 할 때 지켜주는 것이 모두를 위하는, 그리고 나의 전문성을 위하는 길임을 새삼 느낀다.

다음 포스팅은 네트워크에 대해 써 보도록 하겠다.

profile
블로그 이전합니다 : https://swj-techblog.vercel.app/

0개의 댓글