게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
개발의 길로 들어서려는 분들을 위한 오늘의 조언
게시물ID : programmer_11414짧은주소 복사하기
작성자 : 구차니
추천 : 2
조회수 : 900회
댓글수 : 9개
등록시간 : 2015/06/19 09:05:36
눈(머리)는 손보다 느리다
손은 눈보다 빠르다



뜬금포 결론 : 그래서 컴파일러를 찬양합시다
(폰 노이만 : 뭐임마?)






프로그램을 짜기 시작해서 얼마 되지 않았을때 대부분 경험하겠지만
왜 이게 안되지? 머리를 싸매면서 고민을 하게 됩니다. 물론 이런 고민이 무의미 하다는건 아니지만

어짜피 너님 머리에서 나온 거라 너님 머리로 고민해봤자
껍질을 하나 벗기 전에는 답이 안나옵니다. (그래서 디버깅과 테스트는 모르는 사람에게 투척)
그러니 객관적이고 기계적으로 봐줄수 있는 녀석이 바로 디버거와 컴파일러 입니다.

실행조차 안되는 녀석들 printf()나 cout 혹은 System.out.println() 혹은 print 등등등(몇개 언어를 해야 하나.. -_-)
한줄한줄 프린트 해서 찎어보는 것도 방법이지만 노가다라
이걸 자동화 해줄수 있는 IDE 통합 디버거를 사용하는것이 이득입니다.



프로그램이 어려운 것은 문법이나 알고리즘이 어렵기 때문이 아닙니다.
추상적인 논리를 머리속에서 추상적으로 그려내기 때문입니다.
(절대 비하는 아니지만) 전자회로 설계가 프로그램 보다 쉬워보이는건
현실에서 보이고(visualize) 문제가 생기면 피드백이 쉬우며(교육이론) GUI 툴을 이용해서 물리적 공간을 차지하며 선으로 이어지기 때문입니다.
디버거를 사용하더라도 선으로 보이는게 아니지만 최소한 라인별로 변해가는 데이터를 추적할 수 있으며
어떤 부분에서 어떤식으로 변하는지 알 수 있기 때문에 가시화를 통해 이해를 도와주기 때문 입니다.

또한, 컴파일러의 경고나 에러는 본인이 깨닫지 못하는 잠재적 에러에 대해서도 알려주기 때문에
되도록이면 경로레벨을 최대로 설정하여 에러뿜뿜을 하나둘씩 잡아보시기 바라며

그래도 안되면 조금 쉬었다가 다른걸 하면서 작업중인걸 잊은 다음 다시 돌아와서
새로운 관점으로 새롭게 시작해서 보면 문제를 해결 할 수 있을 겁니다.




에... 그러니까 결론은 고민 때릴 시간에 F8(비쥬얼 스튜디오 기준) 한번 더 때리고
F10 눌러서 한줄한줄 따라가보는게 이득입니다.










+
아직 저도 적용해보지 못한 분야이지만.. coding rule이나
static analysis tool을 이용한 코드레벨에서의 잠재적 문제를 잡아보도록 학부과정에서 유도해주는것도 좋겠다고 생각이 들긴 합니다..




+ 이전글
개발의 길로 들어서려는 분들을 위한 오늘의 조언 처음부터 쪼개지 마라. 하나로 못둘때 쪼개라
개발의 길로 들어서려는 분들을 위한 오늘의 조언 input - output 을 먼저 정해라
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호