본문 바로가기

개발자의 logs

개발자의 마음가짐 - OverEngineering 본문

개발 공부지식/*개발 공부*

개발자의 마음가짐 - OverEngineering

주인장v 2022. 5. 24. 15:35

 

 

스파르타 코딩클럽의 노드 기초반을 완주했다.

마지막으로 강사님께서 해주신 OverEngineering을 듣고, 아. 이건 블로그에 써야겠다고 생각했다.

 

아래는 강사님의 글이다.

 

여러분이 앞으로 더 깊게 공부를 하며 코드를 작성하다 보면 어디선가 아주 좋은 추상화, 혹은 높은 수준의 엔지니어링 기법을 보고 여러분의 코드에 적용하려고 시도할 수 있습니다.

이것을 Over Engineering이라고 말하는데요, 앞으로 여러가지 문제를 해결하다 보면 필요 이상으로 문제를 복잡하게 해결하거나 설계할 수 있습니다. 그렇기 때문에 ”만약” 을 대비하거나 아직 가지고 있지 않은 문제까지 예상하여 해결하지 않도록 하는게 중요합니다.

 

여러분이 처한 문제를 해결하기 위한 방법중 가장 단순한 방법을 고민하고 선택하는 연습을 해보세요!

 

다 어디서 들어본 말인것 같다고요? 맞습니다 😄 이전에 알려드린 3대 원칙중 KISS, YAGNI에 해당해요! (두번이나 말씀드릴 만큼 중요해요!)

 

-------

 

요약하자면,

필요이상의 코드나 미래의 문제를 위해 코드를 짜지 말라는 것이다. 현재의 문제를 해결하고, 가장 단순한 방법찾기!

아래는 강사님께서 첨부해주신 오버 엔지니어링에 대한 글이다.

 

 

번역본 (영어는 어렵기 때문....)

 

오버엔지니어링이란?

Wikipedia 의 엄격한 정의로 이동하면 오버 엔지니어링은 필요 이상으로 복잡한 방식으로 제품을 설계하는 사실을 나타냅니다.

오버 엔지니어링 (  또는 오버 엔지니어링  또는 오버 킬 )은 제품을 지나치게 복잡한 방식으로 설계하거나 문제에 대한 솔루션을 제공하는 행위입니다. 원래 디자인.

소프트웨어의 맥락에서 나는 Paweł Głogowski 의 다음 정의를 좋아합니다.

당신이 가지고 있지 않은 문제를 해결하는 코드 또는 디자인.

이제 그녀가 가지고 있지 않은 문제를 해결하기 위해 누가 설계하거나 코딩하는지 생각할 것입니다. 우스꽝스러운 것 같죠? 20년의 경력을 갖고 스스로 해냈기 때문에 그 자리를 지켜주세요. 오버 엔지니어링도 예외는 아닙니다. 그것은 규범이다.

 

 

오버 엔지니링은 당신의 제품을 죽일 수 있습니다... 멋지다고 다 갖다 쓰지말자 ! 

Comments