[C#] VB.NET Winforms 응용 프로그램을 C #


Answers

Reflector 나 Anakrino와 같은 것을 사용하면 출력은 원래 소스가 아닌 일리노이를 기반으로합니다. 더 나은 코드를 생성하는지 여부는 논쟁의 여지가 있습니다 ...하지만 어쨌든 시도해 볼 수는 있습니다. :)

Question

VB.NET winforms 응용 프로그램을 C #으로 이식하기위한 '좋은'자료가 있습니까? 나는 단지 코드를 번역하는 소프트웨어가 있다고 확신하지만, 동시에 코드를 리팩터링하려고한다. 현재 형태로 유지하는 것은 문제가 있습니다. VB.NET에서 허용하는 '잘못된 디자인'관행을 사용하고 있기 때문에 향후 유지 보수가 더 복잡해지기 때문입니다. 여기있는 사람이 그 과정을 겪었습니까? 어떻게 그 일을 했습니까? 번역 / 리팩터링 접근법을 사용 했습니까? 대부분의 경우 현재 코드베이스를 보지 않고 최종 제품을 사용하여 기능을 재현 했습니까? 당신은 (집단적으로) 무엇을 권하고 싶습니까?

업데이트 :

Grauenwolf에게 현재 언어로 표시하는 것과 같이 다음과 같은 문제가 있습니다.

  • 쉽게 기능을 추가 할 수 없습니다. VB.NET은 내가 견고한 언어가 아닙니다. 언어를 배우는 아이러니 한 점을 고맙게 생각합니다. 그러나 미래의 유지 관리는 VB.NET을 모르는 사람을 설명해야합니다.
  • 나머지 응용 프로그램은 C #으로 포팅되었습니다 (오래 전, 사실). 우리가 추가하고 싶은 모든 기능은 앱의 연결을 끊는 것에 달려 있습니다 (지금은 매우 밀접하게 연결되어 있습니다). 내 선택은 내가 익숙하지 않은 언어로 리팩토링하거나 이해하는 언어로 리팩터링하는 것입니다.

질문에 대해 찬성 한 사람이라면 왜 그랬는지 모르겠습니다. 우려는 내가 VB.NET에 남겨 둘지 여부가 아니다. 관심사는 지금 그것을 포팅하지 않는 미래의 비용입니다. 문제를 해결하는 데 막대한 비용을 쏟아 붓는 경우 추가 단계로 이동하여 향후 프로그래머가 유지 보수 할 수있는 방법을 찾지 않으시겠습니까?

저자의 메모 : 나는이 질문을 오랫동안 보지 않았고 최근의 반응이 있었기 때문에 질문에 '대답'을 옮기고 '대답'을 삭제했습니다 (실제로 대답이 아니기 때문에).




나는 약 2 년 동안 VB.NET에 대한 경험이 있지만, 이제는 일상적인 개발에서 C # 만 사용합니다. VB.NET 을 C # 으로 변환하기 전에 VB.NET 코드 를 C # 으로 변환 한 다음 책에서 배웠습니다.




필자는 developerfusion 의 번역기를 사용했지만 코드 나 클래스를 번역하고 수동으로 결과를 C # 프로젝트에 붙여 넣지 않았습니다.

반사경은 훌륭한 도구이지만 λ 함수를 읽을 때 몇 가지 문제를 발견 할 수 있습니다.

리팩토링을 위해 우리가 시도한 가장 좋은 도구는 Refactor Pro 입니다.