벌레와 팁/팁

HTML 코드를 더듬거릴 때는 흔적을 남기라.

koc/SALM 2010. 2. 7. 22:09

초보 운전자가 가장 자주 하는 실수는 브레이크 페달을 밟아야 할 때 가속 페달을 밟는 것이라는 기사를 읽은 적이 있습니다. 저 역시 그와 비슷한 실수를 한 적이 있습니다. 운전 학원 안에서 일어난 일이라서 별다른 사고 없이 끝났습니다만, 순간 당황했던 기억이 나네요.

그렇다면 블로그를 편집할 때 (X)HTML 등에 익숙하지 않은 초보자가 자주 하는 실수는? 바로 남겨야 할 것을 지워 버린다는 것입니다. 물론 백업본이 있지만, 백업본보다는 수정본에도 무언가 남기는 편이 더 나음에도 그러지를 않는다는 점이 최대의 실수입니다.

원본을 남기라. 주석을 넣으라.

가장 좋지 않은 습관은 남기기보다 지우기를 생각한다는 점입니다. 운전에서 가장 중요한 것은 가속이 아니 정지라는 점을 자주 잊듯이[각주:1] 초보 때는 흔적을 말끔히 지우려 드는 때가 많습니다. 하지만 고수가 될수록 뭔가 흔적을 더 남기려 합니다. 그 흔적은 언젠가 그 고수를 돕는 때가 생기기 때문이지요.

따라서 블로그를 편집할 때 가장 기본은 지우지 말라입니다. 절대 지워서는 안 됩니다. 어떻게든 원본을 남겨야 합니다. 원본을 남기는 방법에는 원본 내용을 복사하여 백업 파일로 만들어 두는 것이 가장 기본입니다. 그 다음으로 (X)HTML에서는 주석(comment)을 남기는 것이 중요합니다. 주석은 아무리 많아도 HTML 등에서는 처리가 되지 않고 무시합니다. 그저 아무것도 없는 무(無; blank)로 처리합니다. 이때 무(無)공백(space)과는 다릅니다. 공백의 경우 화면에서 띄어쓰기 1칸이라도 차지하지만, 무(無)는 아예 아무것도 보이지 않습니다. 따라서 주석으로 처리하면, 지우지 않고도 지운 것과 동일한 효과를 가집니다.

주석 예시 1

[code html; highlight: (5)] <div class="TD_album">     <div class="TD_thumbing">[#\#_item_thumbnail_##]</div>     <div class="TD_headline">         <a href="[#\#_item_link_##]">[#\#_item_title_##]</a>         <div class="TD_date">[#\#_item_date_##]</div>     </div> </div> [/code]

위의 코드는 되돌릴 수 없는 html 수공법- 블로그이력서8 문서에 나타난 그림의 코드를 나름대로 복원해 본 것입니다. 이때 날짜에 해당하는 부분은 아마도 date(날짜)라는 낱말이 있는 <div class="TD_date">[##_item_date_##]</div> 부분으로 여겨집니다. 대부분 날짜 부분을 삭제한다고 했을 때 아래와 같이 바꿉니다.

[code html] <div class="TD_album">     <div class="TD_thumbing">[#\#_item_thumbnail_##]</div>     <div class="TD_headline">         <a href="[#\#_item_link_##]">[#\#_item_title_##]</a>     </div> </div> [/code]

물론 이 방법이 가장 간단합니다. 하지만 장기적으로 볼 때는 좋지 않습니다. 무슨 소리인지 이해할 수 없다고요? 예, 저도 처음에는 이해할 수 없습니다.

아무튼 백문이 불여일견!! 주석으로 처리해 보겠습니다.

[code html; highlight: (5, 6)] <div class="TD_album">     <div class="TD_thumbing">[#\#_item_thumbnail_##]</div>     <div class="TD_headline">         <a href="[#\#_item_link_##]">[#\#_item_title_##]</a> <!-- 아이템 날짜 제거 : 2010년 2월 7일 --> <!--        <div class="TD_date">[#\#_item_date_##]</div> -->     </div> </div> [/code]

앞의 코드와 위의 코드는 화면에 같은 결과를 보여줍니다. 그러나 나중에 고쳐야 하거나 다시 되살려야 한다면 앞의 코드보다 위의 코드가 훨씬 낫습니다. 다만 보통 때는 <!-- 아이템 날짜 제거 : 2010년 2월 7일 -->라는 주석은 달지 않습니다. 그러나 달아 두면 편합니다.

주석 예시 2

꼭 화면에 나타내지 않을 내용만 주석으로 처리하는 것이 아닙니다. 무엇인가를 설명할 때도 사용합니다. 자세한 사항은 IE6 No More 수정 문서에서 처음 두 코드와 뒤의 두 코드를 비교해 보기 바랍니다.

그 코드에서 보면 새로 추가한 부분의 시작과 끝을 주석으로 나타내고 있습니다.

[code html; highlight: (1, 9)] <!-- IE6 No More 배너 시작 --> <!--[if lt IE 7]> <div style='border: 1px solid #F7941D; background: #FEEFDA; text-align: center; clear: both; height: 75px; position: relative;'>     <div style='position: absolute; right: 3px; top: 3px; font-family: courier new; font-weight: bold;'><a href='#' onclick='javascript:this.parentNode.parentNode.style.display="none"; return false;'><img src='http://www.ie6nomore.com/files/theme/ie6nomore-cornerx.jpg' style='border: none;' alt='Close this notice'/></a></div> ... 내용 ...     </div> </div> <![endif]--> <!-- IE6 No More 배너 끝 --> [/code]

위와 같이 해 두면 나중에 코드를 고쳐야 할 때 코드 폴딩(코드 접기)를 지원하지 않는 편집기에서 그 시작과 끝을 찾기가 쉽습니다. 또한 기왕 주석을 다는 김에 그 코드의 쓰임새나 수정한 날짜 등을 함께 넣으면 좋습니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 오토매틱 시스템의 자동차를 운전할 때 자동차는 브레이크 페달에서 발 떼면 움직입니다. 다시 말해 기어가 중립 상태만 아니라면 어떻게든 움직이게 된다는 뜻이지요. 그러나 정지는 항상 사용자가 브레이크를 밟거나 기어를 중립 상태로 놓아야만 가능합니다. 또한 가속은 운전자의 생명을 위협하는 요소가 커지지만, 정지는 운전자의 생명을 위협하는 요소가 줄어듭니다. 이런 점에서 가속보다 정지가 더 중요하다고 생각합니다. [본문으로]