유튜브나 온라인 코딩 강의에서 자주 듣는 프로그래밍 충고나 조언들의 함정을 짚고 넘어갑니다.
초보 개발자들에게 도움이 되는 것처럼 보일 수 있지만, 실제 프로젝트에서는 지나치게 복잡하고 유지 보수가 어려운 코드를 유발할 수 있습니다.
특히 과도한 설계, 탑다운 방식의 프로그래밍, 객체지향 프로그래밍(OOP), 조기 최적화와 같은 일반적인 권고 사항에 의문을 제기합니다.
이번 영상 논점입니다:
1. "미래를 위한 설계(future-proofing)" 함정. 코드는 실시간으로 수정되고 변합니다. 앞으로 수정될 코드를 대비해서 미리 변화에 적응할 수 있도록 프로그램 설계하라는 조언에 반박합니다. 왜 미래를 위한 설계가 잘못된 조언일까요?
2. 탑다운(Top-down) 프로그래밍의 함정. 코드베이스의 탑다운 접근법은 비현실적입니다. 이에 대해 설명합니다. 탑다운(top-down) vs 바텀업(bottom-up) 방식을 살펴봅니다.
3. 객체 지향 프로그래밍(OOP)의 함정. 많은 프로그래머들이 객체지향 프로그래밍이 좋다고, 궁극적 해결책이라고 말합니다. 하지만 OOP도 단점이 여러 존재합니다. 구체적으로 어떤 단점인지 설명합니다. OOP에만 의존하면 미래 지향적인 코딩이 힘들어집니다.
4. 하나의 프로그래밍 언어 함정. 자바스크립트든 파이썬이든 하나의 프로그램 언어를 완벽하게 익힌 후에 다른 언어를 배우라고 조언합니다. 이 조언은 요즘같은 AI 코딩 시대에 맞지 않습니다. 구시대적 충고입니다. AI 코딩 도구의 부상으로 개발자는 이제 언어의 구문(syntax)를 외울 필요가 없어졌습니다. 그러면 개발자는 어떤 프로그래밍 개념에 집중해야 할까요? 어떤 코딩 원리를 먼저 파악해야 할까요?
5. 최적화(optimization) 함정. 코딩 최적화는 당연히 성능면에서 좋고 진행해야 합니다. 하지만 프로그램 개발의 조기 최적화는 문제가 될 수 있습니다. 구체적으로 어떤 문제가 될까요? 이에 대해 살펴봅니다.
6. 논평: 실제 코딩 경험을 통해 배우는 것에 중점을 둘 것. 교과서적인 방법론에 얽매이기보다는 실질적인 경험과 소프트웨어 엔지니어링의 기본 원칙을 우선시할 것을 권장합니다. 프로그래밍의 3가지 핵심 개념을 익히는 데 중점을 둬야합니다. 이 3가지 핵심 개념은 무엇일까요? 효율적인 문제 해결을 기반으로한 코딩 방식을 제안합니다.
#코딩 #개발자 #프로그래밍