PHP, HTML, 자바 스크립트 및 우수 사례 작성


10

저와 팀을 위해 HTML, JavaScript 및 PHP 코딩에 관한 컨벤션 사양을 작성해야한다는 것을 깨달았습니다.

C ++에서와 마찬가지로 웹 개발에서 나는 들여 쓰기와 주석의 팬입니다.

그럼에도 불구하고 종종 직장에서 HTML + JavaScript + PHP 코드가 발생하여 갑자기 두통이 발생합니다.

코드를 읽을 수있게 만들려고 노력하고 있지만 (들여 쓰기 및 들여 쓰기) 더 나은 것 같지만 팀원들을 매료시키지 않는 것 같습니다. "오늘날의 웹 페이지처럼 문서가 날로 갈수록 복잡해지고 있습니다.

아마도 오늘날 웹 페이지 코드의 특성상 약간 복잡하다는 사실을 알고 있지만 이러한 측면에 관한 좋은 규칙이 이미 있는지 궁금합니다.

답변:


19

내가 따르는 몇 가지 일반적인 규칙 :

일반

  • 들여 쓰기는 4 칸입니다.
  • 새로운 레벨 들여 쓰기
  • 주석은 들여 쓰기 수준에서 <~ 80 자입니다. 내가 두 레벨 (8 공백)에 있다면 커서 정지는 약 88 자입니다.
  • 여러 줄 주석을 사용하십시오. 나는 모양을 선호하지만 이것은 주관적인 요점입니다.
  • 무슨 일이 일어나고 있는지 전혀 모른다면 나중에 주석하십시오.
  • Allman 스타일 버팀대 . 더 깨끗하고 읽기 쉽습니다. 주관적 .

자바 스크립트

  • 라이브러리를 사용하십시오. 특히 jQuery가 매우 좋습니다. 모든 크로스 브라우저 문제를 해결합니다.
  • ID는 특정 요소에 대한 것이고 클래스는 스타일에 대한 것임을 이해하십시오. ID는 페이지 당 한 번 이상 사용되어서는 안되며 특정 후크가 첨부되어 있습니다. 탐색과 같은 작업에 클래스를 사용하십시오.
  • 메소드로 소스를 출력하십시오. 모든 코드를 bind호출에 넣고 싶어하지만 자체 기능에 넣으면 코드의 유연성이 향상됩니다.
  • 에바 대신 함수를 사용하십시오. 그 setTimeout(function(){ /* Do something */ }, 1000);대신에setTimeout('doSomething', 1000);
  • 로 지역 변수를 사용하십시오 var.

HTML

  • 시맨틱 마크 업. 적절한 태그를 사용하십시오. <br />공간을 추가하고 여백과 CSS 규칙을 조정하기 위해를 넣지 마십시오 .
  • 모든 태그는 소문자 입니다.
  • 모든 태그는 닫기 태그로 끝나거나 자체 닫기 여야 합니다.
  • 비슷한 레이아웃에 클래스를 사용하십시오. 같은 미리 정의 된 클래스의 몇 가지 가지고 hide, clear, error, 등
  • 모든 것 (스크립트 포함)은에 있어야합니다 <head>. 문제가 생길 때 최적화하는 것에 대해 걱정하십시오.
  • 페이지에 특정하지 않는 한 외부 스타일 시트 및 JavaScript 소스 는 필수 입니다.

PHP

  • 프레임 워크가 좋습니다. CodeIgniter를 권장합니다.
  • 프레임 워크를 사용하지 않으려면 가능한 최신 버전의 PHP를 사용하십시오. (5.3을 의미합니다).
  • 사용 includes당신의 이점에.
  • 주사를 명확하게하거나 준비된 진술을 사용하십시오.
  • 미리 설정된 실패 보안 값을 확인하는 경우 수행하십시오.

    $logged_in = false;
    if(check_user($user))
    {
         $logged_in = true;
         $user = load_user($_SESSION);
    }
  • 작은 따옴표와 큰 따옴표의 차이점을 알고 있어야합니다. 가능하면 작은 따옴표를 사용하십시오.
  • HTML을 에코하지 마십시오.

4
훌륭한 목록. PHP의 경우 1) 템플릿 사용, 적어도 PHP와 html을 혼합하지 마십시오 (적어도 응용 프로그램에서) 2) include ()를 함수 호출로 사용하지 마십시오 3) 가능한 한 많은 코드를 전역 범위 외부에 유지하십시오.
GrandmasterB

