[naming-conventions] 자산 (이미지, CSS, JS)에 대한 명명 규칙?

웹 프로젝트에 사용되는 이미지, js 및 css 파일과 같은 자산에 대한 좋은 명명 규칙을 찾기 위해 여전히 고심하고 있습니다.

따라서 내 현재는 다음과 같습니다.

CSS : style-{name}.css
예 : style-main.css, style-no_flash.css, style-print.css

JS :
script-{name}.js
예 : script-main.js, script-nav.js

이미지 : {imageType}-{name}.{imageExtension}
{imageType} 다음 중 하나입니다.

  • 아이콘 (예 : 도움말 콘텐츠에 대한 물음표 아이콘)
  • img (예 : <img />요소 를 통해 삽입 된 헤더 이미지 )
  • 버튼 (예 : 그래픽 제출 버튼)
  • bg (이미지는 CSS에서 배경 이미지로 사용됨)
  • 스프라이트 (이미지는 CSS에서 배경 이미지로 사용되며 여러 “버전”을 포함 함)

예-이름은 다음과 같습니다 icon-help.gif, img-logo.gif, sprite-main_headlines.jpg, bg-gradient.gif

그래서, 당신은 어떻게 생각하고 명명 규칙은 무엇 입니까?



답변

CSS 파일을 폴더에 css, Javascript를에 js, 이미지를에 images, … 원하는대로 하위 폴더를 추가합니다. 개별 파일 수준에서 명명 규칙이 필요하지 않습니다.


답변

나는 프론트 엔드 개발자를 많이에서 멀리 이동 나타났습니다 cssjs찬성 stylesscripts기타 등이있는 물건, 일반적으로이 있기 때문에 .less, .styl그리고 .sass일부뿐만 아니라이, .coffee. 사실, 선택한 폴더 구성에서 특정 기술 선택을 사용하는 것은 모든 사람이 그렇게하더라도 나쁜 생각입니다. 저는 다음과 같이 존경받는 개발자들이 본 표준을 계속 사용할 것입니다.

  • src/html
  • src/images
  • src/styles
  • src/styles/fonts
  • src/scripts

그리고 그들의 대상 빌드 등가물은 빌드중인 항목에 dest따라 접두사 가 붙기도합니다.

  • ./
  • images
  • styles
  • styles/fonts
  • scripts

이를 통해 모든 파일을 ( src디렉토리를 분리하는 대신) 함께 모으고 자하는 사람들은이를 유지하고 분리 된 파일과 명확하게 관련된 것을 유지할 수 있습니다.

나는 실제로 조금 더 나아가서

  • scripts/before
  • scripts/after

어떤 두 가지로 smooshed 취득 main-before.min.jsmain-after.min.js스크립트, 헤더 하나 (의 필수 요소 normalizemodernizr그 예를 들어, 초기 실행해야합니다)와 after그 자바 스크립트 기다릴 수 있기 때문에 몸에 마지막을 위해. Google의 기본 페이지와 마찬가지로 읽기 용이 아닙니다.

빌드 규칙에서 처리되는 특정 캐시 관리 접근 방식으로 인해 최소화하고 링크 된 상태로 두는 것이 적합한 스크립트와 스타일 시트가있는 경우.

요즘 gulp 또는 grunt 와 같은 일종의 빌드 프로세스를 사용 하지 않는 경우 고려해야 할 대부분의 모바일 중심 성능 목표에 도달하지 못할 수 있습니다.


답변

/자산/
  / Css
  / 이미지
  / Javascript (또는 스크립트)
    / 최소화
    /출처

내가 본 최고의 구조이고 내가 선호하는 구조입니다. 폴더를 사용하면 설명이 포함 된 이름으로 CSS 등을 접두사로 사용할 필요가 없습니다.


답변

CSS가 많은 배경 이미지를 정의 할 수있는 대규모 사이트의 경우 이러한 자산에 대한 파일 명명 규칙이 나중에 변경하는 데 매우 유용합니다.

예를 들면 :

[component].[function-description].[filetype]

footer.bkg-image.png
footer.copyright-gradient.png

요소 유형 추가에 대해서도 논의했지만 이것이 얼마나 도움이되었으며 향후 필요한 변경에 대해 오해의 소지가있을 수 있는지 잘 모르겠습니다.

[component].[element]-[function-description].[filetype]
footer.div-bkg-image.png
footer.p-copyright-gradient.png


답변

다음과 같이 이름을 지정할 수 있습니다.

/ assets / css /-CSS 파일 용

/ assets / font /-글꼴 파일 용. (대부분 Google 글꼴로 이동하여 사용 가능한 글꼴을 검색 할 수 있습니다.)

/ assets / images /-이미지 파일 용.

/ assets / scripts / 또는 / assets / js /-JavaScript 파일의 경우.

/ assets / media /-비디오 및 기타 용. 파일.

