티스토리 툴바




==============================================================================================================================

다른 분야에서 일곱 가지 습관이 유행하는 것처럼 프로그래머 세계에서도 일곱 가지 습관이 있더군요.. 예전에 사내 세미나시 발표했던 자료에 있던 내용입니다.

 

1.하루의 작업을 끝마칠 때 10분이라도 좋으니 날마다 한 일에 대해 머릿속으로, 또는 실제적인 코드로 통합을 하여 보라.


2.코드를 작성할 때 네이밍(이름짓기)에 대해 최소 2가지 이상의 대안을 제시한 뒤 그 중에 타인과의 의사소통시 나은 것을 선택해 사용하라


3.아침에 작업을 시작하기 앞서 할 일을 정리하고 한 일에 대해서는 확실히 표시를 해 두어 나중에 다시 들춰보는 일이 없도록 하라.


4.하루 잠깐이라도 좋으니 꼭 다른 프로그래머와 함께 코드를 보여 한 컴퓨터에서 프로그래밍을 해 보라.


5.하루 3회 이상 수행한 반복 작업(노가다)이 있다면 그것을 자동화 시킬 방법을 찾아 보라.


6.하루 한 일중 가장 길이가 긴 함수(메소드)를 찾아 그것을 두개 이상으로 쪼개는 작업을 해 보라.


7.자신이 할 일을 단위 작업(작은 단위일수록 좋다)으로 잘라 그 작업이 끝난 뒤 바로 그 작업에 대한 정리,테스트를 해 보라.

================================================================================================================================================

링크

언젠가 즐겨찾기로 추가해놓았던 글(위 링크와 동일한 내용)

습관을 들일 수 있다면 괜찮을 것 같다. 오후 6시 이후에는 위와 같은 작업을 한 번 해볼 수 있도록 해보자. 

저작자 표시 비영리 변경 금지


컴퓨터/프로그래밍 | Posted by 킬리 2009/08/12 15:58

프로그래밍, 그리고 코딩



재밌는 글을 하나 읽어보게 되었다.


이전에 이런 글을 썼었던 적이 있었는데, 갑자기 생각나서 다시 한번 읽어보니 프로그래밍이라는 행위와 코딩이라는 행위의 차이라는게 떠올랐다.

흔히 말하는 코더와 아키텍터의 차이가 될 수도 있겠는데, 내 생각으로는 프로그래밍은 프로그램의 설계부터 시작해서 목적 혹은 요구사항에 맞게 설계하고 그것을 구현해나가는 전체의 과정이다. 그에 반해서 코딩은 프로그래밍 과정중의 구현과정만을 의미하는게 아닐까? 

사실 생각해보면 하루에 몇천줄을, 혹은 몇만줄을 코딩하느냐는 그다지 중요하지는 않다. 전체 설계가 어떻게 되어있냐, 잘 동작하고 요구사항에 잘 부합하느냐가 중요한 것 같다. 위의 글에서도 언급했지만 엄청난 시간의 연습을 거치게 되는 경우, 해당 설계에 대해서는 거의 머리 속에 다 정리가 되어있고, 그것을 손가락과 키보드의 향연(?)을 통해서 다시 풀어쓸 뿐인것 같다.(나 자신이 이런 경험이 없으니 뭐라고 쓰기도 그렇지만...) 

나도 일단은 저런 사람을 목표로 하는데... 그럴려면 일단 연습부터 해야겠다. 


저작자 표시 비영리 변경 금지




kldp를 눈팅하던 도중에 제로의 영역이라는 것을 보게 되었다.

어릴게 재밌게봤던 사이버 포뮬러라는 애니에서의 제로의 영역이라는 일종의 미지의 세계랄까, 신(종교적인 의미보단 이 세상의 모든 것을 이해할 수 있는 존재라고 표현하고 싶다)의 세계랄까 뭐 그런 영역을 프로그래밍에 빗대어 쓴 글이다. 다음 링크를 따라가보면 볼 수 있다.

kldp 글 보러가기

간략하게 말해보자면 코딩을 하던 도중에 갑자기 자신에게 신내림(?)이 발생하여서 거의 무아의 경지에서 엄청난 속도로 논리적 오류하나없이 코딩을 해낸다는 것이다.(사이버 포뮬러에서 제로의 영역은 코스의 모든 것과 미래조차 알게 되어서 최적의 코스만을 달릴수 있게 해주는 것이다.)

그곳에서 댓글을 다신 분들중에서 재밌는 글을 링크시켜놓으신 분이 계셨는데, 그 글이 다음의 링크다.(개인적으로는 한번 보면 재밌을만한 글이라고 생각한다.)

글 보러가기


위 글에서의 필자가 꼽았던 방대한 양의 코딩을 해내는 자신의 능력과 똑같은 일을 하기 위해서 꼽은 세가지가 다음과 같다.

  1. 노력하지 않을 것
  2. 논리적으로 사고하지 않을 것
  3. 머리를 쓰지 않을 것


왜 그런지에 대해서는 글을 읽어보면 알 수 있다.

다만 내 생각에는 저 위의 세가지 조건을 통해서 같은 능력을 얻기 위해서는 한가지 전제조건이 필요한 것 같다.

 - 엄청난 양의 코딩 연습 - 

필자가 저런 방식을 통해 방대한 양의 코딩을 별 문제없이 해결할 수 있었던 것은 자신이 생각하는 그대로를 코딩할 수 있을 정도로 엄청난 경험을 쌓았기에 가능하다고 생각한다. 

우리가 사용하는 언어에 빗대서 표현해보자. 우리는 한글을 엄청나게 연습해왔다. 아기때 말문이 틔는 것부터 시작해서 가족들과 이야기, 친구들과 이야기, 학교에 들어가면 정식으로 국어라는 과목을 배우고, 책을 읽고 등등등, 엄청난 연습을 통해서 이제는 마음속으로 하는 생각조차도 아마 한글로 번역이 되어 있을 것이다. 

덕분에 우리는 생각하는 바를 즉시 즉시 한글로 옮겨쓸 수 있다. 내 생각에는 저 필자의 코딩스킬이 거의 우리가 언어를 사용하는 것과 마찬가지라고 생각한다. 생각하는 바를 바로 옮겨 쓸 수 있기 때문에 굳이 자신의 머리를 컴퓨터 수준에 맞추지 않더라도(링크의 글에서도 말하고 있지만, 우리 뇌가 컴퓨터보다 훨씬 뛰어나다. 직관이라는 녀석덕분에) 자신의 생각 그대로 코딩이 가능한 것이다. 

뭐, 결론은 연습이란 것이다. 언어라는 것은 늘 연습 연습 연습을 통해서 익히는 것이다. 내 경험상 영어도 그랬고 일본어도 그랬다. 코딩하는 것 역시 컴퓨터 언어를 배우는 것이니, 연습량이 많으면 많을 수록 별다른 고민없이도 훌륭한 프로그램을 짤 수 있는 것 같다.

그러니 열심히 코딩연습이나 해야지 ~_~

덧 :  혹여나 오해할수도 있어서 적지만, 위의 노력하지 말라는 것은 한 프로그램을 짜면서 하는 이야기지, 자신의 능력을 키우는데 있어서는 적용되지 않는다고 생각한다. 

저작자 표시 비영리 변경 금지


<PREV 1 2 3 4 5 ... 16 NEXT>