저는 5 년 넘게 주로 솔로로 소프트웨어 프로젝트를 진행하고 있습니다. 시작하는 것은 엉망이었습니다 (저는 작업하는 세 번째 또는 네 번째 개발자입니다). 엉망이 아니지만 지금은 여전히 엉망입니다. 그것을 통제하는 과정의 진행률은 빙하 적이며 현재 상태에 대해 낙담하기 시작합니다. 어떻게 고치려면 어떻게해야합니까?
프로젝트 세부 사항 : MySQL 백엔드와 C #으로 작성된보고 엔진을 사용하여 거의 VB6 (Visual Basic Classic)으로 작성된 판매 프로그램입니다. C #보고 모듈은 작업의 즐거움으로, 지난 몇 년 동안 만 작성되었으며 Crystal Reports 9에서 모든 보고서를 작성하기 전에 작성되었습니다 (예, 여기에 의존하는 보고서가 여전히 있습니다).
그러나 실제 프로그램 자체는 완전한 재앙입니다. 총 90k LOC는없고 약 10k 줄의 주석이 있습니다 (주로 문서는 아니지만 주석 처리 된 이전 코드). 양식 파일 158 개, 모듈 파일 80 개 프로그램의 일부 기능은 단순히 더 이상 사용되지 않으며 관련 코드를 프로그램에서 제거하지 않고 (때로는) 언급하기 때문에 실제로 얼마나 많이 사용되는지 알 수 없습니다. 코드의 50 %만이 실제로 생산적으로 사용되는 것 같습니다.
하나의 모호한 클라이언트가 의존하는 것을 깨뜨릴 수 있는지 확실하지 않기 때문에 많은 코드를 터치하는 것이 두렵습니다. 코드 전체에 지뢰가 흩어져있는 것과 같습니다.
프로젝트에는 실제로 구조가 없습니다. 내가 지금까지 개혁을 인내 한 소수의 장소를 제외하고는 객체 지향이 아니다. 폼에서 데이터를 가져와야하는 경우 데이터베이스 개체를 인스턴스화하고 함수에서 쿼리를 바로 선언 한 후 실행하고 데이터 세트로 수행 할 작업을 수행하십시오.
프로젝트 작업을 시작했을 때 사용중인 소스 컨트롤이 없었습니다. 나는 다른 사람들이 그것을 사용하도록 격려하려고 노력했지만, 나는 새로운 사람이었고 사람들이 전복을 사용하도록 시도했지만 실패했습니다. 이 회사의 수석 개발자는 지난 몇 년 동안 마침내 수은 버그를 발견했으며 모든 개발자가 현재 모든 프로젝트에서 소스 제어를 사용하도록했습니다.
풀 타임으로 프로젝트를 개혁 할 수 있었다면 괜찮은 진전을 이룰 수 있었으며 프로젝트를 완전히 개조하는 데 걸리는 시간을 예상 할 수도 있지만 적극적으로 사용하고 있습니다. 계속해서 불을 끄고, 버그를 수정하고, 기능을 추가하는 등의 요청을받습니다.
이 프로젝트를 어떻게 고칠 수 있습니까? 다른 언어로 VB6 도구를 사용해보십시오. 여가 시간에 프로그램을 다시 작성해보십시오. 아니면 완전히 희망이 없습니까?
최신 정보
이 글을 읽은 후 나는 새로운 열정으로 프로젝트로 돌아 갔지만, 느린 진행 속도를 본 후 몇 개월 안에 절망에 빠졌습니다. 그런 다음 내년 정도에 걸쳐이주기를 2 ~ 3 회 더 반복했습니다.
나는 다른 직업으로 옮겼습니다. 수년간의 vb6과 다른 기술에 대한 주변 경험만이 있었지만 검색이 어려웠고 그 과정에서 많은 거부에 직면했습니다 (1 년 동안 약 12 건의 인터뷰). 이 상황에서 다른 사람들에게 내 충고는이 요소를 혼자 떠나는 것을 고려하는 것입니다. 이와 같은 막 다른 위치에 머물면서 경력에 미칠 수있는 피해를 고려하십시오.