소프트웨어 개발자의 프로그래밍 격언
View 7,096 | 작성일2014.11.04 17:34
관련링크
본문
좋은글이 있어서 퍼옵니다.
제가 그동안 프로그래머로 일하면서 깨달은 것들입니다.
단 10분만에 평소의 생각을 단번에,그리고 직설적으로 써내려갔습니다.
------------------------------------------
기초를 중요하게 여겨라
- 딴건 몰라도 기초 지식은 달달 외워라. 대뇌가 아니라 소뇌와 연수에 새겨넣어라.
- 기초부터 탄탄하지 않은 사람은 하드코어 기술을 다룰 자격이 없다. 건방떨다가 툭하면 사고치고 수습 못한다.
다양한 알고리즘을 머리속에 담아라.
- 자동차 운전은 2년 넘으면 그후부터 그게 그거다. 하지만 레이싱은 2년차와 10년차가 크게 차이난다.
- 코딩도 2년 넘으면 그후부터 그게 그거다. 하지만 알고리즘 구사 능력은 2년차와 10년차가 크게 차이난다.
- 현대 모든 기술은 수십년전에 나온 알고리즘들의 실현에 지나지 않는다.
- 다양한 알고리즘을 머리에 담고 있으면 새로운 기술이 나와도 쉽게 적응한다.
- 최신 알고리즘만 공부하지 말고, 퇴역해버린 알고리즘과 그것이 어떠한 새로운 알고리즘으로 교체됐는지도 놓치지 말고 공부하라.
내 경력을 믿어라
- 경력 많은 프로그래머는 말로 표현하기 어려운 각종 노하우가 근육에 담겨있다.
- (경력상) 젊은 사람이 신기술 배워 오더라도 두려워말라. 경력 많은 프로그래머는 젊은 사람의 신기술 정도는 쉽게 자기것으로 만든다. 그리고 깊은 원론적 혁신을 개발하고 응용해낸다. 이런것은 젊은 사람이 절대 할 수 없다.
코딩의 기초부터 탄탄히 다져라
- 잘 지은 이름 하나 열줄 주석 안부럽다
- 이름과 실제 하는 역할이 다르면 능지처참
- 함수,변수,클래스 이름도 제대로 짓는 습관도 안되어 있으면, 디자인 패턴이네, 리팩토링이네, 객체지향설계를 공부할 자격이 없다.
- 의외로 이거 잘 못하는 사람들 정말 많으니 주의하라.
툴을 잘 활용하라
- Visual Assist, 각종 측정 도구, 각종 개발툴을 잘 활용하라.
- "나는 그런 툴에 별로 의지 안해도 잘 해요" => 달리 말하면 그런 툴을 제대로 쓰는 법을 모른다는 소리와 같다.
- 툴 잘 활용해서 개발 속도 15% 올려놓고 집에 일찍 가라.
- 툴 값보다 당신 인건비가 더 비싸다.
알아보기 쉽게 코딩해라
- 소스 한줄 줄인답시고 알아보기 어렵게 하지 마라. 개발은 팀웍이다. 자기혼자 써커스 하지 마라.
- 괜히 재주 부리지 말고 알기 쉽게 짜라.
- 알아보기 어려운 소스는 누구나 쉽게 짠다. 알아보기 쉬운 소스를 짜는 것은 자기 생각 정리가 뛰어남을 의미한다.
- 내가 남의 어떤 소스를 잘 이해했다면 그것은 내 실력이 뛰어나서가 아니라 그 소스를 짠 사람이 뛰어나서이다.
신중하게 생각하고 코딩하라
- 로직을 상세히 구상하고 천천히 꼼꼼하게 소스를 타이핑하라
- 코딩 빠른 프로그래머는 코딩하는 속도보다 디버깅하는 횟수를 최소화한다.
- 덤벙대는 프로그래머는 초반 코딩을 빨리 하지만 디버깅하다가 한달 야근을 못 피한다. 그 사이에 신중한 프로그래머는 같은 목적의 프로그램을 천천히 짠 후, 2주일만에 디버깅을 다 마치고 휴가를 간다.
- 마지막 작은 버그까지 디버깅해 없애는 기간이 총 기간의 90%를 차지한다. 최소한의 디버깅을 하라.
- 자기가 짠 코드는 함수 머리부터 하나 하나 체크해서 잘 돌아가게 만들어졌는지 중복 체크하라.
자기 관리를 잘 하라
- 최상의 컨디션으로 정시에 출근하라.
- 그리고 최악의 컨디션으로 정시에 퇴근하라.
- 하루 7~8시간 수면은 반드시 챙겨라. 반드시 아침을 먹어라.
- 최상의 컨디션을 유지하지 못하면 야근을 해도 마땅하다.