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