원고 토픽 목록입니다. 정리한 내용은 다음달 마소에서 뵙겠습니다.
-----------------------------------------------------------------

21세기 프로페셔널 프로그래머

프로페셔널(professional)의 정의

해커? 프로그래머?
프로그램은 종류에 따라 나뉘어집니다.
그에 따라 프로그래머의 성격이나 스타일도 변합니다.
애플리케이션
비즈니스 애플리케이션
초정밀 애플리케이션

프로그램의 특성 중 하나는 갈수록 복잡해진다. 프로토타입은 간단, 리팩토링 필요. 명세 필요
If가 많은 프로그램은 생각의 분기를 발생시키기 때문에 코드의 가독성이 떨어진다.
기능의 추가 변경으로 인한 사이드이펙트

팀개발의 특성을 이해
오케스트라는 독주회가 아닙니다.
의사결정권한 가진 사람과 그 비즈니스 특성에 관한 이해
나밖에 이해 못하는 코드
시간이 흘러 나도 이해 못하는 코드. 청문회용 코드

코드리뷰를 통해서 널리 알리자.
코드리뷰에 대한 팁
마녀 사냥이 되어서는 안 된다.
랜덤 선택

팀간 코드 패턴에 관한 토론
내용정리 필수, wiki 이용.
동료와 코드로 얘기해 본지 얼마나 되었나.

지우지 못하는 코드
나중에 시간 날 때 정리하면 지는 거다.

깨진 유리창 법칙을 기억하라
누가 휴지를 버리고 방치해 두면 머지 않아 쓰레기 버리는 곳이 된다.
리팩토링은 쓰레기 청소하는 방정리와 같다.
군대에서 관물정리를 하는 이유는 간단하다. 보기 좋으라고 하는 것이 아니라. 전시에 불이 꺼진 상태에도 어디에 무엇이 있는지 빨리 찾아서 입고 출동하기 위해서이다. 짱 밖아 놓은 것이 많은 관물대는 스릴 만빵이다.

개발자와 오픈소스
자기가 만든 소스를 적들에게 알리지 말라. 내 밥줄인 소스를 공개할 수 없다.
독불장군 스타일의 혼자 노는 개발자

다른 사람과의 협업을 통해서 더 나은 프로그램을 만들 수 있다.
협업(collaborate)이라는 단어는 함께(col) 일하는(labor) 방법이다.
협동하는 방법
네비게이터
유저
패처
문서작성자
기여자

오픈소스를 이용하는 이유는 프로그램의 제어권을 잡을 수 있기 때문.
감사하는 마음을 갖자.
아주 나쁜 소스 도용.

프로페셔널 프로그래머는 과연

+ Recent posts