3장. 기본적인 도구
소제목
- 일반 텍스트의 힘
- 조개 놀이
- 파워 에디팅
- 소스코드 관리
- 디버깅
- 텍스트 처리
- 코드 생성기
이번 장에서는 개발자가 다루는 도구에 대해 설명한다. 개발자들은 주로 텍스트 에디터를 다루고, 나같은 경우 IDE를 사용해 개발을 하는데, IDE화 GUI에 익숙한 개발자들은 여기에서 벗어나야 할 필요성에 대해 말해주어서, 셸에 대해 조금 더 배워서 강력한 기능을 가진 셸 스크립트 언어를 사용해 자동 실행을 해보고 싶어졌다.
14. 일반 텍스트의 힘
우리가 알고 있는 지식을 일반 텍스트로 저장하면 언젠가는 이를 열어 봐야 하는 경우가 생길 것이다.
15. 조개 놀이
GUI는 굉장히 편리하다. 보이는 대로 실행되기 때문에 직관적이고, 배우기도 쉽다. 그리고 몇몇 과정들은 CUI 보다 더 빠르다. 그럼에도 불구하고 조개 놀이(Shell Games)를 추천하는 이유는 GUI에서는 할 수 없는 강력한 기능들을 CUI를 사용하면 할 수 있기 때문이다.
이 책에서 CUI를 사용하면 쉽게 할 수 있는 작업 목록은 아래와 같다.
- Makefile보다 더 최근에 수정된 모든 .c 파일을 찾아라.
- 소스의 zip/tar 아카이브를 만들어라.
- 지난 주 중에 변경되지 않은 자바 파일은 어느 것들인가?
- 어느 파일이 awt 라이브러리를 사용하나?
16. 파워 에디팅
하나의 에디터의 전문가가 되라. 그리고 에디터의 기능을 확장해라.
한 가지 언어에서만 사용할 수 있는 에디터보다 여러 언어 호환이 가능하고, 소스코드 뿐 아니라 다른 텍스트 파일에도 이를 적용할 수 있도록 하자. 그리고 기능을 익혀 에디터의 모든 부분을 사용할 수 있는 전문가가 되어라. 이는 생산성을 크게 향상시킬 것이다.
17. 소스코드 관리
소스코드 관리 도구는 소스코드에 undo 기능을 추가해주는 것과 같다. 문제 없이 동작하던 몇 일 전 뿐 아니라 몇 달 전, 몇 년 전으로 돌아갈 수 있다. 소스코드 관리도구를 사용하고 있지 않다면 무조건 사용하고, 사용하고 있다면, 소스코드 뿐 아니라 일반 문서에도 이를 확장하라.
18. 디버깅
버그를 발견했다면 버그를 누가 발생시켰는지 찾는데 힘을 쓰지 말고, 버그의 원인과 해결 방안에 힘을써라. 그리고 증상을 고치려고 하지 말고, 근원적인 문제를 해결하라.
19. 텍스트 처리
텍스트 처리 언어를 하나 익혀라.
20. 코드 생성기
코드를 생성하는 코드를 만들면 중복되는 작업을 줄일 수 있다. 처음에 조금의 노력만 더들이면 이후 생산성 향상에 크게 도움이 될 것이다.