알았어, 내가하는 모든 네크로의 크립 키퍼라고 불러.하지만 이것의 진정한 가치가 제대로 이해되지 않았다 역사적으로, "명확하지 않은 JavaScript"또는 파일에 최대한 링크되지 않은 인라인 HTML 이벤트 핸들러 속성 및 스크립트 태그를 통해 JS를 HTML 외부로 유지하는 것이 다음과 같은 중요한 요소입니다.
거짓말! (그러면 지금은 그럴 것입니다)
문제의 진실은 기술적으로 눈에 띄는 JavaScript를 수행하고 위의 세 가지 항목을 계속 끌어낼 수 있다는 것입니다. 당신이 HTML 컨텐츠를 동적으로 구축하지 않는 한, 그것은 하루 중 큰 SEO 아니오였습니다.
그러나 멈추고 생각하십시오.
실제로, 분리를 유지하는 데있어 가장 큰 이익이자 가장 많이 팔린 큰 이익은 항상 개발자가 얻는 직접적인 이익이었습니다. 편리한 동일한 이벤트에 대해 동일한 html 요소에 원하는만큼의 이벤트 핸들러를 가질 수 있습니다. 즉, 태그가 class="some_class"
항상 특정 동작을 얻지 만 id="bonus_behavior"
div 안에있을 때 보너스 동작이 발생하면 허용되는 이벤트 처리기 내부의 논리를 망칠 필요가 없습니다. 컨텍스트에 따라 핸들러를 추가하거나 추가하지 않을 수 있습니다.
너무 읽기 쉽다
또 다른 이점은 가독성입니다. 브라우저 도구가 IE의 독점적 인 오류 메시지로 구성되어 [object]
있지만 IMO에 문제가 있음을 알려주는 더 중요한 문제였습니다 . 여전히 큰 문제입니다. 여기 CSS, JS가 있고 HTML은 서버와 서버가 만나는 곳입니다. 이러한 모든 것들이 한곳에 모이면 후크 (ID, 클래스 및 계층)에 의존하여 모든 것이 HTML에 연결하는 데 사용되는 추상화 계층을 만드는 것이 좋습니다.
IMO를 사용하면 HTML, CSS 및 JS를 더 많이 분리 할 수있을뿐만 아니라 진행 상황을 읽고 수정하는 것이 더 쉬워집니다. "dynamic_combo_box"를 클래스로 사용하는 빈 div가 있으며 데이터를 동적으로로드하는 멋진 선택을하는 것이 좋습니다. 나는 JS와 CSS에서 그것을 찾는 방법에 대한 리드를 가지고 있으며 그러한 문제에 대해 수업에 뛰어 들면 그것이 무엇이고 HTML에서 그것을 찾는 방법을 알게 될 것입니다.
훨씬 더 가파르게 만들기
물론 가독성은 유지 관리 성과 함께 진행되는 경향이 있습니다. 관련 HTML이 자주 발생하는 스크립트 태그에 직접 덤프하여 직접 작업을 수행하면 사람들이 작업중인 다른 페이지의 HTML에서 해당 스크립트를 잘라 붙여 넣기가 더 쉬워집니다. 그들은 비슷한 기능을 원합니다. 이제 당신이 결국 두 가지 성가신 유사하게 될 것입니다.하지만 기대를 무시하고 시간이 지남에 따라 행동이 문제가 될 수있는 100 %는 아닌 두 가지가 될 것입니다. 다른 사람은하지 않았다.
따라서 이러한 HTML 후크에 대한 동작을 리깅하면 코드를 스마트하게 재사용 할 수 있습니다. 대체 구현을 위해 동작을 분기 해야하는 경우 동일한 기능으로 이동하여 HTML 계층 구조 또는 일부 대체 동작을 트리거하는 데이터 첨부로 처리하십시오. 특정 유형의 UI 요소가 작동하는 방식과 나쁜 게으른 잘라 내기 및 붙여 넣기 유형이 UI를 사용하는 것이 가장 쉬운 방법이기 때문에 옳고 유지 보수가 쉬운 것을 이해하려는 사람에게는 쇼핑 중 하나입니다. 지금해야하며 유지 관리가 가능하도록하는 가장 좋은 방법입니다. 공황이나 무관심으로 인해 덜 신경 쓰지 않는 사람에게도 가장 쉬운 "두"일을하십시오.
그러나 2014 년은 어떻습니까?
현대의 단일 페이지 응용 프로그램에서 이러한 까다로운 것들 중 일부는 독단적으로 붙어 있지 않아야하지만 내가 유일한 사람이라고 생각하지 않을 때 나를 믿어야한다는 것이 합법적 인 점 일 수 있습니다 궁극적으로 작업이 쉬워지기 때문에 판매되었습니다. 나는 대부분의 좋은 방법으로 게으르다. 앱 전체에서 변경 사항을 얻기 위해 한 곳에서만 변경해야 할 때, 버그가 무엇인지 파악하기 위해 한 곳에서만 살펴보고, 도대체가 무엇인지 쉽게 이해할 수있을 때 좋아합니다. 계속해서 그 코드를 가장 잘 재사용하여 매우 유사한 것을 수행하는 방법.
DB 또는 데이터 계층을 분리하는 것이 좋습니다. 결국 권투 선수들에게 바람을 불어 넣고 다음날 아침 편집증 냄새 검사를하는 데 10 분을 소비하는 것보다 밤에 세탁을하기 위해 5 분을 모두 걸리는 것과 같이 시간을 절약하는 것은 궁극적 인 이유입니다.
나를 위해, 내가 왜 방해받지 않는 JS뿐만 아니라 스타일 / 행동 / 콘텐츠 문제의 분리를 가능한 한 중요하게 생각하는 것은 이기적인 동기입니다 .WHAT-freaking-WG는 이러한 우려를 당연히 훌륭하고 시원하고 편리한 방법으로 해결하십시오.
이제 모든 사람들이 SPA를 수행하고 있으며 JS없이 실행하는 사람들에 대해 관심을 가져야한다는 것을 거의 바보짓하려고 노력하고 있습니다 (이제 JS로 생성 된 콘텐츠로 접근 할 수있는 접근성). 이것에 관해서는 IMO와 관련하여 여전히 승리가 있으며 개발자 가이 물건을 작성하고 유지 관리하는 것은 대부분 당신에게 있습니다. 그리고 실제로, 그 승리는 항상 가장 밑줄이 났어 야했지만 어떤 이유로 든 결코 손쉬운 수정 / 수정 / 디버그 덕분에 행복한 사고로 당신과 제품에 이익을주기 때문에 어떤 이유로도 그런 적이 없었습니다.
괜찮아?
그래, 내 생각 엔 콘테스트 또는 무언가에 대한 일회용 던져 버림 앱에서. 그러나 나는 습관을 가지고 있기 때문에 여전히 그렇게 할 것입니다. 실제로하기가 더 어렵지 않습니다.