프로그래머
-
6. 경로 탐색Technique/Programmer 2017. 2. 2. 15:25
개발자 라면 더 많은 코드를 둘러봐야 하고 더 자주 새로운 프로젝트에 투입되어야 하낟. 하나의 팀에서 영원히 하나의 코드베이스만 다루다가 고인 물이 되지 말아야 한다 이미 존재하는 거대한 코드베이스에 적응하기란 어려운 일이다. 적응을 위해서는 다음과 같은 작업을 빠르게 해내어야 한다.코드의 어느 부분부터 보아야 하는지 파악하기코드의 부분별 기능을 알아내고, 그 기능을 어떻게 수행할지 살펴보기코드의 품질을 가늠하기시스템 내부를 어떻게 탐색할 것인지 계획하기코딩 관례를 이해하고, 본인의 수정 사항이 그것과 어울리도록 만들기특정 기능이 있을 법한 위치를 파악하고, 그 기능에 의해 발생하는 버그 찾아보기코드와 함께 그것의 주요한 부속 부분들의 테스트 코드 및 문서 등의 관계를 이해하기 1. 친구들의 작은 도움 ..
-
5. 코드베이스의 망령Technique/Programmer 2017. 1. 30. 14:23
추억은 시간이 흐르면 예전 같지 않다. 오래된 코드 역시 마찬가지다.그 안에는 함수 그렘린과 오타 악마가 숨어 있을 수 있다. 작성 당시엔 완벽하다고 생각했을 것이다.하지만 예전 코드를 비판적으로 바라보면 필연적으로 온갖 종류의 버그를 찾아내게 될 것이다. 프로그래머로서 자질은 자신이 작성한 코드가 아닌, 그것을 대하는 태도와 작성하는 방식에 의해 결정된다.오래된 코드를 다시 들여다보는 것은 새로운 경험이다. 1. 외관일부 언어에 사실상 표준 코딩 레이아웃 스타일이 있음에도, 스스로 오랜 시간 고민하며 찾아낸 수많은 레이아웃 이슈들이 남아 있다.그런 레이아웃 이슈들은 현재 프로젝트에서 사용되는 코딩 관습, 또는 다년간의 실험을 거친 경험에 근거한다.익숙해진 각각의 코딩 스타일은 별다를 것이 없지만, 하나..
-
4. 코드줄여 개선하기Technique/Programmer 2017. 1. 26. 15:45
가장 화끈한 코드 개선 방법은 코드에서 방대한 부분을 제거하는 것이다.불필요하게 파일의 사이즈와 공간을 차지하는 코드를 대폭으로 줄이는 개선이야 말로 단순한 것이 더 아름답다는 말을 전적으로 보여주는 예시이다. 1. 제멋대로인 코드불필요한 코드가 만들어지는 이유가 뭘까? 그것은 프로그래머가 자신의 개인적 취향만으로 제멋대로 코드를 작성했기 때문이다추가 코드가 재미있는 부분이라 그냥 작성하였다.미래에 필요할 것 같아서 지금 작성해 두기로 하였다.엄청나게 큰 기능이 아니라 작은 기능에 불과하기에 실제로 필요한지는 모르겟으나 지금 만들어 두는 것이 좋다고 생각했다.실제 사양서에는 존재하지도 않는 기능을 제멋대로 구현하였다. 우리는 린 개발 절차를 잘 알고 있으며, 아주 훌륭한 개발자와 함께 그 같은 일을 피할..
-
3. 코드 적게 쓰기Technique/Programmer 2017. 1. 24. 14:58
많은 양의 코드 작성이 곧 다량의 소프트웨어 개발을 의미하지는 않는다. 소프트웨어의 어떤 코드들은 사용자 경험의 질을 떨어뜨리거나 결함을 발생시켜 결과적으로 전체 개발량에 부정적 영향을 미친다. 소프트웨어를 개선하는 최고의 방법 가운데 하나는 바로 코드를 제거하는 것이다. 1. 코드에 신경써야하는 이유소프트웨어 시스템이 기능하는 한 코드들은 유지 보수 되어야 한다. 각 줄의 코드마다 비용이 든다. 코드를 길게, 많이 쓸수록 유지 보수 비용은 높아진다.수많은 코드란 읽고 이해해야 할 내용이 많음을 의미한다. 이는 프로그램을 파악하기 더 어렵게 만든다.코드가 많을수록 수정해야 할 부분도 많아진다.코드는 버그를 품고 있다. 코드가 많을수록 버그가 숨을 수 있는 공간도 많아진다.중복 코드는 특히 치명적이다. 하..
-
2. 정돈된 코드 유지하기Technique/Programmer 2017. 1. 4. 21:52
누구도 지저분한 코드로 작업하는 걸 좋아하지 않는다.좋은 코드를 염두에 두고 있으면, 자연스레 코드의 외관에 신경을 쓰게 된다. 코드의 외관은 작업할 코드의 난이도를 결정한다.코드의 레이아웃에 대한 논쟁이 증가할수록 의미 없는 논쟁으로 빠지게 될 확률이 100%에 가까워 진다. ※코드 레이아웃에 대해 싸우는 것을 멈추고, 자신만의 코드 레이아웃을 만드는 올바른 방법을 익히자 - 보이는 것이 강력하다.코드의 레이아웃이 중요하지 않다고 할 수는 없다. 어떤 부분이 문제가 되는지 이해해야 한다.좋은 코드는 명백하며 일관성이 있다. 레이아웃은 거의 눈에 들어오지 않는다. 주의를 끌거나 초점을 흐리지 않은 채 코드의 의도만을 보여주기 때문이다.좋은 표현 기법은 아름다움을 위해서가 아니라 실수를 줄이기 위해서 중요..
-
좋은 프로그래머가 되는 24가지 방법Technique/ETC 2016. 10. 21. 15:19
1. 프로그래밍에 열정이 있어야 한다. 열정이 없고 즐기지 못하면 평생하기 어려운 일이다.2. 프로그래밍 기초 원리를 완전히 이해해야 한다. 원리를 모르면 근본적인 해결을 할 수 없다.3. 문제 해결 능력을 키워야 한다. 개발자의 가장 중요한 핵심 역량이다.4. 창의적인 사람이 되라. 대부분의 좋은 해결책은 창의력에서 나온다.5. 다른 사람의 코드를 이해할 수 있는 능력을 키워야 한다. 다른 사람의 코드에서 배운다.6. 수학을 잘 해야 한다. 수학을 못하면 값싼 쉬운 개발 밖에 못한다.7. 좋은 커뮤니케이션 스킬을 갖도록 노력해야 한다. 프로그래밍은 컴퓨터와 얘기하는 것이 아니고 사람들과 얘기하는 것이다. 8. 협업 능력을 키워라. 다른 사람과 일을 나눠서 할 수 있어야 내 몸값이 비싸진다.9. 논쟁(d..
-
[ 펌 ] 프로그래머의 경력을 말아먹는 12가지 방법Technique/Column 2015. 12. 28. 11:00
프로페셔널한 프로그래머라면 본인의 경력을 스스로 관리할 수 있어야 합니다. 누구나 초보 프로그래머로 시작하여 수많은 시행착오를 겪으며 성장합니다. 많은 사람들이 같은 실수를 반복하며, 같은 후회를 되풀이합니다. 이 글에서는 좋은 프로그래머로서의 경력을 쌓기 위해 반드시 피해야 하는 몇 가지 사례들을 살펴봅니다. 글을 작성하기에 앞서, 여기에서 다루는 내용은 저의 주관적인 견해가 많이 들어있지만, 목차 또는 일부 구절 등에서 샘 라이트스톤의 『프로그래머로 사는 법』의 내용을 자주 인용했음을 밝혀 둡니다. 1. 다른 사람을 화나게 하기 일을 하다 보면 다른 사람과 의견이 다르거나 다른 사람에게 불만을 품게 되는 경우가 종종 있습니다. 특히 전쟁터와 같이 매우 급하게 진행되는 프로젝트에서는 일을 성사시키기 위..