2009-05-05 1 views
4

나는 아직 작성된 응용 프로그램에 대한 미래의 영향을 최소화하고자합니다. 제 3 자 제품을 피하기 위해 노력하고 있으며 심지어 운영 체제의 특정 호출을 피합니다. 누구나 응용 프로그램을 교정 할 다른 방법을 제안 할 수 있습니까? 이 아이디어는 10 년 또는 20 년 만에 주요 부분을 다시 작성할 필요가 없으며 유지 관리 (버그 수정) 만 수행해야 할 것입니다.향후 응용 프로그램 교정을위한 몇 가지 옵션은 무엇입니까?

+0

왜 이것이 '프로그래밍 관련 없음'으로 태그 지정되었는지 알 수 없습니다. 소프트웨어 설계 결정은 시스템의 수명에 영향을 미칩니다. –

답변

7

프로그램을 (최신 OS에서) 해당 기간 동안 계속 실행하려면 순수한 ANSI C (또는 C++)로 작성해야합니다. 그 밖의 다른 것들은 일부 종류의 조정이 필요하며, 앞으로 10-20 년 동안 어떤 일이 일어날 지 아무도 모릅니다. 말했다

, 여기에 이러한 종류의 문제를 최소화하기 위해 몇 가지 팁은 다음과 같습니다

  1. 이상한 종속성을 피하십시오. 라이브러리에 의존하려면 (또는 10-20 년 중 5 번 이상 생존 할 가능성이 높음) 또는 적어도 오픈 소스가되도록해야합니다. 따라서 직접 포크 할 수 있습니다 필요하다면.
  2. OS 관련 호출을 피하십시오. 이는 boost 또는 Qt 또는 glib 또는 what-have-you -와 같은 래퍼 라이브러리를 사용할 수 있지만 그면에서 호환성 문제가 발생할 가능성이 높아집니다.
  3. 모든 것을 문서화하십시오. 사실, 아무리 노력해도이 프로그램은 호환성 수정 및 버그 수정이 필요하며 기능 추가도 필요합니다. 따라서 15 년이 지난 가난한 유지 보수 프로그래머가 더 쉬워졌습니다. :)
2

64 비트를 염두에두고 작성하십시오. 현재 타사 종속성 중 많은 부분이 64 비트를 지원하지 않기 때문에 문제가 있습니다.

+0

128 비트를 써야하지 않습니다;) j/k – esac

3

오늘날의 컴퓨터에서 실행되는 약 10 년과 20 년 된 프로그램을 찾아 내서 왜 계속 실행하는지, 그리고 왜 그들이 가치가 있는지를 알아보십시오. 나는 종종 C와 FORTRAN으로 쓰여지는 가끔씩 사용되는 많은 계산 집약적 인 콘솔 기반의 어플리케이션을 다른 어플리케이션에 의해 호출합니다. 앱에 많은 GUI가 있다면 수십 년 후에도 여전히 가치가있을 것이라고 확신합니까? 아마도 UI 패러다임이 변화하고 발전함에 따라 UI를 대체 할 수있는 방식으로 사용자 인터페이스를 핵심 기능과 분리하는 것을 고려해보십시오. 시스템을 매우 모듈 방식으로 작성하는 경우 가치를 제공하는 모듈은 유지할 수 있지만 분명히 쓸모없는 모듈은 대체 할 수 있습니다.

0

자동화 테스트도 도움이됩니다. 귀하의 신청서에는 "교정본"이 붙지는 않지만, 사안이 바뀌면 해결해야 할 사항에 대해 알게 될 것입니다.

1

10 년 동안 거의 유지 보수가 필요없는 응용 프로그램을 빌드하는 가장 좋은 방법은 빌드되었고 아직 10 년 전부터 실행중인 시스템을 살펴 보는 것입니다.

내 경험에 비추어 볼 때, 주요 업그레이드가 필요하지 않은 시스템의 대부분은 10 년 전에 배포 된 것과 동일한 하드웨어에서 실행하고 동일한 인터페이스를 사용합니다.

메인테이너는 무어의 법칙 또는 사용성 향상으로 인해 성능 향상을 수년 동안 거의 유지 보수하지 않기로 결정했습니다.

0

내가 개발하는 많은 응용 프로그램이주기 (예 : 매년)로 실행됩니다. 작업을 계속하기 위해 내가해야 할 가장 중요한 일은 날짜 또는 날짜 범위를 하드 코딩하지 않는 것입니다.예 : 범위 물론

의 올해

  • DateSubmitted BETWEEN year(now()) AND DATEADD(year,1,year(now()))에 대한

    • year(now()), 이들은 단지 예입니다.

  • 관련 문제