나는 그들을 따로 취급 할 것입니다. 사이트의 일부에 단순히 문서 모음 인 경우 (익명 사용자 및 로그인 한 사용자와 동일하게 보이는)-동적으로 다른 페이지를 제공하는 웹 앱과는 다른 방식으로 구성하는 가장 좋은 방법 각 사용자에게. 사이트의 두 부분을 두 개의 앱 / 구성 요소로 나누고 각 부분을 다르게 다루십시오.
코드가 버전 제어를 받으면 이전에 '경우에 따라'유지했던 불필요한 코드를 모두 제거하고 자신있게 제거 할 수 있습니다. 버전 제어없이 어떻게 살아남 았는지 모르겠습니다.
네 개의 다른 URL이 모두 동일한 리소스를 가리키는 경우 문제가 훨씬 더 큽니다. 당신은 무한한 양의 URL을 다루게됩니다. 가능한 빨리 URL 정규화 정책을 마련해야합니다. 이 작업이 완료되면 시맨틱 의미를 URL에 첨부하고 자원에서 URL로 역방향 조회를 수행 할 수 있습니다. 이를 통해 '웹 임프린트'와 사이트의 '리소스'를 분리 할 수 있습니다.
"정규화 된 형식이 무엇입니까?" 일단 고정되면. 그런 다음 사이트의 50,0000 개 이상의 URL을 2,000 개로 줄일 수 있습니다. 이해하고 관리하기가 훨씬 쉽습니다.
참조 : http://www.sugarrae.com/be-a-normalizer-a-c14n-exterminator/
- '원하는 것'이 아닌 '무엇인가'를 모델링하는 것으로 시작하십시오.
처음부터 모범 사례를 염두에두고 설계되지 않은 레거시 사이트를 정리하는 경우 '엉망'에서 '최상의 디자인'으로 이동하려는 유혹이 있습니다. 나는 적어도 두 단계로 'mess'-> '잘 모델링 된 레거시 코드'-> '추가 된 기능을 갖춘 이상적인 새로운 코드'를 수행해야한다고 생각합니다. 기능 추가를 중지하십시오. 엉망을 고치거나 부패 방지 층 뒤에 캡슐화하는 데 집중하십시오. 그래야만 디자인을 더 나은 것으로 바꿀 수 있습니다.
참조 : http://www.joelonsoftware.com/articles/fog0000000069.html
참조 : http://www.laputan.org/mud/
테스트 스위트 / 프레임 워크를 작성하고 테스트 추가를 시작하십시오. 그러나 일부 레거시 코드를 테스트하는 것은 까다로운 일입니다. 따라서 너무 매달리지 마십시오. 프레임 워크가 있으면 테스트를 조금씩 추가 할 수 있습니다.
참조 : http://www.simpletest.org/en/web_tester_documentation.html
소프트웨어 개발 모범 사례에 대한 대부분의 문헌은 데스크탑 중심 / 엔터프라이즈 앱 중심입니다. 당신의 사이트가 혼란 스러울 때이 책들을 읽고 당신은 그 책에서 나오는 지혜에 경외심을 가질 수 있습니다. 그러나이 모범 사례의 대부분은 웹 / SEO가 중요해지기 전에 이미 발생했음을 잊지 마십시오. POEA, Gof 등과 같은 고전 서적에서 언급 된 것보다 현대 웹에 대해 많이 알고 있습니다.
계속할 수있었습니다. 그러나 이것들은 오래된 레거시 사이트를 반짝이는 새로운 사이트로 리팩토링 할 때 선택한 것들입니다.