는 경우 그 결정하는 우리의 시스템 정비,최고의 방법은 무엇인가에 대해 이동하는지?

StackOverflow https://stackoverflow.com/questions/87522

  •  01-07-2019
  •  | 
  •  

문제

우리는 유한 웹 응용 프로그램에 내장되어 ASP 사용하여 VBScript 기본 언어입니다.우리는 계약에 우리의 백엔드(framework 는 경우)은 아웃 날짜를 제공하지 않 우리와 함께는 적당한 공구에서 앞으로 이동하는 빠른 방식이다.우리는 꽤 많이 받아들이 현재 webMVC 패턴는 모든 장소,그리고 그것을 할 수 없습니다,합리적인 방식으로,현재의 기술입니다.큰 누락된 기능은 적절한 처리와 템플릿과 기업 사이에 다른 사람입니다.

현재는 두 가지가 있는 경로는 설명:

  1. 포트는 기존 응용 프로그램을 ASP 사용 하이브리고 희망이 거기에서 이동니다.NET MSJscript 너무 많은 문제없이,그리고 결국 끝에서.NET platform(바람직하게는 MVC 물건에 의해 수행됩니다 그런 다음 ASP.NET 보다 훨씬 더 없었던 우리는 지금,우리의 의견이).이것을 주장하고있으로 안전한 경로를 적은 위험으로 보다 다음 옵션을,이기는 하지만 그 수리하는데 다소 시간이 오래 걸릴.
  2. 완전히 다시 작성된 응용 프로그램을 사용하여 몇 가지 다른 기술을,오른쪽 지금은 Python WSGI 사용자 정의 프레임워크 ORM,그리고 좋은 템플릿 솔루션입니다.가 흔들림 방 여기에 대한 심지어 하나씩 다른 사전 구축된 솔루션입니다.이 방법은 희망이 될 수 있는 가장 빠른 솔루션으로,우리는 아마 실행하는 베타의 옆에 실제의 상품,그러나 그것은 잠재적인 위해 시간 낭비할 수 없는 경우/지 않습니다.

이 의미하지 않는다는 논리입니라,무엇으로 우리가 만난 몇 년 동안 상당히 안정적으로 언급은 매우 어려운 일입니다.그것은 SQL Server2005 년으로 무거운의 사용이 저장된 절차 및 발표에서 IIS6 을 위해,조금 더 배경입니다.

지금 질문입니다.은 사람의 두 가지 경로를 원하십니까?그렇다면,그것은 성공적인,어떻게 그것이 있었다는 더 나은,등등.우리는 보지 않을을 벗어나 많은 일을 한 사람의 두 가지지만,일부 제안이 있거나 다른 솔루션은 잠재적으로 도움이 될 것이다.

도움이 되었습니까?

해결책

을 버리지 마십시오드!

그것의 단일 최악의 실수를 만들 수 있습니다(에 큰 codebase).보 아야 할 것은 결코 하지 않는,제 1 부.

당신이 투자에 많은 노력으로 오래된 코드고했습니다.을 버리고 고전적인 개발자의 실수(한 나는 많은 시간).그것은 당신이 느끼는"나",봄처럼 청소입니다.그러나 당신이 필요하지 않을 구입하는 새로운 아파트와 모든 새로운 가구의 옷을 당신의 집입니다.할 수 있는 일 중 하나에서 시간에 대기실...와 아마 어떤 것들이 필요 신의 페인트를 칠.따라서,이것은 어디 리팩터링을 제공합니다.

에 대한 새로운 기능에의 응용, 쓰 C#와 통화에서 그것의 고전 ASP.당신은 강제 모듈을 때 당신은 다시 작성이 새로운 코드입니다.시간이 있을 때,리팩터링 부분을의 오래된 코드로 C#뿐만 아니라,작동 버그로 이동합니다.결국,당신은 대체 응용 프로그램의 새 코드입니다.

다음과 같이 할 수도 있습니다 당신의 자신의 컴파일러입니다.우리가 쓴 한한 우리의 고전 ASP 제를 허락하여 출력 PHP.라 Wasabi 고 나는 생각은 그것의 이유를 제프 앳 우 생각 Joel Spolsky 갔 자신의 락커입니다.실제로,어쩌면 우리는 그냥 선박,다음 사용할 수 있습니다.

그것은 우리가 스위치를 우리의 전체 codebase 니다.NET 다음 릴리스를 위해 최선을 다하는 동안에만 다시 쓰기의 아주 작은 부분이 우리의 소스입니다.그것은 또한 무리의 사람들을 우리에게 전화,미친 하지만 쓰는 컴파일러는 복잡하지 않고,그것을 우리에게 많은 유연성이 매우 뛰어납니다.

또한,이 경우 내부만 응용 프로그램이다.지 않은 그것을 다시-오직 당신만이 고객과 요구한 경우에는 실행할 필요가 있으로 고전적인 asp,당신은 당신을 만날 수 있는 요구 사항입니다.

다른 팁

이것을 사용 할 수있는 기회로 사용하지 않는 기능을 제거하!확실히 새로운 언어입니다.그것 2.0.그것은 많이 될 것입니다 적은 작업을 다시 지구 온난화의 80%를 당신이 정말로 필요합니다.

시작하여 닦는 당신의 두뇌의 깨끗한 전체적인 응용 프로그램.앉아서의 목록과 함께 그것의 전반적인 목표는 다음을 결정하는 기능이 필요에 따라 어떤 사람이 사용됩니다.그런 다음 그것을 다시 설계하 고객들에게 다양한 서비스를 제공하는 마음에,구축 할 수 있습니다.

(나는 사랑을 삭제하는 코드입니다.)

그것을 밖으로 작동보다 더 나은 당신이 믿는 것입니다.

