2013-01-08 1 views
0

저는 아이디어를 개발 해왔고, 누군가 끝까지 실행해야 심오한 일을 끝내야하는지 알 수있었습니다.멍청이 및 난독 화 코드

나는 복잡한 PHP 프로젝트에서 일하고 있는데, 나는 유일한 개발자이다. 우리는 프로그래밍 작업을 돕기 위해 다른 사람을 고용하려고하지만, 모든 사람들이 첫날에 모든 것을 보지 못하게해야합니다. "핵심 아키텍처"와 "비 핵심"사이에는 명확한 경계가 있습니다. 나는 새로운 사람이 "비 핵심"섹션을 읽고 수정할 수 있기를 바랍니다. 코어 섹션은 비 코어가 작동하는 데 필요합니다.

내 계획 ID를이 :

  1. 은 핵심과 비 핵심 섹션에 후크를 포스트 커밋 추가 코어 부분을 비 코어
  2. 의 서브 모듈을 확인
  3. 자식 저장소를 분리합니다 코드 난독 화를 실행하기위한 코어 저장소

그런 다음 하위 모듈이 업데이트되면 파일은 실행되지만 읽는 것이 매우 어려울 것입니다.

# 1 및 # 2는 매우 쉽습니다. 하지만 # 3 ... 나도 할 수 있는지 모르겠다. 파일을 실제로 저장하는 방법을 보려면 git 내부를 조사하고 있었지만 파일 시스템에 저장되어있는 것처럼 보입니다. 따라서 "좋은"복사본을 완전히 삭제하지 않고 편집하고 난독 화를 추가 할 방법이 없습니다. 즉, 나는 항상 거기에 다른 레포를 데이지 체인으로 연결할 수 있습니다.

좋은 리포 -> (난독와) 코어 리포 -> 비 핵심

이 할 수있는 청소기 방법이 있다면 난 그냥 궁금 해서요.


또 다른 생각이지만 난독 화 코드에 대한 저장소를 사용할 수 없습니다. 대신 git commit 후크를 호출하여 코어 코드를 복사하고 난독 화하여 비 코어 레포에 배치하십시오. 폴더가 비 핵심 코드베이스의 일부가 아니도록 .getignore를 추가하십시오.

+0

완전히 주제가 아닐 수도 있지만 핵심 기능을 일련의 서비스/API로 표시 할 수 있습니다. – cmbuckley

+0

그래, 아이디어를 주셔서 감사합니다,하지만 거기에 많은 코드가 있고, 나는 그런 식으로 다시 쓰는 시간이 없어. 나는 아직도 그것을 모든 사람에게 넘겨주기 위해 일하고있다! – Beachhouse

+0

실제로 "꽤 명확한 선"이 있다면 너무 어렵지 않습니다. – hd1

답변

1

핵심 기능을 웹 서비스로 노출하고 HTTP를 통해 액세스합니다. 비 핵심 비트는 저장소에 보관하십시오.

+0

핵심 코드는 DB 연결, 추적, 디버깅과 같이 성능에 민감합니다. 추가 된 오버 헤드가 너무 많습니다. 댓글을 주셔서 감사합니다! – Beachhouse

+2

의견 : IMO, 개발자는 소스를 신뢰해야합니다. 다른 사람의 블랙 ​​박스와 함께 작업하는 것은 실망 스럽습니다. 너는 그걸 숨기고있는 두 사람을 해롭게한다. 질문에 답할 수있는 도구를 제공 할 수있는 시간을 절약 할 수 있습니다. 그것이 매력적인 논쟁이 아니라면, 나는 두 번째 접근법을 취할 것입니다 : 난독 화는 진짜 두통이 될 것입니다. on_과 동일한 컴퓨터에서 서비스에 액세스하면 _ 괜찮을 것이라고 생각합니다. 로컬 요청/응답은 네트워크를 건드리지 않고 커널이 처리해야합니다. – Matt