개발자의 logs
개발자의 마음가짐 - OverEngineering 본문
스파르타 코딩클럽의 노드 기초반을 완주했다.
마지막으로 강사님께서 해주신 OverEngineering을 듣고, 아. 이건 블로그에 써야겠다고 생각했다.
아래는 강사님의 글이다.
여러분이 앞으로 더 깊게 공부를 하며 코드를 작성하다 보면 어디선가 아주 좋은 추상화, 혹은 높은 수준의 엔지니어링 기법을 보고 여러분의 코드에 적용하려고 시도할 수 있습니다.
이것을 Over Engineering이라고 말하는데요, 앞으로 여러가지 문제를 해결하다 보면 필요 이상으로 문제를 복잡하게 해결하거나 설계할 수 있습니다. 그렇기 때문에 ”만약” 을 대비하거나 아직 가지고 있지 않은 문제까지 예상하여 해결하지 않도록 하는게 중요합니다.
여러분이 처한 문제를 해결하기 위한 방법중 가장 단순한 방법을 고민하고 선택하는 연습을 해보세요!
다 어디서 들어본 말인것 같다고요? 맞습니다 😄 이전에 알려드린 3대 원칙중 KISS, YAGNI에 해당해요! (두번이나 말씀드릴 만큼 중요해요!)
-------
요약하자면,
필요이상의 코드나 미래의 문제를 위해 코드를 짜지 말라는 것이다. 현재의 문제를 해결하고, 가장 단순한 방법찾기!
아래는 강사님께서 첨부해주신 오버 엔지니어링에 대한 글이다.
번역본 (영어는 어렵기 때문....)
오버엔지니어링이란?
Wikipedia 의 엄격한 정의로 이동하면 오버 엔지니어링은 필요 이상으로 복잡한 방식으로 제품을 설계하는 사실을 나타냅니다.
오버 엔지니어링 ( 또는 오버 엔지니어링 또는 오버 킬 )은 제품을 지나치게 복잡한 방식으로 설계하거나 문제에 대한 솔루션을 제공하는 행위입니다. 원래 디자인.
소프트웨어의 맥락에서 나는 Paweł Głogowski 의 다음 정의를 좋아합니다.
당신이 가지고 있지 않은 문제를 해결하는 코드 또는 디자인.
이제 그녀가 가지고 있지 않은 문제를 해결하기 위해 누가 설계하거나 코딩하는지 생각할 것입니다. 우스꽝스러운 것 같죠? 20년의 경력을 갖고 스스로 해냈기 때문에 그 자리를 지켜주세요. 오버 엔지니어링도 예외는 아닙니다. 그것은 규범이다.
오버 엔지니링은 당신의 제품을 죽일 수 있습니다... 멋지다고 다 갖다 쓰지말자 !
'개발 공부지식 > *개발 공부*' 카테고리의 다른 글
항해99 CS 스터디 - 슈퍼 컴퓨터부터 사물 인터넷까지 (0) | 2022.05.27 |
---|---|
node.js - 블로그 구현 / 블로그 api (0) | 2022.05.24 |
항해99 - 프로그래밍 기초주차 Node.js 과제 (0) | 2022.05.19 |
항해99 CS 스터디 - 50년 넘게 유지된 무어의 법칙 (0) | 2022.05.18 |
항해99 CS 스터디 - 프로세서 칩 (0) | 2022.05.18 |