“assets”를 “resource”또는 “files”폴더 이름으로 바꾸고 하위 폴더의 이름을 유지할 수도 있습니다. 이와 같은 순서 폴더 구조를 갖는 것은 그다지 중요하지 않습니다. 유일한 중요한 것은 파일을 형식별로 정렬해야한다는 것입니다. CSS 파일의 경우 “/ css /”폴더를 만들고 이미지 파일의 경우 “/ images /”폴더를 만듭니다.


답변

첫째, 폴더로 나누어 : css, js, img.

사이트에 구성 요소 인 js 및 css 파일이 포함될 수 있으므로 css 및 js 내에서 파일의 접두사를 프로젝트 이름으로 지정하면 파일이 사이트에 특정한 위치 또는 플러그인과 관련된 위치가 명확 해집니다.

css/mysite.main.css css/mysite.main.js

다른 파일은 다음과 같을 수 있습니다.

js/jquery-1.6.1.js
js/jquery.validate.js

마지막으로 이미지는 용도에 따라 나뉩니다.

  • img/btn/submit.png 단추
  • img/lgo/mysite-logo.png 로고
  • img/bkg/header.gif 배경
  • img/dcl/top-left-widget.jpg 데칼 요소
  • img/con/portait-of-something.jpg 콘텐츠 이미지

100 개가 넘을 수 있고 쉽게 완전히 섞여서 이름이 혼동 될 수 있으므로 이미지를 정리하는 것이 중요합니다.


답변

나는 smdrager가 제안한 것과 같은 일반적인 것을 피하는 경향이 있습니다. “mysite.main.css”는 전혀 의미가 없습니다.

“mysite”는 무엇입니까 ?? 내가 작업중인 이건? 그렇다면 정말 분명하지만, 그것이 무엇인지, 그리고 이것이 명백한 것인지 이미 생각하고 있습니다!

“메인”은 무엇입니까? “Main”이라는 단어는 해당 CSS 파일에있는 내용에 대한 코더 지식 외부의 정의가 없습니다.

특정 시나리오에서는 괜찮지 만 “top-nav.css”또는 “top-main-logo.png”와 같이 “top”또는 “left”와 같은 이름도 피하십시오.
다른 곳에서도 같은 것을 사용하고 싶을 수도 있고, 바닥 글이나 “top-banner.png”라는 메인 페이지 콘텐츠에 이미지를 넣는 것은 매우 혼란 스럽습니다!

주어진 파일 내에서 CSS가 무엇인지 묘사하는 적절한 명명 규칙을 허용하기 위해 좋은 수의 스타일 시트를 갖는 데 아무런 문제가 없습니다.
사이트의 크기와 기능, 사이트에있는 다른 블록의 수에 따라 얼마나 많은가 결정됩니다.

css 파일 이름에 “CSS”또는 “STYLE”을 명시 할 필요가 없다고 생각합니다. “css”또는 “styles”폴더에 .css있고 주로 이러한 파일이 호출되기 때문에 그 <head>지역에서 나는 그들이 무엇인지 아주 분명하게 알고 있습니다.

즉, 라이브러리, JS 및 구성 (기타) 파일로이 작업을 수행합니다. 예 : libSomeLibrary.php 또는 JSSomeScript.php. PHP 및 JS 파일은 다른 파일 내의 다양한 영역에서 포함되거나 사용되므로 파일의 주요 목적이 이름에 무엇인지에 대한 정보가 있으면 유용합니다.

예 : 파일 이름을 보는 require('libContactFormValidation.php');것이 유용합니다. 나는 그것이 라이브러리 파일 (lib)이고 이름에서 무엇을하는지 압니다.

이미지 폴더의 경우 일반적으로 images/content-images/images/style-images/. 더 이상 분리 할 필요가 없다고 생각하지만 다시 프로젝트에 따라 다릅니다.

그런 다음 각 이미지는 그에 따라 이름이 지정되며 파일 이름 내에서 파일을 정의 할 필요가 없다고 생각합니다. 크기는 특히 이미지의 크기가 다른 경우 유용 할 수 있습니다.

site-logo-150×150.png
site-logo-35×35.png
shop-checkout-button-40×40.png
shop-remove-item-20×20.png


따라야 할 좋은 규칙은 다음과 같습니다. 새로운 개발자가 파일을 찾아 오면 몇 시간 동안 머리를 긁적 거리는 것일까 요, 아니면 어떤 일을하는지 이해하고 조사하는 데 약간의 시간 만 필요로할까요 (피할 수없는 일)?

그러나 이와 같이 따라야 할 가장 중요한 규칙 중 하나는 단순히 불변성입니다 !
모든 명명 규칙에서 동일한 논리와 패턴을 따라야합니다!
간단한 CSS 파일 이름에서 PHP 라이브러리 파일, 데이터베이스 테이블 및 열 이름까지.