불안하게 커서 자꾸 왔다 갔다 거리는 친구들은 그 만큼이나 코드도 불안하게 짭니다. 뭔가 해야할것이 있는 것 처럼 방향키나 backspace를 눌렀다가 땠다가 하며 오타를 발생시키며 인생의 방향마져도 꼬아갑니다
잘 짜는애들은, 고쳐야할부분, 혹은 기능 추가해야 할 부분에 vim에디터의 m같은걸로 mark을 해 놓은다음
갖가지 매크로들 이용, 정보를 얻거나 복사해와야 할 곳으로 최소한의 키보드 이용으로 커서를 빠르게 이동합니다.
그렇게 싹 훑은 뒤 원래 고쳐야 할 부분과 다른 창, 혹은 먼 스크롤의 부분에서 적당히 블록구조하여 yank 해 놓은 다음
' -> mark 한알파벳 키
를 이용, 빠르게 원래 작업할 곳으로 되돌아 가서 적당한 위치에 붙여넣습니다
그 친구들이 작업하는 모습을 보노라면 마치 스타크래프트에서 Vulture가 왔다갔다 거리는 모습을 보고 있는 것 같습니다
그리고 적당한 위치에 디버깅용 마인을 심어놓죠
여러분 코딩 잘하는게 딴게 아닙니다 코딩이라는거 어려운게 아닙니다.
단지 여러분이 어떻게 에디터상의 버퍼, 여러분 머릿속에 있는 버퍼를 잘 컨텍스트스위칭하며,
그 사이에서 균형을 잡고 특정 local에 빠지지 않고 적재적소에 코드를 붙여넣는게 실력입니다
잘 짜는애들은, 고쳐야할부분, 혹은 기능 추가해야 할 부분에 vim에디터의 m같은걸로 mark을 해 놓은다음
갖가지 매크로들 이용, 정보를 얻거나 복사해와야 할 곳으로 최소한의 키보드 이용으로 커서를 빠르게 이동합니다.
그렇게 싹 훑은 뒤 원래 고쳐야 할 부분과 다른 창, 혹은 먼 스크롤의 부분에서 적당히 블록구조하여 yank 해 놓은 다음
' -> mark 한알파벳 키
를 이용, 빠르게 원래 작업할 곳으로 되돌아 가서 적당한 위치에 붙여넣습니다
그 친구들이 작업하는 모습을 보노라면 마치 스타크래프트에서 Vulture가 왔다갔다 거리는 모습을 보고 있는 것 같습니다
그리고 적당한 위치에 디버깅용 마인을 심어놓죠
여러분 코딩 잘하는게 딴게 아닙니다 코딩이라는거 어려운게 아닙니다.
단지 여러분이 어떻게 에디터상의 버퍼, 여러분 머릿속에 있는 버퍼를 잘 컨텍스트스위칭하며,
그 사이에서 균형을 잡고 특정 local에 빠지지 않고 적재적소에 코드를 붙여넣는게 실력입니다
코딩을 잘 하는건 머릿속과 에디터의 버퍼에 얼마만큼의 정보를 저장하고 얼마만큼을 버리는지 노하우를 가지고 균형을 잡는 데 달려 있습니다. 이것은 사실 지식의 영역이라기보다는 그것을 의식적으로 연습하다보면 자연스럽게 늡니다.
코딩히면서 아무도 가르쳐주지않는 그런 노하우가 이런겁니다. 항상 창을 전환하면서 생각하십시오. 이건 머리속 버퍼에 저장해야 할 정보인가? 아니면 클립보드에 저장해야 할 정보인가?
또 생각해야 할 부분은 지금 내가 짜고 있는것이 반복되는 건가? 매크로로 만들수 있는건가? Snippet으로 만들 수 있는건가? 함수화 할 수 있는건가? - 방금 나열한 것들은 머릿속 'buffer'에 들어가게 되는 정보들을 압축하게 디
도와주는 도구입니다. 프로그래밍은 로우레벨부터 하이레벨으로 올라가면서 부터
어떻게 프로시져들을 압축하여 상위 레벨로 쌓아가는가? 에 관한 기술들입니다. 이것을 인간의 사고 과정의 레벨에서 생각하세요. 프로그래밍을 할때는 여러분의 뇌를 항상 최대한 최적화된 운영체제라고 생각하고 하세요
커맨드와 단축키를 몸에 익히며 실수를 방지하는건 복잡한 명령어 find와 커서 이동을 추상화하는 과정입니다