PHP, HTML, Javascript và viết các thực tiễn tốt


10

Tôi nhận ra rằng tôi phải viết ra một đặc tả quy ước về mã hóa HTML, JavaScript và PHP cho tôi và nhóm của tôi.

Trong phát triển web, giống như trong C ++, tôi chắc chắn là một người hâm mộ thụt lề và bình luận.

Tuy nhiên, trong công việc của tôi, tôi gặp phải mã HTML + JavaScript + PHP đột nhiên làm đau đầu.

Tôi đang cố gắng làm cho mã của mình có thể đọc được, nhưng những gì có vẻ tốt hơn đối với tôi (để thụt lề & nhận xét) dường như không mê hoặc các đồng đội của tôi, vì vậy tôi đã tự hỏi liệu có cách tốt nhất hoặc ít nhất là chia sẻ thực hành tốt khi viết "lai" "Các tài liệu giống như các trang web ngày nay, ngày qua ngày càng trở nên phức tạp.

Tôi nhận thức được thực tế rằng có lẽ bản chất của mã trang web ngày nay hơi phức tạp một chút, nhưng tôi tự hỏi liệu một quy ước tốt liên quan đến các khía cạnh này đã tồn tại chưa.

Câu trả lời:


19

Một số quy tắc chung tôi tuân theo:

Chung

  • Ấn độ là 4 không gian.
  • Ấn độ mới
  • Nhận xét là <~ 80 ký tự từ cấp độ thụt lề. Nếu tôi ở hai cấp độ (8 khoảng trắng), điều đó có nghĩa là điểm dừng con trỏ sẽ vào khoảng 88 ký tự.
  • Sử dụng bình luận nhiều dòng. Tôi thích cái nhìn, tuy nhiên đây là một điểm chủ quan .
  • Bình luận ngay sau đó sau đó khi bạn không biết chuyện gì đang xảy ra.
  • Niềng răng kiểu Allman . Nó sạch hơn và dễ đọc hơn. Chủ quan .

JavaScript

  • Sử dụng một thư viện. jQuery nói riêng là rất tốt. Nó giúp loại bỏ tất cả các đau đầu trình duyệt chéo.
  • Hiểu rằng ID dành cho các thành phần cụ thể, các lớp dành cho kiểu. ID không nên được sử dụng nhiều hơn một lần trên mỗi trang và chúng sẽ có các móc cụ thể được đính kèm. Sử dụng các lớp cho những thứ như điều hướng.
  • Ra nguồn thành phương pháp. Thật hấp dẫn khi đặt tất cả mã vào bindcuộc gọi, tuy nhiên đặt nó vào chức năng của chính nó sẽ làm tăng tính linh hoạt của mã của bạn.
  • Sử dụng các chức năng thay vì evals. Điều đó có nghĩa là setTimeout(function(){ /* Do something */ }, 1000);thay vìsetTimeout('doSomething', 1000);
  • Sử dụng biến cục bộ với var.

HTML

  • Đánh dấu ngữ nghĩa. Sử dụng các thẻ thích hợp. Đừng đặt <br />trong đó để thêm không gian, điều chỉnh lề và quy tắc CSS.
  • Tất cả các thẻ là chữ thường .
  • Tất cả các thẻ nên kết thúc bằng một thẻ đóng hoặc tự đóng .
  • Sử dụng các lớp để bố trí tương tự. Có một vài lớp học được xác định trước như thế hide, clear, errorvv
  • Tất cả mọi thứ (bao gồm các kịch bản) nên đi vào <head>. Lo lắng về việc tối ưu hóa (di chuyển công cụ xung quanh) khi nó có vấn đề.
  • Các bảng định kiểu bên ngoài và nguồn JavaScript là bắt buộc trừ khi đó là trang cụ thể.

PHP

  • Các khung công tác đều tốt, tôi khuyên dùng CodeIgniter.
  • Nếu bạn không muốn sử dụng một khung công tác, hãy thử sử dụng phiên bản PHP mới nhất có thể. (Điều đó có nghĩa là 5,3).
  • Sử dụng includesđể lợi thế của bạn.
  • Rõ ràng tiêm hoặc sử dụng báo cáo chuẩn bị.
  • Thực hiện nếu kiểm tra các giá trị không bảo mật định trước.

    $logged_in = false;
    if(check_user($user))
    {
         $logged_in = true;
         $user = load_user($_SESSION);
    }
  • Biết sự khác biệt giữa dấu ngoặc đơn và dấu ngoặc kép. Sử dụng dấu ngoặc đơn khi có thể.
  • Đừng lặp lại HTML.

4
Danh sách tuyệt vời. Đối với PHP tôi muốn thêm 1) sử dụng các mẫu, không trộn php & html (trong các ứng dụng, ít nhất) 2) không sử dụng bao gồm () như các lệnh gọi hàm 3) giữ càng nhiều mã ngoài phạm vi toàn cầu càng tốt.
GrandmasterB

