훌륭한 프로그래머 되는 법

25
you.write(code);

Transcript of 훌륭한 프로그래머 되는 법

you.write(code);

훌륭한 프로그래머 되는 법

프로젝트와 팀을 성공으로 이끄는 선배 개발자의 노하우

Q: 좋은 코드를 작성하고 싶은가? 그렇다면 좋은 프로그래머가 되고 싶다는 뜻이다.

당신은 희망이 있다는 뜻으로 이해해도 좋다.

어떤 코딩 환경에서는 ‘단지 작동하는 것’ 처럼 보이는

코딩을 거부하라

프로그래머는 혼자 일하지 않는다. 작성자 자신이 똑똑해 보이기만을 원해서는

안 된다는 뜻이다.

어떤 코드든 만지기 전보다 더 나은 구조, 더 나은 테스트, 더 나은 이해를 포함해

좋게 만들어야 한다.

코드에 대한 감정적 반응은 잘못된 것이 아니다. 훌륭한 결과물을 자랑스러워 하거나 더러운 코드에 혐오감을 느끼는 것은 자신이 건전하다는 증거다.

구들리프의 법칙: 코드의 레이아웃에 대한 논쟁이 증가할 수록 의미 없는 논쟁으로 빠질 확률이 100%에 가까워진다.

출처: http://www.hanbit.co.kr/book/look.html?isbn=978-89-7914-514-4

고드윈의 법칙: 인터넷에서 논쟁이 길어질수록 상대방을 나치나 히틀러에 비교할 확률이 100%에 가까워진다.

출처: https://en.wikipedia.org/wiki/Godwin%27s_Law

코드 레이아웃에 대해 싸우는 것을 멈추고, 자신만의 코드 레이아웃을 만드는

올바른 방법을 익히자.

이미지 출처: http://www.hanbit.co.kr/book/look.html?isbn=978-89-7914-514-4

“이중 switch문은 라파엘 문파의 멋진 액자 구조를 떠올리게 해.”

“이 기법이 주는 가슴 저미는 숨은 이유를 느껴봐”

좋은 표현 기법은 아름다움을 위해서가 아니라 실수를 줄이기 위해서 중요하다.

보기 좋은 코드는 의도를 드러낸다. 그것은 예술이 아니다.

출처: 타라 아트(TAHRA ART), 김경환, 한빛미디어 2013

맙소사!!

다른 사람을 위해 코딩하는 것을 잊지 말자!

코드 에러를 줄이려면 좋은 모습을 갖추어야 한다.

유지하기 어려운 예쁜 아스키 아트를 만들지 말아야 한다는 뜻이다.

오른쪽의 *까지 수동으로 다시 입력하게 만드는 것은 가학적이다.

동료들의 시간이나 마음을 중요하게 생각하지 않는다.

혹은 수정하기 짜증나게 만들어 아무도 고칠 수 없게 만드는 것일 수 있다.

아스키 아트(ASCII art): 주로 고정폭 문자나 기호를 사용하여 그림을 표현하는 방식, 이모티콘도 간단한 아스키 아트의 일종이다.

자신의 코드 레이아웃에 대해

리뷰 해보자.

관용어법을 사용하고 있으며,

일반적이고 명백하며 일관성이

있는가?

어떻게 더 발전시킬 것인가?

코드 외관에 동료들과 의견

충돌이 있지는 않은가?

이러한 의견차이를 어떻게 극복

할 것인가?

코드를 신경쓰면서도

즐거운 프로그래밍을

잊어서는 안 된다.

자랑할 만한

소프트웨어를 만들어

내라.

오늘 당장 코드에 대한 유닛 테스트를 작성해보자.

이미 테스트 이용 중이라면 테스트를 통해 어떻게 문제점을

알리고 코드 설계를 개선할지 생각해보라.

최근 코드에 불필요하게 복잡도를 높였던 방법은 없었는가? 이를 어떻게 파악할까?

예외 코드를 이렇게

만들지 말자!

시간이 지났다고……………………… 문제가 저절로 해결되지는 않는다.

소프트웨어 개발 작업은 재미도 없고 매력적이지도 않다. 프로젝트 완료를 위해 거쳐야 하는 단조롭고 고된 일이다.

하지만! 효율적인 프로그래머가 되려면 집안일을 두려워해서는 안 된다!

모호하게 구두로 전해지는 팀의 규칙은 위험하다. 자신만의 팀 규칙을 만들고,

개발실 벽에 붙여라.

코드란 원래 이런 것이다. 최근에 나쁜 습관이 생기지는 않았나?

어떻게 교정할 수 있을까?

‘끝’ 의 의미가 여러 가지임을 잊지 말자.

> 태도가 핵심이다. > 시작하라. > 코드를 작성하라. > 나아짐을 즐겨라.

자신의 사례를 들며 프로그래머의 미래가 어둡다고 넋두리하는 것을 귀담아 듣지 마세요.

그 같은 상황을 만들지 않기 위한 ‘타산지석’으로만 삼아야 합니다. 포기하기 위한, 또는 시도조차 하지

않기 위한 핑계로 삼아서는 안 됩니다.

‘일’을 하기 위해 새로 나타난 도구를 조작하는 기술이 앞으로 더 중요할 것이고,

프로그래머는 점점 더 필요해 질 것이 때문입니다.

염산악(염재현), 구글 엔지니어

한빛미디어에서 2015년 12월 출간한 ‘훌륭한 프로그래머 되는 법’를 참고 및 발췌하였음을 밝힙니다.