awesome programming
홈
태그
미디어로그
위치로그
방명록
프로그래밍 심리학 1장 - 프로그램 읽기
스터디
|
2010. 12. 5. 12:49
욱동이와 일요일 9시 모여서 프로그래밍 심리학 1장 스터디를 했습니다~
PT를 만들어야 하는데.... 이번에는 훑어보면서 토론 형식으로 진행했습니다~
시간되는데로 PT를 간단히 만들던지 할께~ㅎ 일단은 오늘 한것들에 대해서 요약 정리~
1장 프로그램 읽기
프로그래밍은 작문의 일종이다.
작문을 배우는 가장 직접적인 방법은 써보는것도 있찌만 읽어보는것도 방법이다
코드를 작성하는 것도 중요하지만 읽는것도 중요하다
읽어서 무엇을 배울수 있을까?
프로그램 읽기에는 적합한 방법이 있다.
프로그램각 부분의 발단으로 구성된 개념적인 프레임워크를 토대로 읽어야 한다....
이 코드가 왜 여기에 있을까? 를 생각하면서 읽어야 하는것!
코드가 그렇게 작성된 것에 대한 이유를 생각해보면...
기계의 한계
기계의 한계로 어쩔수 없이 그렇게 작성되어야만 하는 경우도 있다.
메모리가 부족한 시기에 작성된 프로그램을 지금 바라보면 왜 그렇게 작성되었는지 의야하게 생각될 수도 있겠지만 시대적 상황을 감안해서 읽어야지 이유를 알 수 있다.
그때에는 그런 방식이 당연한것으로 인식되었기 때문에 특별한 표식을 남기지 않았을 것이다..
언어의 한계
작성된 언어의 한계로 인해 필연적으로 정해지는 프로그램 작성 방식..
C 계열에서는 배열의 인덱스 0은 첫번째 위치를 나타내지만 Lua에서는 인덱스 1이 첫번째 위치를 나타낸다. 따라서 Lua프로그램을 작성하던 사람이 C 계열 코드를 볼때는 언어의 한계를 이해하고 봐야하지 않을까..
프로그래머의 한계
작성 언어에 대한 프로그래머의 이해 정도에 따라 코드가 다르게 작성된다.
for 문법을 사용할때 두가지 방법을 쓸수 있다.
for( i = 0, i < 10, i++) { ..... }
for( i =0, 10 ) {....}
뭐.. 이런것들??
역사의 흔적
코드를 작성할 당시에는 특정 함수에 버그가 있어서 우회하여 처리하는 방법을 사용하였지만 코드를 다시 읽는 시기에는 특정함수의 버그가 수정되어 우회할 필요가 없는 상황이 있을 수 있다.
이것으로 원래 코드 작성자보다 자기가 더 잘알고 있고 우월하게 인식하여 원래 코드 작성자를 깔보지말고.... 코드가 작성된 시기를 감안하여 코드를 읽자..
규모가 크고 오랜 기간 작성된 코드일수록 이런 경험이 많을것이다.
요약
어떤 프로그램이 현재의 모습을 갖게 되는데에는 다 이유가 있다
단순히 훑어 보는것만으로 충분히 파악하기는 어렵다.
1장에 대해서 이야기를 하면서 욱동이와 이것저것 많은 이야기를 하였다...
프로그래밍은 작문이다??
네이밍이 무척 중요하다!
아직까지 변수명을 a,b,c로 사용하는 경우를 보면 안타깝다.
변수가 가진 의미를 충분히 반영할 수 있는 이름으로 변수명을 지어야 나중에 보기 편하다~
그런데.. 영어가 딸려서 정확한 의미의 변수명을 사용하기가 많이 힘들다...ㅠ
코드를 읽어본적이 얼마나 되는가...
일하는 팀과 회사의 분위기에 따라 많이 다르다..
욱동이의 경우 다른 사람이 작성한 코드를 읽어볼 경우가 거의 없지만
나의 경우는 거의 매일 다른 사람이 작성한 코드를 읽고 분석하는 일을 하고 있었다.
기타..
오픈소스의 코드를 읽어보는 시도를 해보고 싶다.
코드를 읽고 서로의 생각을 공유하고 싶다.
스터디에서 장난감을 만든다음 각자 리팩토링하여 방법을 공유하고 싶다.
자신이 작성한 코드에 대해서 다른 사람들의 의견을 들어보고 싶었다...
등등.. 앞으로 하고 싶은것들에 대해서 많이 이야기를 하였다~
이야기를 하다보니 2시간이 금방 지나가서..... 욱동이가 쌓인게 많은듯ㅋ
스터디는 주 2장씩 진행하기로..
다음주에는 욱동이가 2장, 내가 3장을 준비해서 공유할 예정입니다~
공유하기
게시글 관리
awesome programming
저작자표시
'
스터디
' 카테고리의 다른 글
[발표] Python3 프로그래밍 - 3장 함수
(0)
2011.04.30
[발표] Mock Object 소개
(0)
2011.04.11
[발표자료] 프로그래밍 심리학 10장 동기부여와 훈련, 경험
(0)
2011.01.29
프로그래밍 심리학 9장 - 지능 또는 문제해결력
(0)
2011.01.22
프로그래밍 심리학 8장 - 개인의 성격
(0)
2011.01.22
Trackbacks
/
Comments
이론 없는 경험은 맹목적이고, 경험 없는 이론은 무의미하다
by smilejp
Notices
Category
분류 전체보기
(83)
일상
(4)
프로그래밍
(50)
스터디
(6)
자체제작
(1)
읽은거
(17)
본거
(1)
세미나다녀온것
(3)
Tags
unity
Table Print
googlemock
뽀모도로 타이머
프로그래밍심리학
agile retrospectives
agile seminar 2010
함수형프로그래밍
unityt
일정예측
LuaBind
Office Addin
table복사
NDC11
Lua 주석
git ignore
HTML5 Canvas
LUA
테이블출력
socket.io
LuaTinker
뽀모도로 테크닉
smart_ptr
개발자문화
독서천재홍대리
CodingDojo
가상서버호스팅
googletest
Python
pydev interpreter 에러
Recent Posts
Recent Comments
Recent Trackbacks
Links
Syndication
RSS FEED
Copyright © awesome programming All Rights Reserved.
Designed by
CMSFactory.NET
티스토리툴바
Recent Comments