bất cứ ai giới thiệu CodeIgniter và jQuery đều mất đi tính toàn vẹn trong mắt tôi.
mefisto

4
@teresko: Bạn lên án mà không đưa ra bất kỳ lý do hoặc giải pháp thay thế nào.
Josh K

+1. Một danh sách các điểm gây tranh cãi và tranh cãi, nhưng dù sao cũng là một danh sách khá tốt.
haylem

jQuery loại bỏ tất cả các vấn đề đau đầu trên trình duyệt?
James Adam

3

Có một số đọc cho cảm hứng:

  • Khung công tác Zend - Kiểu mã hóa php : Danh sách các cách thực hành để viết mã php có thể duy trì (Định dạng tệp PHP, Quy ước đặt tên, Kiểu mã hóa: Mảng, Chuỗi, Lớp, Phương thức, v.v.).
  • Hướng dẫn về kiểu mã của Google : Danh sách các cách thực hành để viết mã javascript có thể duy trì (Quy tắc: Constans, Dấu chấm phẩy, Hàm lồng nhau ..., Kiểu mã hóa: Đặt tên, Phạm vi, Chuỗi, Trường hiển thị, v.v.).

bạn có phiền giải thích thêm về những tài nguyên này làm gì không và tại sao bạn lại đề xuất những tài nguyên này khi trả lời câu hỏi? "Câu trả lời chỉ liên kết" không được chào đón tại Stack Exchange
gnat

1
@gnat chỉnh sửa / trả lời đúng
tomascejka

2

Giữ 3 cái riêng biệt. Mã ít bảo trì nhất mà tôi xử lý luôn là khi có một số PHP lặp lại rất nhiều HTML & JavaScript, có thể với một số SQL được sử dụng để đo lường tốt.

Giữ tất cả chúng là riêng biệt sẽ giúp mã dễ bảo trì hơn rất nhiều và cũng khiến mọi thứ trở nên hợp lý hơn nếu bạn có người làm việc trên các phần khác nhau của ứng dụng, chẳng hạn như nhà thiết kế chỉ cần làm việc với HTML / CSS.


2

Cách dễ nhất để mã hóa một ứng dụng web php chắc chắn là trộn mọi thứ lại với nhau. Bạn nhanh chóng kết thúc với một mớ hỗn độn không thể nhầm lẫn nếu bạn làm mọi thứ theo cách đó, tuy nhiên.

Dưới đây là một số thực tiễn tốt:

1) Đặt JavaScript của bạn vào <head> của tài liệu (hoặc, tốt hơn nữa, trong các tệp riêng biệt được tham chiếu trong phần đầu). Tìm hiểu cách liên kết người nghe sự kiện trong một sự kiện document.onload, thay vì phân tán chúng thông qua html của bạn. (Tốt hơn hết, hãy học cách sử dụng một khung như Jquery; nó sẽ làm cho JavaScript của bạn đẹp hơn, đẹp hơn nhiều).

2) Tra cứu các mẫu thiết kế như MVC. Bạn muốn tách logic kinh doanh của mình, được viết bằng PHP, khỏi HTML của bạn càng nhiều càng tốt. Lý tưởng nhất là bạn kết thúc bằng cách sử dụng một ngôn ngữ tạo khuôn mẫu đẹp để kết hợp các trang HTML của bạn; ít nhất, PHP trong HTML của bạn phải thật ngắn gọn - chủ yếu gọi các biến và lặp qua các danh sách được xây dựng ở nơi khác.

3) Nhận xét, thụt lề ... những thứ đó chỉ là những thực hành tốt nhất về lập trình cơ bản. Tôi có xu hướng để độ dài dòng của mình vượt quá 80 ký tự khi tôi viết HTML, chỉ vì ngôn ngữ quá dài dòng, nhưng đó là cách thực hành truyền thống duy nhất bạn nên để trượt - nếu phần còn lại của nhóm bị cẩu thả, họ cần phải hút nó lên và định hình.


Bình luận tốt đẹp! Có một lỗi đánh máy: "Đặt JavaScript của bạn vào tài liệu"
DL

Rất tiếc. Cảm ơn bạn. (Quên mã hóa bằng dấu ngoặc góc. Ngớ ngẩn với tôi.)
Patch

1
Javascript sẽ xuất hiện ở cuối trang vì lý do hiệu suất.
Toby

0

Đây là một vài mẩu tin:

Javascript: Sử dụng varkhi khởi tạo biến.

HTML: Bao gồm các tập lệnh ở dưới cùng của tệp để chúng tải lần cuối.

PHP: Tách các tệp lên. Đừng đặt tất cả các lớp của bạn vào một tệp, giống như bạn sẽ không phát triển C ++ bình thường. Nhận xét càng nhiều càng tốt và cũng viết ra mục đích của các chức năng / lớp học của bạn.


Tôi đã cố gắng làm theo Hướng dẫn về Phong cách Javascript của Google: google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Fosco
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.