나는 우리의 현재 프로젝트의 아키텍처를 개발하고 내 자신에 개발을 시작 (같은 도달 revision 40
) .
우리는 간단한 지하철 라우팅 프레임 워크를 개발하고 있으며 제 디자인은 매우 잘 수행 된 것 같습니다. 몇 가지 주요 모델, 해당 뷰, 주요 로직 및 데이터 구조가 "있는 그대로"모델링되고 렌더링과 완전히 분리되었으며 알고리즘 부분도 구현되었습니다. 주요 모델을 제외하고 소수의 교점이있었습니다.
나는 그 디자인을 확장 가능하고, 커스터마이즈 할 수 있고, 구현하기 쉽고, "블랙 박스 상호 작용"에 기초하여 상호 작용하며, 아주 훌륭하다고 생각합니다.
이제 무엇을 했습니까?
- 해당 인터페이스의 구현을 시작하고 편리한 라이브러리를 이식했으며 일부 응용 프로그램 부분에 대한 구현 스텁을 작성했습니다.
- 코딩 스타일과 해당 코딩 스타일 사용법 (내가 작성한 코드)의 예를 설명하는 문서가 있습니다.
- 코드 (스마트 포인터를 통해 래핑 됨)
C++
등을 포함하여 다소 현대적인 개발 기술을 사용하도록 강요했습니다no-delete
. - 구체적인 인터페이스 구현의 목적과 사용 방법을 문서화했습니다.
- 단위 테스트 (주로, "실제"코드가 많지 않았기 때문에 통합 테스트) 와 모든 핵심 추상화에 대한 일련의 모형.
나는 12 일 동안 결석했다 .
우리가 지금 무엇을해야합니까 (프로젝트는 다른 4 명의 팀원이 개발했습니다) :
- 모든 프로젝트를 통해 3 개 가지 코딩 스타일 (내 생각, 그들 중 두 사람은 같은 스타일 :)를 사용하기로 합의 , 같은 우리의 추상화의 이름에 적용 (예를 들어
CommonPathData.h
,SubwaySchemeStructures.h
) 기본적으로 일부 데이터 구조를 선언 헤더입니다. - 최근 구현 된 부품에 대한 문서가 전혀 없습니다.
- 내가 최근에 호출 할 수있는 것은
single-purpose-abstraction
적어도 2 가지 유형의 이벤트를 처리하고 다른 부품과 긴밀하게 연결되어 있습니다. - 사용 된 인터페이스의 절반은 이제 멤버 변수를 포함합니다
(sic!)
. - 거의 모든 곳에서 원시 포인터 사용법.
- "
(Rev.57) They are unnecessary for this project
" 때문에 단위 테스트가 비활성화되었습니다 . - ... (아마도 모든 것이 아님) .
커밋 역사는 내 디자인이 과잉으로 해석되어 사람들이 개인 자전거 및 바퀴를 다시 구현하기 시작한 후 코드 덩어리를 통합하는 데 문제가 있음을 보여줍니다 .
이제 프로젝트는 여전히 작은 양의 일을하고 심각한 통합 문제가 있으며 메모리 누수가 있다고 가정합니다.
이 경우 할 수있는 일이 있습니까?
나는 모든 노력에 아무런 이점이 없었지만 마감 기한이 곧 다가오고 무언가를해야한다는 것을 알고 있습니다. 누군가 비슷한 상황이 있었습니까?
기본적으로 나는 프로젝트를 위해 좋은 (잘, 내가 할 수있는 모든 것을했다) 아마도 좋은 무언가로 이어질 것이라고 생각했지만, 나는 내가 틀렸다는 것을 이해한다.