델파이에서 유지보수 작업을 하시거나 소스를 수정하실 경우 수동으로 루틴을 옮기거나 구조를 변경하시면서 어렵게 코드 작업을 하고 계신가요 ? 이번 기회에 델파이에서 제공되는 리팩토링 기능들을 정리하여 올리도록 하겠습니다.

 

리팩토링이란?

소프트웨어 공학에서에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻합니다. 주로 가독성을 높이고 유지보수를 편하게 해줍니다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아닙니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위입니다.

그 중 대표적인 것 몇 가지를 들자면, 필드 숨기기, 메서드 추출, 타입 일반화, 메소드 이름변경 등등이 있습니다.

델파이 리팩토링은 2007 버전부터 지원됩니다 다음은 델파이 메뉴에 있는 리팩토링 기능들을 정리해 보겠습니다.

확인 하실 수 있습니다.

 

  1. 클래스,정적메소드,속성, 필드 이동하기

      클래스 및 정적 메소드, 정적 필드 및 속성 등을 다른 클래스나 다른 유니트로 이동시킵니다.

      아래의 예제는 UTest4.pas에 있는 TDog 클래스를 UTest3.pas로 이동하는 예제입니다.

 

  •       TDog 클래스를 선택하고 주 메뉴나 팝업에서 Refactor > Move를 선택하면 다음과 같은 대화상자가 표시됩니다..

 

리팩토-이동1.png

 

  •      이동하고 싶은 네임스페이스 uTest3.pas를 선택합니다.

리팩토-이동2.png

 

  • 아래와 같은 리택토링 확인 창이 표시되면  리팩토링 내용을 확인하고 화살표로 표시된 리팩토링 버튼을 클릭합니다.

 

리팩토-이동4.png

 

  • 리팩토링이 수행되어 uTest4.pas에 있던 TDog 클래스와 관련 메소드들이 uTest3.pas로 옮겨진 것을 확인 하실 수 있습니다.

리팩토-이동5.png

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15441
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13962
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16499
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22055
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18923
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39257
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174713
1303 [UX Summit 요약] 레거시 데스크탑 앱 UI/UX 현대화 – 이론부터 실제까지 (Legacy desktop apps UI & UX modernization. From theory to practice) 관리자 2020.11.04 406
1302 델파이에서 파이썬 표현식 활용하기 (PYTHON4DELPHI 샘플 앱) 관리자 2020.11.03 876
1301 개발자가 지원해야 하는 핵심 플랫폼들 관리자 2020.11.02 299
1300 이 달의 기술자료 - 2020년 11월 file 험프리 2020.10.27 334
1299 DELPHICON 2020, 곧 시작됩니다! file 관리자 2020.10.27 287
1298 [UX Summit 요약] 윈도우10에 멋진 플루언트UI 룩앤필을 델파이로 구현하기 (Giving your Apps the Fluent UI Look and Feel with Delphi)을 요약했습니다. - (델파이 개발자 뿐만 아니라) 윈도우 애플리케이션 개발자가 알아야할 기본이되고 중요한 마이크로소프트 UI 디자인의 핵심을 정리하고 보여줍니다. 관리자 2020.10.26 392
1297 RAD스튜디오와 델파이 – 원조 로우코드! 관리자 2020.10.23 297
1296 [UX Summit 요약 / 사례연구] 모바일은 두 번째: 어떨 때 데스크톱에 우선 집중하는가? 관리자 2020.10.22 272
1295 XML MAPPER 업데이트 관리자 2020.10.21 280
1294 [UX Summit 요약] 데스크탑용 UX 구축/최적화 전략(Strategies for building and optimizing the desktop UX) 관리자 2020.10.21 254
1293 [UX Summit 요약] 훌륭한 UI에 적용되는 과학적 원리 (Science of Great UI) 관리자 2020.10.19 250
1292 [개발팁] 오래된 레거시 델파이, C++ 애플리케이션을 최신 스타일의 초고속 앱으로 마이그레이션하기 관리자 2020.10.15 337
1291 C++ 업데이트 소식: 10.4와 10.4.1에서 집중한 C++ 품질과 관련하여 관리자 2020.10.12 309
1290 [10.4 시드니][업데이트 1] 새로운 IDE 기능들 관리자 2020.10.08 335
1289 [엠바카데로 UX SUMMIT] 눈여겨 봐야할 컨텐츠들! 관리자 2020.10.06 290
1288 델파이용 볼드(BOLD FOR DELPHI) 오픈 소스 공개! 관리자 2020.09.25 484
1287 [업데이트 서브스크립션 고객 - 무상제공] C++ 컴파일 스피드를 확 높여줄 TwineCompile 관리자 2020.09.25 542
1286 이 달의 기술자료 - 2020년 10월 file 험프리 2020.09.24 358
1285 델파이 개발자를 위한 파이썬 file 관리자 2020.09.23 569
1284 [팁] VLC 플레이어(ActiveX Import 해) 사용하기 file 험프리 2020.09.22 1001