최근 내가 큰 리버스 엔지니어링 작업에서 끔찍한 오래 된 컬렉션의 C 코드입니다.기능 기능에 의해 나는 할당의 기능은 여전히 관련 클래스로 썼에 대한 단위 테스트 클래스와 내장까지 무엇을 보고 있습니다.그것의 일부를했다 원래"로직"흐름을 통해 클래스고,일부는 클래스가 가난하게 디자인[대부분이었기 때문에 일부의 글로벌 변수는 너무 힘들었을 볶다.]

그것을 전달 장치 테스트에서 클래스 수준에서 전반적인 애플리케이션 수준입니다.레거시 원본으로 주로 사용 되는 종류의"사양 C"을 찾아내 정말 모 비즈니스 규칙이 있습니다.

지난해,내가 쓴 프로젝트 계획을 위해 교체 30 년 된 COBOL.고객 기대어 있었으로 Java.내 프로토타입 개정된 데이터 모델을 사용하는 파이썬 장고의 일부로 계획 노력입니다.수 데 핵심기 전에 트랜잭션 내가 할 계획입니다.

참고:그것은 빠를 구축 모형 및 관리자 인터페이스에서 장고하는 것보다 계획을 전체적으로 프로젝트.

때문에서"우리를 사용할 필요가 Java"정신의 결과로 프로젝트가 더 크고 더 비싼 이상 마감 장 demo.와 실제 가치를 균형된 비용.

또한,나는 같은 기본적인"프로토타입에 Django"에 대한 VB 데스크탑 응용 프로그램 되기 위해 필요한 웹 응용 프로그램입니다.나는 모델에서 장고,로드 레거시 데이터,그리고 실행했다.내가 사용하는 작업을 시작하여 지정한 나머지 전환의 노력이다.

참고:나는 작동하는 장고 구현(모델 및 관리자 페이지를 만)내가 사용하여 계획의 나머지는 노력이다.

최고의 부분 일에 대해 이런 종류의 프로토타이핑에서 장고가할 수 있는 식사,모델 단위의 테스트 및 관리자 페이지 당신이 그것을 얻을 때까지 .한때는 모델의 오른쪽,당신은 당신의 나머지를 보낼 수 있는 시간을 조롱한 사용자 인터페이스에까지 모두의 행복합니다.

당신이 무엇을 할 경우에 당신이 볼 수 있는 관리 계획을 따라하지 않는 경우 포트 응용 프로그램에 모두 중 하나입니다.그것은 유혹하는 그것을 버리고,처음부터 다시 시작하지만 경우에 당신을 관리할 수 있습니다 그것은 점차적으로 과오를 할 비용이 되지 않습니다 그래서 많은 원인이 그렇게 많은 공포.

반 년 전에 나는 대규모 웹 응용 프로그램(다행히도 이미 Python)는 몇 가지 중요한 구조적 결함(템플릿 및 코드 혼합,코드 복제,당신은 그것을 이름을...).

나의 계획은 결국 시스템에 대응 WSGI,하지만 나는 아직 없습니다.나는 그것을 할 수있는 최선의 방법은 작은 단계가 있습니다.지난 6 월,코드가 다시 사용되었고 진행이 가속화되고있다.

일반적인 원리는 나를 위해 일:

  1. 버리 코드를 사용하지 않거나 주석으로
  2. 을 던져 모든 의견되는 유용하지 않은
  3. 정의 계층 구조 (모델,비즈니스 논리,보기/컨트롤러 논리,디스플레이 논리,etc.) 의 응용 프로그램입니다.이 있는지 아주 분명한 건축물이지만 오히려해야 당신을 도울 생각에 대해 다양한 부분의 응용 프로그램 도움 당신은 더 나은 분류하는 코드입니다.
  4. 면 뭔가를 심하게 위반하는 이 계층 구조,변경 잘못된 코드입니다.이동시 코드의 주위에,그것은 레코딩에서 다른 장소로,등등.동시에 조정 애플리케이션의 나머지 부분 이 코드를 사용하는 대신의 오래된 하나입니다.을 던져 오래된 중 하나다면 더 이상 사용하지 않는다.
  5. 당신을 유지하는 Api 를 간단하다!

진행될 수 있는 힘들게 느리지만,그것을 가치가 있어야 한다.

내가 권하고 싶지 않다 JScript 으로는 확실히 도 미만 여행했다.ASP.NET MVC 이 빠르게 성숙을,그리고 나는 생각을 시작할 수 있다는 마이그레이션을 동시에 늘에 ASP.NET 어플리케이션 개발자로의 종료를 통해 제공.또 다른 옵션을 사용하는 것이 뭔가 ASP.NET w/아음속 또는 NHibernate.

하려고하지 않고 이동 2.0(더 많은 기능은 다음을 현재 또는 예정)자신을 구축하는 새로운 플랫폼의 목적으로 해결하는 현재 문제 코드 베이스(유지보수/속도/wtf)고 거기에서 이동합니다.

를 이용하면 좋을 고려하는 경우 이동하는 파이썬은 다시 작성하는 관리자 인터페이스에서 Django.이 도움이 될 것입니다 몇몇은의 단점을 보완했는 측면에서는 파이썬 실행 IIS 와 함께(또는 마이그레이션을 위해 아파치).말하자면,제가 추천 isapi-wsgi.그것은 지금까지는 가장 쉬운 방법을 실행 합니다.

동의함으로 마이클 프라엘과는것은 거의 항상 더 좋은 아이디어를 계속 진화하는 기존의 코드 베이스가 아닌 다시 쓰기에서 처음.일반적으로있하는 기회를 다시 쓰기 또는 재 요소의 특정 구성 요소의 성능 또는 유연성이다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top