2011-10-09 3 views
1

레거시 PB 코드를 .NET 시대로 이식하면 작업을 올바르게 수행하기 위해 리팩터링이 필요할 수 있습니다. 예를 들어, 우리 코드에는 MDI, PBNI 등과 같이 사용되지 않는 객체가 남아 있습니다. 리팩토링과 관련하여 VS 셸에서 얼마나 많은 도움을 얻을지 궁금합니다. 긴 함수를 별도의 기능을 사용하여 특정 기능이나 이벤트의 모든 발신자 찾기.Powerbuilder 12는 리팩토링 기능을 제공합니까?

고전적인 IDE는 이러한 작업에 끔찍합니다. 지금 VS를 사용하여 쉽게 만들었습니까?

답변

0

질문에 대한 답변은 대부분 이며 Visual Studio만큼 멋진 것은 아닙니다. PB IDE는 밤낮으로는 Visual Studio IDE 전체가 아닌 것보다 낫습니다.

PB에는 기본 리팩토링이 내장되어 있습니다. 예를 들어 전체 프로젝트에서 함수 이름 변경과 같은 기능을 쉽게 수행 할 수 있습니다. 내 프로젝트 중 하나에서 함수 이름을 바꿀 때 생성되는 출력은 다음과 같습니다. 그리고 파일 중 하나가 열리면 Visual Studio Shell이 ​​그것을 감지하고 로컬 파일을 다시로드하라고 요청했습니다.

Replace all "ConnectDB", "DBConnect", Subfolders, Find Results 1, "Entire Solution" 
H:\Dev\PBWS\pb_data.pbl\pb_data.sra(42,18):liRtn = gnv_data.DBConnect() 
H:\Dev\PBWS\pb_data.pbl\n_data_factory.sru(29,25):public function integer DBConnect() 
H:\Dev\PBWS\pb_data.pbl\n_data_factory.sru(38,14):liRowCount = DBConnect() 
H:\Dev\PBWS\pb_data.pbl\n_data_factory.sru(103,25):public function integer DBConnect(); 

Total replaced: 4 Matching files: 2 Total files searched: 13 

파워 빌더 12.5.NET을 가지고있다 "이동을 -> 정의"기능/클래스 선언에 점프에 대한 능력. PowerBuilder 함수가 .Net 프레임 워크처럼 "열리지"않기 때문에 Visual Studio만큼 멋지지 않습니다. 따라서 GetItemString 함수를 마우스 오른쪽 단추로 클릭 할 수 없으며 내부 선언을 볼 수 있습니다.

아직 어떤 영향 분석 유형 기능을 보지 못했습니다. 기능 호출 위치를 보는 것과 같지만 아직 너무 열심히 보지 않았습니다.

베이스 비주얼 스튜디오의 멋진 인텔리/ 코드 완성을 통합 한 긍정적 인 메모에서

. C#을 사용하는 Visual Studio IDE에서 작업 할 때와 마찬가지로 응답 성, 정확성 및 예측 성이 뛰어납니다. Visual Studio Shell의 멋진 기능과 함께 PB.NET 기능은 PB 개발 재미를 다시 불러 일으 킵니다.

+0

좋은 소식입니다! 함수의 이름을 바꾸는 것이 간단한 문자열 대체입니까? 아니면 실제로 특정 클래스의 특정 함수를 대체해야한다는 사실을 실제로 이해하고 있습니까? 즉, 코드에 "ConnectDB 문자열"이라고 표시되어 있으면 "ConnectDB"부분도 바뀌었을 것입니까, 아니면 (올바르게) 그대로 남아 있습니까? – eran