http://boa-constructor.sourceforge.net/ GUI 를 만들어 Boa 요~ - BoaConstructor 오픈소스 wxPython GUI Builder. 처음에 메뉴가 이것저것 많아 정신없는게 문제지만, Tutorial 을 보고 따라하다보면 대강 이해갈것이다. http://sourceforge.net/potm/potm-2003-08.php 2003년 8월 Project of the month 에 뽑혔다. CVS 최신버전인 0.26에서는 BicycleRepairMan 이 포함되었다. 단점 : 1. 한글 패치 필요 - 이건 Scintilla 의 문제일듯. * Control 상속, 새 Control 만드는 과정을 아직 툴 차원에선 지원하지 않는다. MFC GUI Programming 할때 많이 쓰는데. UI class 들 중복제거를 위해서라도. -_a 하긴 이건 좀 무리한 요구인가 -_-; * 개인적인 느낌이련지 모르겠지만 난잡해보이는 화면 구성. 기능을 너무 많이 넣어서 그런건지도. GUI 플밍은 다시금 느끼지만, RAD 툴 없으면 노가다가 너무 많다. -_-; 차라리 GUI 코드는 더럽게 놔두고 툴로만 다루고, 코드상에서는 가능한 한 GUI 부분 객체와는 interface 로만 대화하는 것이 좋겠다. 어디선가 본 것 같다. Code Generator 로 작성된 코드는 가능한한 건드리지 말라는..~ (Abstraction 이 제너레이팅 툴에서 이루어지기 때문일 것 같다.) === Prototype Driven Work Flow === 1. GUI Control 을 배열해두고 2. 그에 따른 코드들을 만들고 3. 해당 코드들의 Abstraction Level 을 적절히 맞춰서 리팩토링하며 인터페이스나 모듈관계들에 대한 디자인과 원하는 기능들에 대한 구현 모습에 대한 피드백을 받는다. 4. 재사용될 것 같은 모듈들에 대해 UnitTest 를 붙여나간다. 추후 추출용. 1,2,3,4 반복. 5. 정식 버전은 TDD 로 다시 DoItAgainToLearn. WingIDE + VIM 사용. (BRM 을 VIM 에 붙여놓다보니. 그리고 WingIDE 의 경우 Python IDE 중 Intelli Sense 기능이 가장 잘 구현되어있다.) ---- UnitTest 가 있는 것만으로도 언제든지 리팩토링할 수 있다는 믿음이 있다면..~ 혼자서 프로토타입 플밍 할때는 그냥 StepwiseRefinement & UnitTest 조합도 괜찮은 것 같다. 빨리 기능을 얻은뒤 기능들 보고 중간에 CRC 해가면서 유용할만한 Object들을 추출해나가는 것도. 언제든지 Object 뽑아낼 자신이 있으니까. --[1002] ---- [Python]