2013-02-20 1 views
0

과도한 경우 사과드립니다.scala/mongoDB 웹 앱을 리버스 엔지니어링하는 방법은 무엇입니까?

저는 프로젝트 관리자이며 최근 창업 개발자가 무능력 해 지도록 만들었습니다. 프로젝트는 독자적으로 개발 한 프로젝트였습니다.

이제 우리는 코드가 문서화되지 않았으며 개발 과정에서 거의 12 개월이 지난 후에도 지원 문서가 보관되지 않은 상태로 남아 있습니다. 우리가 배운 교훈입니다. 우리는 지금 분명히 교체 용 개발자를 찾고 있습니다. 그러나 이전에 이러한 상황에 처해 본 적이 없으며 리버스 엔지니어링과 프로젝트 해체에 대한 조언을 원합니다.

프로젝트는 웹 응용 프로그램이었으며, 스칼라로 작성되었으며 mongoDB를 활용했습니다. 현재 유닛 테스트가 없습니다 (우리는 당시에 이것을 구현하는 과정에있었습니다). 앱은 개발 단계에서 상당히 멀리 있었고 가능한 한 빨리 실행되도록하는 것이 절대적으로 중요합니다. 코드를 다시 작성하는 것은 지금 시점에서 고려할 사항이 아닙니다. 스칼라는 개발자 만이 프로젝트에 대해 배웠으며 우리는 언어를 아는 다른 개발자가 없습니다.

리버스 엔지니어링 코드는 어느 정도 가능합니까? 재능있는 새로운 개발자라도 앱을 완전히 리버스 엔지니어링 할 가능성이 있습니까? 리버스 엔지니어링이 원본 코딩보다 상당히 오래 걸립니까?

기본적으로 우리는 프로젝트를 온라인으로 되돌려 놓는 최선의 방법에 대해 사람들이 제안 할 수있는 조언을 원합니다. 우리는 또한 새로운 개발자에게 가능한 한 프로젝트에 대한 많은 정보를 제공하고자합니다.

미리 감사드립니다.

+0

엔지니어는 항상이 작업을 수행합니다. 프로젝트에 참여한 기술을 유능한 사람을 고용하면 곧 코드를 알아낼 것입니다. –

+0

리버스 엔지니어링이란 무엇입니까? 소스 코드가 있습니까? 또는 바이너리 만 있습니다 (jar/war 파일)? – tenshi

+0

우리는 모든 원시 코드를 갖고 있습니다. 불행히도 제가 언급했듯이 그것은 완전히 문서화되지 않았기 때문에 모든 것을 스스로 알아야 할 것입니다. 이것은 우리가 문서화되지 않은 것을 의미하는 것입니다. 그것이 우리가 생각한 것보다 더 일반적 일 수 있다는 소식을 듣고 진심으로 환영합니다. – Rob

답변

2

음, 두 개의 학교가 있습니다.

  1. 바퀴를 다시 발명하지 마십시오.이 학교는 소스 코드가 있고 잘 쓰여 있다면 완전히 쓰는 것이 아니라고 말합니다. 이것은 항상 발생합니다. 문서를 작성할 때 코드를 문서화하는 것이 좋지만 문서화되지 않은 코드로 끝나는 경우를 대비하여 알아낼 수 있습니다.
  2. 저 자신의 코드를 작성하려고합니다. 잘못 작성한 코드를 찾아내는 것보다.이 학교에서는 대부분의 경우 문서화되지 않은 코드를 이해하는 것보다 자신의 코드를 작성하는 데 시간이 덜 소요된다고 말합니다.

개인적으로 나는 처음으로 학교에 더 기울어졌습니다. 그러나 상황을 파악하기 위해 시간을 낭비하는 대신 코드를 다시 작성해야한다고 생각하는 상황에 몇 차례 붙어 있습니다.

답변은 귀하의 질문에 대한 마법의 답이 없습니다. 그것은 모두 당신의 특정한 상황에 달려 있습니다.

추신 : 나는 "역 엔지니어링"의 의미를 정말로 이해하지 못한다고 생각합니다. 그것까지 구글.

+0

이 답변을 주셔서 감사합니다. 코드를 읽을 시간이 있으면 교체 결정을 내릴 것입니다. – Rob

관련 문제