CodeIgniter와 jQuery를 추천하는 사람은 내 눈의 무결성을 잃어 버립니다.
mefisto

4
@ teresko : 당신은 어떤 이유 나 대안을주지 않고 비난합니다.
Josh K

+1. 논쟁의 여지가 있고 논쟁의 여지가있는 점들의 목록이지만 그럼에도 불구하고 꽤 좋은 목록입니다.
haylem

jQuery는 모든 브라우저 간 두통을 제거 합니까?
제임스 아담

3

영감을 얻을만한 독서가 있습니다.

  • 젠드 프레임 워크 -PHP 코딩 스타일 : 메인 테이블 PHP 코드 작성 방법 목록 (PHP 파일 형식, 명명 규칙, 코딩 스타일 : 배열, 문자열, 클래스, 방법 등).
  • Google- 코드 스타일 가이드 : 메인 테이블 자바 스크립트 코드 작성 규칙 (규칙 : Constans, 세미콜론, 중첩 함수 ..., 코딩 스타일 : 이름 지정, 범위, 문자열, 가시성 필드 등)

이 자료들이 무엇을하는지 더 자세히 설명해 주시겠습니까? 그리고 질문에 대답 할 때 왜 그 자료들을 추천하십니까? "링크 전용 응답" 아주 스택 거래소 환영하지 않습니다
모기

1
@gnat 편집 / 정답
tomascejka

2

3을 별도로 유지하십시오. 내가 다루는 가장 관리하기 어려운 코드는 항상 많은 HTML 및 JavaScript를 에코하는 PHP가있을 때입니다. 아마도 SQL을 잘 측정하기 위해 던져 질 것입니다.

이들을 모두 분리하여 유지하면 코드를 유지 관리하기가 훨씬 쉬워지고 HTML / CSS로만 작업해야하는 디자이너와 같이 응용 프로그램의 다른 부분에서 작업하는 사람들이있는 경우 훨씬 간소화됩니다.


2

PHP 웹 앱을 코딩하는 가장 쉬운 방법은 모든 것을 하나로 묶는 것입니다. 그러나 그렇게하면 유지 관리 할 수없는 혼란에 빠지게됩니다.

몇 가지 모범 사례가 있습니다.

1) JavaScript를 문서의 <head> (또는 헤드에서 참조되는 별도의 파일)에 넣습니다. html을 통해 흩어지지 않고 document.onload 이벤트에서 이벤트 리스너를 바인딩하는 방법을 배웁니다. (아직 Jquery와 같은 프레임 워크를 사용하는 법을 배우십시오 .JavaScript를 훨씬 더 예쁘게 만듭니다.)

2) MVC와 같은 디자인 패턴을 찾습니다. PHP로 작성된 비즈니스 로직을 가능한 한 HTML에서 분리하려고합니다. 이상적인 템플릿 언어를 사용하여 HTML 페이지를 구성하는 것이 이상적입니다. 최소한 HTML의 PHP는 간결해야합니다. 주로 변수를 호출하고 다른 곳에서 작성된 목록을 반복합니다.

3) 의견, 들여 쓰기 ... 물건은 기본 프로그래밍 모범 사례 일뿐입니다. HTML을 작성할 때 줄 길이가 80자를 넘게하는 경향이 있습니다. 언어가 너무 장황하기 때문입니다.하지만 팀의 나머지 부분이 느슨하면 그들은 그것을 빨고 형성해야합니다.


좋은 의견! "문서에 JavaScript를 넣으십시오"
DL

으악. 감사합니다. (앵글 괄호로 인코딩하는 것을 잊었습니다. 바보 같은 날)
Patch

1
성능상의 이유로 자바 스크립트는 페이지 끝에 있어야합니다.
Toby

0

다음은 몇 가지 유용한 정보입니다.

자바 스크립트 : var변수를 초기화 할 때 사용 합니다.

HTML : 파일의 맨 아래에 스크립트를 포함시켜 마지막으로로드합니다.

PHP : 파일을 나눕니다. 일반적인 C ++ 개발과는 달리 모든 클래스를 하나의 파일에 넣지 마십시오. 가능한 많은 의견을 말하고 함수 / 클래스의 목적을 적어 두십시오.


Google 자바 스크립트 스타일 가이드 : google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Fosco
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.