해외 사이트의 좋은 글을 퍼와서 번역한 내용입니다. :)

특히 중요한 부분 위주로 변역하여 올린 내용으로, 이제 막 개발에 흥미를 붙이신 분들이라면 도움이 될 만한 습관들과 방법들을 정리해보았습니다.

(원 출처 : http://studyorcrytrying.tumblr.com/post/141574889807/general-always-comment-your-code-commenting-your)



좋은 개발자가 되기 위한 습관들


항상 코드에 주석을 달자.

코드를 만들면서 주석을 다는 것은 머릿속으로 생각을 정리하는 것 뿐 아니라, 다른 사람들이 코드를 읽었을 때 의미를 좀 더 분명히 할 수 있는 좋은 방법이 됩니다. 물론 줄마다 주석을 달 필요는 없지만, 특히 복잡한 로직이 포함될 경우에 주석은 코드를 파악하기 위한 좋은 습관입니다.


메소드와 함수들에 대해서는 기록하세요.
당신이 정의하고 만든 메서드에 대해 문서화하는 것은 프로그램 전체 구조를 추적하는데 있어 좋은 방법이 됩니다. 메소드 이름들을 리스팅하고, 어떤 인자를 Argument 로 갖는지, 어떤 동작을 통해 어떤 값을 반환하는 지는 프로그램 구조를 생성할 때, 각 작업 단위를 명확히 하는데 큰 도움을 줍니다.  또한 이는 프로젝트에 새로운 멤버가 프로젝트를 빨리 파악하는 데 큰 도움이 되기도 합니다.


당신만의 코딩 스타일을 확립하세요.

아마 처음 코딩을 시작할 때, 많은 코딩 스타일들이 레퍼런스 등을 통해 당신에게 유입될 것입니다. 괄호는 중구난방일 것이고, 불필요한 공간을 만들거나 변수 네이밍이 제각각일 수 있습니다. 경험을 통해 자신만의 코딩 스타일을 찾게 된다면, 코드를 빨리 파악하고 작성하는데 큰 도움이 될 것입니다.


사용하는 언어에 대한 Official 사이트를 알아두세요.

당신이 사용하는 C++, Android, Java 등등 언어에 대한 공식 웹 사이트를 알고 있다면 꼭 참조해서 알아보는 것이 중요합니다. 새로운 정보를 지속적으로 습득하는 것 뿐 아니라, 학습 자체를 하는 것에 있어서도 공식사이트가 갖는 공신력은 큰 영향을 가집니다.


당신만의 코드를 실험하세요.

이 부분은 코딩 스타일의 확립과도 일치되는 내용입니다. 만약 궁금하거나 실험해보고 싶은 부분이 있다면 얼마든지 도전해보세요! 새로운 기술을 적용하고 당신만의 프로그램을 당신만의 방법으로 최적화 해보는 것은 코딩 실력향상에 있어서 큰 도움을 줍니다. 심지어 당신의 선생님 / 사수가 당신을 최고의 코드를 만들게 인도하는 것보다도 더 큰 향상을 이루어낼 수도 있습니다.


당신이 한 작업을 디버깅하세요.

문제가 생겼을 시, 당신이 만들어낸 코드의 작업을 쭉 따라가면서 디버깅을 해보는 것은 좋은 습관입니다. 중간중간 작업의 단위를 나누어 디버깅을 하는 습관을 들인다면, 디버깅의 단위가 커져서 감당할 수 없게 되거나, 전체 모듈을 다시 코딩하는 불상사를 방지할 수 있습니다.




좋은 개발자가 되기 위한 초보 개발자들의 과제


출력 결과를 읽는 시간을 충분히 가지세요.

중요한 부분이나 중요한 결과가 도출되는 부분에서 만들어내는 프로그램의 출력 결과를 무시하는 경우가 많습니다. 이 부분을 읽는 것을 불필요하다고 여기지 마시고 충분히 관찰해본다면 내부 구동 원리를 파악하고 학습에 도움이 될 수 있습니다.


코드 상단에 당신의 문서라는 걸 명시해보세요. 
많은 IDE 들은 author와 문서의 description 을 기입하는 기능을 제공하고, 이는 프로젝트 협업 시 어떤 파일에서 어떤 의도로 당신이 설계했는지 파악하는데 도움이 될 수 있습니다.

변수 들에 대한 리스트 만들기
당신이 사용하는 중요한 변수들이 있다면 리스트를 만드세요. 프로그래밍은 복잡한 작업이고, 시간이 지날 수록 예전에 사용하던 당신의 코드, 그 중에서도 변수들은 까먹기 쉽습니다. 훌륭하게 네이밍 하는 것은 이를 도와주지만, 훨씬 더 효과적인 방법은 Document 화하여 기록해보는 것입니다. 구식적인 방법이라고 볼 수도 있겠지만 초보 개발자에게는 프로젝트를 진행하는 데 있어서 큰 도움이 될 수 있습니다.

코드를 복잡하게 만들지 마세요.

초보 개발자 티를 조금 벗은 개발자들이 많이 하는 실수입니다. 할당받은 양이 있다면 그 만큼에 대해서만 코드를 작성하세요. 현금 결제 시스템을 만드는 데 있어서 신용카드나 보너스 등까지 고려할 필요는 없습니다. 


좋은 개발자가 있다면 언제든 도움을 구하세요.

Stack Overflow 에 의존하는 것은 좋은 방법이지만, 실제 더 나은 개발자가 있다면 직접 배우는 것이 더 도움이 될 수 있습니다. 문제를 해결해주는 답변에 당신은 좋아요를 누르겠지만 이해했다고 확신할 수 있나요?


페어 프로그래밍은 좋은 코드 향상 방법입니다. 하지만...

페어 프로그래밍은 좋은 협업 방법이지만 당신이 당신의 몫을 충분히 할 때 의미가 있습니다. 그렇지 않고서는 이는 지루한 1대 1 코딩 과외가 될 뿐입니다. 파트너에게 코드 작성을 기대지말고 스스로 독자적인 코드를 만들고 토론할 수 있을 때 페어 프로그래밍은 의의를 갖습니다. 


마지막으로 강조하지만 당신만의 코드를 만들어보세요.

깃허브나 다른 훌륭한 파트너에 의존하지말고, 구글에서 코드를 복사하지말고 당신만의 코드를 만들어보세요.

어려우면 어려운대로 처음부터 코드를 작성해보는 것이 굉장히 중요합니다. 남의 코드를 가져다만 쓰는 것은 결국 한계를 드러내기 마련입니다.



상당히 좋은 내용들이 많습니다. :) 

방문해주시는 분들 읽고 도움이 될 수 있었으면 좋겠습니다.

+ Recent posts