본문 바로가기

etc..

프로그래밍 습관


물론
많이 찾아보고
많은 라이브러리를 들고있고
알고리즘적 사고를 할수있고
여러가지 문제 해결능력이
뛰어난것도 코딩을 잘할 수 있는 습관이겠지만
디버깅을
잘하는게 지금 내 수준에서는 제일 중요하다고 본다.
문제가 발생했을때. 프로그램이 안돌아갈때
왜 안되는지를
잘 찾아내고
여러가지 가설을 세우고
디버깅 환경을 잘 구축을 해서
이러한것들을 잘 이용해서 문제를 해결하는 능력이
구현능력 못지 않게 코딩을 잘할 수 있는 습관 이라고 본다.

그리고 코딩 외적인 것에도
코드에 주석 처리라던지
코드수정 후 날짜, 시간 표기라던지
코드의 주기적 백업등

코드 외적인것에서 사소한 습관이
효율적인 프로그래밍을 만드는것 같다.



오늘 같은 경우도
어제 다섯시간 동안 못잡은 버그를
민조햄이 1시간만에 잡아냈다.

네트워크 화상 채팅 을 짜는데
아무리 짜도 한쪽은 화면을 받아오는데
한쪽은 안받아오길래
왜그런가
왜그런가 고민하다가
sos를 쳤더니
같이 고민하고
고쳐보다가
문제가
패킷을 못받는 다는것을 알아채고
다시
왜 그럼 패킷을 못받는가를 고민하다가
아...............그제서야
보내는쪽에서는 소켓을 binding 이 아니라 connect로 묶어야
한다는 사실을 ..놓쳤었다
그것때문에 어제 새벽5시까지 디버깅했었는데..
저러한 방식으로 접근하지 않았다면
아마 내일까지 헤매고있었을지도..

...
사소하지만 이러한 습관이
차이를 벌려 놓는것 같다.