문제

현재,저는 더 많거나 적은 조직 설정 프로젝트의 일 또는 근무했다.일부는 리팩터링하고 문서화 장치-테스트,다른 사람은 없습니다.

하고 싶을 때,다시 사용하는 코드를 작성하기 전에,나는 몇 분을 보내 검색에 대한 프로젝트는 내가 쓴 이 코드는,복사하여 붙여넣기 이 코드는 새로운 하나,리팩터링 및 문서화 장치-테스트하는 경우에 필요 합니다.

것은,때문에 그것이 수행하는 데 필요한 추가 작업,무엇을 기억하고 작성되었고 어디서,(아마의 추악한)를 중복되는 코드에 걸쳐 프로젝트입니다.다른 개발자와 작업하지 않고 일반적인 코드베이스에 문제가 있다.

지금,나를 만들려는 코드,하지만 난 그것에 대해 아무것도 본 적이 없는 심각한 어떤 회사입니다.

그래서 어디를 시작하는가?이 있는 책이나 온라인 설명서 하나 설명하는 방법을 만들기 같은 코드하거나 설명 기존 또는 가상의 codebase,어떻게 작동하는 방법,그것은 유지,etc.?

도움이 되었습니까?

해결책

나는 생각을 참조하여 재사용할 수 있는 라이브러리입니다.그것은 약간의 언어에 의존하기 때문에 언어와 링커와 컴파일러는거 나 코드를 사용하지 않는게 전달 작은 반면 just-in-time 컴파일 또는 해석되는 언어지도록 자원 낭비될 수 있으로써 전체 라이브러리로드됩니다.

길고 짧은 그것을 보는 것입니다 당신의 코드를 실현하는 작업은 일반적으로 수행하고 매개 변수는 사용됩니다.추가 작은 공간에 대한 변경과 인터페이스를 만들에게 숨기는 모든 기능이다.을 정의하는 인터페이스를 올바로가 가장 중요한 부분입니다.을 피하려고의 컬렉션 함수를 호출하지만,오히려 작성과 관련된 함수는 인터페이스는,다음의 인터페이스당 운영 업무-당신이 시도하고 있는 분할하는 작업으로 작업입니다.

이 인터페이스 솔루션은 드 몇 구현(의 refactor 일)과 작품을 사용하는 인터페이스입니다.이 도움이 될 것으로 분리하는 일반적인 코드와 프로젝트 코드를 수 있도록 개발될 다른 요금입니다.

그룹화를 시도하고 모든 관련된 정보에 관한 특정 작업에 또는 태스크는 인터페이스 그래서 인터페이스에 의존하지 않는다.

몇 가지 유용한 링크에 대한 인터페이스가 있습니다.일부 링크의 이야기에 대한 객체 지향적 언어로 그 원리와 아이디어에 적용할 수 있는 다른 유형의 언어입니다.

http://en.wikipedia.org/wiki/Interface_%28computer_science%29#Software_interfaces_in_object_oriented_languages

http://en.wikipedia.org/wiki/Interface_%28computer_science%29#Programming_against_software_interfaces

다른 팁

"nofollow noreferrer"> Google 코드 또는 github .이렇게하면 코드가 온라인으로 백업되고 필요한 경우 이전 버전으로 되돌릴 수 있습니다.

첫째, 이것은 다른 DEVS 및 관리의 참여를 요구할 중요한 노력임을 인식합니다. CodeBase를 재구성하는 동안 새로운 기능에 대한 작업을 중지해야 할 때는 거의 관리 옵션을 사용하는 옵션입니다. 그들에게 그것을 언급하는 것이 나쁠 수 있습니다. "우리는 다시 org가 끝날 때까지 이것을 해제 할 수 있습니다."우리는 "이 조각이 끝날 때까지 다시 org를 할 수 없으며, 큰 일과 다시 org는 서로를 기다립니다. 관리 기능이 교착 상태이며 고치기가 어렵습니다.

이동하기, 팀과 함께 앉아서 제품이 무엇인지, 겹침이있는 곳, 그리고이 재사용에서 제품이 어떻게 이익을 얻을 수 있는지 식별해야합니다. 제품의 빌드 구조를 면밀히 검토해야하며, commons-library (빌드하려는 것)

을 포함시키는 리팩토러가 필요합니다.

앞으로 이동하면 종속성을 분리해야합니다. 커먼즈가 프로젝트에 의존하지 못하게하십시오. 미래에 프로젝트 (Projb)가 종료 될 가능성이있는 좋은 기회가있는 경우 다른 프로젝트 (Projb)의 프로젝트 (Proja)를 다른 프로젝트 (Proja)에 의존하게하지 마십시오. 원형 의존성은 치아를 띠고 씹는 것을 만듭니다.

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