2009/09 3

VBScript Empty, Null, Nothing

지난주에는 ASP 프로젝트를 유지보수 할 일이 있어서 VBScript를 쓰게 됐는데, 하다보니 제일 헷갈리는게 Empty, Null, Nothing 구분이었다. C# ASP.NET도 그렇고 보통 C/C++도 그렇고 널 체크하나면 끝나는데 이놈의 언어는 깡통 값을 나타내는데 키워드를 세 가지나 쓴다. 변변한 자료 구조 하나 기본으로 제공하지도 않는 주제에(Scripting.Dictionary 정도? 나름 유용하게 잘 썼다) 엉뚱한 곳에 지나치게 신경썼다는 생각까지 들기도 한다. 아무튼 Empty는 초기화되지 않은 값이다. 그래서 Dim value : value = Request.Form("value")했을 때 아예 value 라는 폼 필드가 존재하지 않으면 IsEmpty(value) = True 이다. N..

2009.09.08

버려지지 않은 코드

몇 년 전(Windows Vista 대응이 끝난 상태였으니 한 3년 전인가?)에 인수인계 받아서 관리하고 있는 Visual C++ 6.0 프로젝트가 있다. 계속 판매되고 있지만 안정화된지 오래되었고 신기능 추가가 없어서 사실 거의 열어 볼 일은 없는 프로젝트이다. 그런데 이번에 급하게 처리할 이슈가 생겨서 오랜만에 뒤져보고 있다. 소스 분석을 하고 있자니 한 가지 어려운 점이 있는데, 안 쓰는데 남아있는 코드가 너무 많다는 점이다. 역사가 길고 소스 코드 버전 관리 도구를 도입하기 전에 작성된 코드가 많아서인지, 원래 개발하시던 분의 습관인지는 모르겠으나 아무튼 무진장 안 쓰는게 많다. 살아있는데 안 쓰이는 것만큼 주석 처리되어 있는 부분도 많아서, 다 포함해서 라인 수를 세니 20만 라인이 넘는데.....

2009.09.07

신입사원들과 함께한 TDD 토론

김창준 님과 강규영 님께서 예전에(켄트 벡의 TDD 책이 번역되어 나오기 전) 만드신 TDD 강좌 동영상을 신입 사원들과 같이 보는 스터디가 회사에서 있었는데, 지난 주에 스터디 정리 미팅이 있어서 참석했다. 요즘 너무 정신없는 터라 글을 한 번 써보자고 하고는 벌써 일주일이 지났네. 나는 스터디에는 참가하지 못하고 정리 미팅에만 참석했지만 참 의미있는 미팅이었다고 생각한다. 신입사원들이지만 참여하는 프로젝트 성격상 유닛테스트와 약간의 TDD 경험이 있는 사람도 있고 아예 유닛 테스트에 대한 경험조차 없는 사람도 있었다. 아예 경험이 없는 사람인 경우에는 역시나 유닛 테스트나 TDD에 대해서 제대로 파악하지 못했음을 알 수 있었다. 유닛 테스트에 대해서도 모르는데 TDD와 동시에 접하게 되면 완전히 혼란..

2009.09.06