코드 재사용 용 PERL 모듈을 효율적으로 관리하려면 어떻게해야합니까?
-
21-08-2019 - |
문제
우리 회사는 mod_perl, axkit 및 apache의 조합을 사용하여 웹 앱을 개발합니다. UNIX 운영 체제에는 수많은 PERL 모듈, Javascripts 등이 있습니다.
새로운 기능을 작성해야 할 때마다 코드 재사용을 시도하지만 모든 PERL 모듈과 Javascripts가 폴더에 흩어져 있습니다.
나는 나중에 똑같은 일을 한 함수가 있음을 발견하기 위해 나중에 코드를 작성하는 것을 싫어합니다. 내 현재의 방법은 테이블 이름을 위해 중복 기능이 있는지 확인하려고 시도하는 것이 포함되지만 그 외에도 거의 의지가 거의 없습니다. 검색하고 아무것도 찾는 데 너무 많은 시간을 소비하고 싶지 않기 때문에 포기하고 새로운 기능을 작성하십시오.
더 좋은 방법이 있습니까? 또는 더 나은 것은 모든 기능과 모듈을 올바르게 관리하고 개발자가 주석 등을 기록 할 수 있도록 설치할 수있는 프리웨어 도구가 있습니까?
편집하다
거기 있습니다 이 토론 도구를 사용하여 C ++에서 코드 복제를 감지 할 때 UNIX 플랫폼의 PERL 코드에 대해 이와 같은 것이 있습니까?
감사합니다 ~ 스티브
해결책
정리하다 각 기능에 하나의 장소가 있어야하고 무언가를 쉽게 찾을 수 있도록 소스 디렉토리.
공유하십시오 이름 지정 컨벤션 복제를 방지합니다.
설계 당신의 모듈은 그들이 한 가지 일만 할 수 있도록하고 잘 수행합니다.
검토 이름과 위치가 올바른지 확인하는 코드.
효율적으로 제공하십시오 검색 엔진 코드 인덱서를 기반으로 특유의 작업을 수행하는 기능이 이미 있으면 쉽게 볼 수 있습니다.
시간을 과소 평가하지 마십시오 일반화하십시오 효과적으로 재사용 할 수 있도록 기존 구성 요소.
문서 API 문서 AN/또는 단위 테스트가 포함 된 모듈.
의사소통하다 팀 내에서 모든 사람이 이미 작성된 내용에 대해 잘 이해하고 누가 모듈을 사용했는지 또는 사용했는지 알고있는 사람을 잘 이해할 수 있습니다.
다른 팁
이것은 내가 매우 관심있는 것입니다.
SVN과 같은 간단한 버전 제어 소프트웨어를 사용하여 Git 또는 Bazaar가 원하는 것이 아닙니다. VC는 이러한 시스템 외에 필수이지만이 시스템은 아닙니다. 일부 연구 후, 나는 이것을 달성하기 위해 포장을 조사하라는 지시를 받았으며, 일종의 포장 시스템이 갈 길이라고 생각합니다.
포장 시스템의 예를 원한다면 Debians Apt를보십시오. 각 패키지에는 설명과 Sourcecode가있는 버전의 종속성이 있으며 우수한 패키징 시스템이 제공되므로 "Magic Search Set Dequation Fixpoint"처럼 이동할 수 있으며 Magic Packaging System은 문제를 해결하는 모듈을 찾을 것입니다. 소스 코드에 패키지를 포함 시키면 그래프 등과 같은 모든 누락 된 종속성을 추가합니다.
그러나 이것에 대한 연구는 내 노트북의 HDD가 사망하기 직전에 시작하여 더 많은 연구와 실제 결과를이 방향으로 연기했지만 흥미로운 것을 찾을 수있을 것입니다 (그리고 나에게 말해 줄 수 있습니다. 너지, 너지)
HTH, TETHA
한 번은 Perl을 사용한 회사에서 일했고 비슷한 문제가 있습니다. 우리가 생각해 낸 해결책은 3 계층 아키텍처 (프레젠테이션, 비즈니스 및 지속성) 및 조작되는 요소를 고려하여 파일의 기능을 재구성하는 것이 었습니다.
따라서 데이터베이스의 각 메인 테이블에 하나의 Perl 파일이 있고 각 엔티티가 비즈니스 운영을 조작하기 위해 각 엔티티에 대해 하나의 PERL 파일이 있습니다.이를 통해 코드 복제를 피하기 쉽습니다. 주어진 기능.