문제

나는 더 이상 여기서 일하지 않는 다른 프로그래머가 개발 한 상당히 큰 시스템을 연구하고 있습니다.

그리고 나는 그것을 유지하고 그가 사는 곳을 알고있는 조증 연쇄 살인범이기 때문에.

그러나 재미있는 것들을 제외하고, 시스템은 클래스 시스템으로 개발되었으며, 그렇지 않으며 이미 개발자 버전을 설정했으며 새로운 버전을 매우 빠르게 배포 할 수 있습니다.

  1. 새 모델로의 부분적 이동에 관한 팁이 있습니까 (나는 완전히 전환 할 수없고 시간을 얻지 못한다).
  2. 시스템에 남겨 둘 수있는 클래스 이름을 추천하지만 (해킹처럼 보이지 않으면) 현재 클래스 이름 (사용자, 데이터, 로깅 등)과 충돌하지 않습니다.

감사.

도움이 되었습니까?

해결책

팁 #0) 기존 코드가 실제로 실제로 나쁘거나 개인 선호도에 맞지 않습니까? 전자라면이 목록을 계속 읽으십시오. 그것이 후자라면, 심호흡을 몇 번, 다시 한 달 또는 두 달을 다시 알기 전에 다시 한두 번 보냅니다.

팁 #1) 코딩 할 때, 옳지 않은 것을 볼 수 있다면 고치십시오. 이것은 더 오래 걸리지 만 시스템이 더 '고정'되면서 결국 생산성 향상을 줄 것입니다. 당신이 그것을 고칠 시간이 없다면, 자신에게 호의를 베풀고 다음과 같은 주석을 추가하십시오 : // todo : rejig thing to x 나중에 시간이 있으면 "todo :"에 대한 코드를 검색하십시오. 해야 할 일 목록을 얻으십시오. "Todo-High", "Todo-Medium", "Todo-Low"와 같은 레벨을 줄 수도 있습니다. Eclipse에 Eclipse 또는 Zend Studio를 편집기/IDE로 사용하는 경우 환경 설정-> 작업에서 자동으로 귀하를 위해이를 찾아서 플래그하기 위해 설정할 수 있습니다.

팁 #2) MVC 로의 전환을 원한다면해야 할 중요한 일은 HTML을 논리와 분리하는 것입니다. 이것은 템플릿을 사용하는 것을 의미합니다. 이 작업은 시간이 오래 걸릴 수 있지만 일단 완료되면 나머지 전환이 훨씬 쉬워집니다.

팁 #3) 컨벤션을 설정하십시오. 예 : 컨트롤러 및 뷰 이름은 URL에 해당해야하며 URL에 해당하는 디렉토리에 거주해야합니다. URL은 장소 1234 :/places/edit/1234 컨트롤러 파일 : /htdocs/sitename/controllers/placescontroller.php 템플릿 파일 : /htdocs/sitename/views/places/edit.tpl

팁 #4) 주요 프레임 워크에 대한 튜토리얼 : Zend, CakePhp, Codeigniter/Kohana, Symfony. 하나가 당신보다 더 좋아 보이는지 확인하십시오. 왜 당신이 그것을 좋아하는지 스스로에게 물어보십시오. 그것이 당신에게 효과가 있거나 자신의 프레임 워크를 굴려야합니까 (의심스러운). 가능하면 기존 프레임 워크를 사용하십시오. 그것은 이미 수백 또는 수천 명의 사람들이 이미 버그 테스트를 거쳤으며, 그때는 저장할 때입니다! 나는 Zend Framework를 직접 좋아하며, 한 번에 한 조각 씩 가져 가거나 한 조각을 남길 수 있기 때문에 귀하와 같은 "전환 프로젝트"에 특히 좋습니다. 내 말은, 당신은 Zend의보기 객체 만 사용하거나 dbtable 객체 만 사용할 수 있습니다. 당신은 당신이 원하는만큼 그것을 남기지 않을 것입니다. 이것은 당신이 당신의 속도로 점차 Zend-World로 전환 할 수 있음을 의미합니다. EZ 경쟁자도 같은 방식으로 작동합니다.

팁 #5) 확장하여 사용하는 클래스. 예를 들어 Zend_acl을 사용하지만 실제로 Zend_acl을 확장하는 내 자신의 ACL 클래스를 사용합니다. 이것은 두 가지 주요 의미가 있습니다. a) 코드를 변경하지 않고 Zend_acl을 다른 것으로 바꿀 수 있습니다. 왜냐하면 모든 방법으로 Zend_acl이 내 특정 요구에 맞게 작동하는 방식을 수정할 수 있기 때문입니다. 왜냐하면 모든 방법을 무시할 수 있기 때문입니다. 나는 'ACL'수업에서 좋아합니다.

팁 #6) 경영진으로부터 구매를 얻으십시오. 리팩토링은 실제로 비용을 절약 할 수 있다고 설명합니다. 코드의 일관성과 이해력이 높아져 결함 수를 낮추고 찾아서 수정하기가 더 쉬워집니다.

팁 #7) Martin Fowler의 "Refactoring : 기존 코드의 디자인 개선"과 같은 주제에 대한 책을 읽으십시오.

다른 팁

Zend는 멋진 이름 지정 컨벤션을 가지고 있습니다.http://framework.zend.com/manual/en/coding-standard.naming-conventions.html

그들은 모든 클래스에 Zend_ 접두사를 추가했으며 이것이 제 3 자 수업과의 충돌을 피하는 방법입니다.

제 생각에는 모든 대형 프로젝트는 적어도 핵심 클래스에 대해 유사한 명명 규칙을 구현해야합니다.

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