Technique/Programmer
-
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%에 가까워 진다. ※코드 레이아웃에 대해 싸우는 것을 멈추고, 자신만의 코드 레이아웃을 만드는 올바른 방법을 익히자 - 보이는 것이 강력하다.코드의 레이아웃이 중요하지 않다고 할 수는 없다. 어떤 부분이 문제가 되는지 이해해야 한다.좋은 코드는 명백하며 일관성이 있다. 레이아웃은 거의 눈에 들어오지 않는다. 주의를 끌거나 초점을 흐리지 않은 채 코드의 의도만을 보여주기 때문이다.좋은 표현 기법은 아름다움을 위해서가 아니라 실수를 줄이기 위해서 중요..
-
1. 코드에 신경쓰기Technique/Programmer 2017. 1. 4. 19:28
좋은 코드는 허공에서 툭 튀어나오지 않는다. 행성이 생겨날 때처럼 우연히 만들어지지 않는다.좋은 코드를 작성하려면 코드에 엄청난 노력을 들여야 한다. 평범한 프로그래머와 훌륭한 프로그래머의 차이는 바로 태도에 있다.회사에서 실제로 일어나는 다양한 제약과 압박 속에서도 프로다운 접근 방식을 취하고 최고의 코드를 작성하려는 태도로부터 훌륭한 프로그래밍은 태어난다. 긍정적인 관점과 건전한 태도를 품어야한다. 훌륭한 코드는 명장의 손에서 주의 깊게 작성되는 것이다. 어설픈 프로그래머에 의해 생각없이 만들어 지거나 자칭 코딩 전문가에 의해 신비롭게 조립되는 것이 아니다. 좋은 코드를 작성하고 싶다면, 좋은 프로그래머가 되고 싶다면 그만큼 코드에 신경써야 한다. 어떤 코딩 환경에서든 단지 작동하는 것처럼 보이는 코..