http://findbugs.sourceforge.net 메릴랜드(Maryland) 대학에서 공개한 도구입니다. 자바의 버그패턴에 맞춰서 자바 소스코드를 컴파일된 바이트코드로 정적 분석한 후에 어느 부분이 문제가 되는지 자동 리포팅해줍니다.
누군가 내 코드를 검사한다는 것이 개발자에게는 탐탁치 않지만 임신진단시약처럼 자가테스트를 한다면 다른 얘기가 되겠죠. 남에게 보이기 전에 자신의 코드를 깔끔하게 만들 수 있으니까요.
경품은 트럼프였습니다. 뭐 대단한 것을 받을 줄 알았는데 좀 실망이 쩝. ^^; 풀긴 풀었단 얘기죠. 같이 간 김차장님과 같이 협의해 가면서 세 시간 동안 세션에 들어가지 않고 열심히 문제를 풀었습니다.
저 말고도 많은 사람들이 문제를 풀고 있었고, 옆에서 답 푸는 것을 듣지도 보지도 못하게 많은 사람들이 방어하더군요. 가운데 오른쪽에 흰 티셔츠를 입고 있는 사람이 정답 채점관입니다. Andrew 씨인데, 쩝, 굉장히 까칠하게 조목조목 보더군요. 이 아저씨에게 5차례 빠꾸당했습니다.
아마존 부쓰에 써있는 문구는 프로그래머의 자존심을 자극하는 문구들이었습니다. 우리는 똑똑한 사람을 원한다는 뭐 그런... 쩝. ㅡㅡ;
코드 닌자라고 불리는 첫 날의 문제는 다음과 같습니다. 답은 알고 있습니다만 적지는 않겠습니다.
다른 각도에서 한 컷.
메모지에 열심히 풀었습니다. 그것도 모자라서 프로그램도 검증하는 프로그램도 짰지요. ㅡㅡ;
다음 날 두 번째 문제는 풀지 않았습니다. 그냥 찍기만 했죠. ^^; 관심있으신 분들은 한 번 풀어보시는 것도 좋지만 상품은 없습니다.
인재를 구하기 위한 방법도 여러가지인 듯 합니다. ^^; 여튼 다음 날 앤드류에게 "You win"이라는 소리를 들으니 기분 괜찮았습니다.
원고 토픽 목록입니다. 정리한 내용은 다음달 마소에서 뵙겠습니다. -----------------------------------------------------------------
21세기 프로페셔널 프로그래머
프로페셔널(professional)의 정의
해커? 프로그래머? 프로그램은 종류에 따라 나뉘어집니다. 그에 따라 프로그래머의 성격이나 스타일도 변합니다. 애플리케이션 비즈니스 애플리케이션 초정밀 애플리케이션
프로그램의 특성 중 하나는 갈수록 복잡해진다. 프로토타입은 간단, 리팩토링 필요. 명세 필요 If가 많은 프로그램은 생각의 분기를 발생시키기 때문에 코드의 가독성이 떨어진다. 기능의 추가 변경으로 인한 사이드이펙트
팀개발의 특성을 이해 오케스트라는 독주회가 아닙니다. 의사결정권한 가진 사람과 그 비즈니스 특성에 관한 이해 나밖에 이해 못하는 코드 시간이 흘러 나도 이해 못하는 코드. 청문회용 코드
코드리뷰를 통해서 널리 알리자. 코드리뷰에 대한 팁 마녀 사냥이 되어서는 안 된다. 랜덤 선택
팀간 코드 패턴에 관한 토론 내용정리 필수, wiki 이용. 동료와 코드로 얘기해 본지 얼마나 되었나.
지우지 못하는 코드 나중에 시간 날 때 정리하면 지는 거다.
깨진 유리창 법칙을 기억하라 누가 휴지를 버리고 방치해 두면 머지 않아 쓰레기 버리는 곳이 된다. 리팩토링은 쓰레기 청소하는 방정리와 같다. 군대에서 관물정리를 하는 이유는 간단하다. 보기 좋으라고 하는 것이 아니라. 전시에 불이 꺼진 상태에도 어디에 무엇이 있는지 빨리 찾아서 입고 출동하기 위해서이다. 짱 밖아 놓은 것이 많은 관물대는 스릴 만빵이다.
개발자와 오픈소스 자기가 만든 소스를 적들에게 알리지 말라. 내 밥줄인 소스를 공개할 수 없다. 독불장군 스타일의 혼자 노는 개발자
다른 사람과의 협업을 통해서 더 나은 프로그램을 만들 수 있다. 협업(collaborate)이라는 단어는 함께(col) 일하는(labor) 방법이다. 협동하는 방법 네비게이터 유저 패처 문서작성자 기여자
오픈소스를 이용하는 이유는 프로그램의 제어권을 잡을 수 있기 때문. 감사하는 마음을 갖자. 아주 나쁜 소스 도용.
간단하게 시작할 수 있는 오픈소스 방법입니다. 복잡한 게시판 같은 것은 시간이 많이 걸립니다. 작은 소스부터 공유하면서 오픈소스에 대한 감각을 키워나가는 것이 필요하다는 생각이 듭니다. 아, 영어가 벅차면 그냥 한글로 하셔도 됩니다. 세계로 나아가는 프로그래머가 되고 싶다는 생각에 어설픈 영어를 썼습니다만 한글로 시작하셔도 됩니다.