Trang chủ » Mã hóa » Tại sao bạn cần người đánh hơi mã để phát triển web

    Tại sao bạn cần người đánh hơi mã để phát triển web

    Tối ưu hóa mã có thể so sánh với giai đoạn chỉnh sửa của một văn bản. Trước tiên bạn có thể cần lấy ý tưởng của mình bằng mã, nhưng mã của bạn phải được tối ưu hóa bằng các công cụ như mã đánh hơi để sản xuất sản phẩm tốt nhất có thể.

    Mã đánh hơi là một thuật ngữ mô tả kiểm tra mã để tuân thủ các tiêu chuẩn quy định. Các quy định này có thể chỉ định số lượng khoảng trắng được sử dụng để thụt lề, vị trí của dấu ngoặc nhọn hoặc cách đặt tên biến. Các tiêu chuẩn không quan trọng để xây dựng một ứng dụng web, nhưng các tiêu chuẩn rất quan trọng để thống nhất nội bộ và bảo trì mã.

    Đây là nơi mà việc đánh hơi mã có ích cho tất cả các nhà phát triển, từ trước đến cuối. Tôi muôn kiểm tra quá trình đánh hơi mã và cung cấp một số các tiện ích giúp phân tích các tiêu chuẩn mã.

    Mã đánh hơi là gì?

    Hành động đánh hơi mã thường được tự động để tiết kiệm thời gian và giảm lỗi. Mã đánh hơi sẽ kiểm tra mã nguồn để tuân thủ các tiêu chuẩn được thiết lập bởi các nhóm phát triển nội bộ hoặc các cơ quan quản lý.

    Mã đánh hơi tương tự như mã linting nhưng mang tính mô phạm hơn. Linting chủ yếu kiểm tra lỗi và lỗi cú pháp trong khi đánh hơi tìm kiếm các vấn đề trong cách viết mã. Một tệp PHP vẫn có thể hoạt động đúng nhưng sẽ thất bại trong bài kiểm tra đánh hơi mã nếu tên biến không tuân theo các tiêu chuẩn (nghĩa là. $ myVariable đấu với $ my_variable).

    Một thuật ngữ tương tự là mùi mã kiểm tra lỗi thiết kế trong mã có thể dẫn đến lỗi lớn hơn. Điều này có thể liên quan đến các tiêu chuẩn mã nhưng cũng bao gồm Kiến trúc cấp cao hơn để viết mã đồng nhất.

    Tất cả các khu vực này đều có giá trị và có liên quan đến việc đánh hơi mã. Chỉ cần nhớ rằng đánh hơi mã sẽ không luôn luôn tìm thấy lỗi thời gian chạy vì ưu tiên của nó là duy trì tuân thủ nghiêm ngặt các tiêu chuẩn.

    Bây giờ bạn có thể tự hỏi mình làm tiêu chuẩn thậm chí quan trọng? Sự thật là chúng quan trọng, nhưng nhiều hơn để tối ưu hóa và làm sạch dự án. Nhiều nhà phát triển đồng ý rằng các tiêu chuẩn rất quan trọng đối với lập trình và phát triển web - đặc biệt là trong các dự án nhóm lớn.

    Đây là một trích dẫn từ nhà phát triển Paul Jones giải thích tại sao các tiêu chuẩn mã là hữu ích.

    “Quan điểm của một tiêu chuẩn về phong cách mã hóa là không nói một phong cách nào là khách quan hơn so với một nhóm khác Thay vào đó, vấn đề là thiết lập các kỳ vọng đã biết về cách mã sẽ trông như thế nào.”

    Nếu bạn đang tự xây dựng một ứng dụng web nhỏ, có thể không đáng để dành thời gian cho các tiêu chuẩn WCAG 2.0 hoặc PSR-2. Nhưng hãy xem xét hàng trăm nhà phát triển làm việc với mã nguồn của Adobe Photoshop. Sẽ thật hỗn loạn nếu mỗi người viết một phong cách riêng và kết hợp tất cả lại với nhau.

    Mặc dù các nhóm phụ thuộc rất nhiều vào các tiêu chuẩn, các quy tắc này vẫn có thể hữu ích cho các nhà phát triển đơn độc. Bạn có thể tìm thấy các tiêu chuẩn mã cho mọi thứ từ CSS đến WordPress để không có lý do gì để không thử và xem liệu chất lượng mã của bạn có cải thiện không.

    Giá trị của tiêu chuẩn mã

    Tiêu chuẩn sẽ tự nhiên giữ mã của bạn sạch sẽ và có tổ chức. Các nhà phát triển biết chính xác cách viết mã và cách làm theo cùng với công việc của nhau.

    Các tiêu chuẩn mã cũng giúp phát triển nguồn mở bằng cách đưa ra các quy tắc để người khác tuân theo. Tập tin có thể được chọn bởi bất cứ ai trong nhiều tháng hoặc nhiều năm sau đó mà vẫn dễ đọc.

    Một phong cách mã hóa nghiêm ngặt là một ý tưởng tốt ngay cả khi bạn chọn trang điểm của riêng bạn. Điều này đòi hỏi rất nhiều nỗ lực, nhưng khi các dự án phát triển loại tài liệu này là vô giá.

    Dưới đây là một số tiêu chuẩn mã hóa để xem xét trải rộng các loại ngôn ngữ web khác nhau.

    • Tiêu chuẩn mã hóa PEAR (PHP)
    • Tiêu chuẩn Google cho HTML / CSS
    • Tiêu chuẩn Google cho JavaScript
    • Phong cách mã hóa Django (Python)
    • Hướng dẫn phong cách Rails (Ruby)
    • WCAG 2.0 (UX)

    Tài nguyên đánh hơi mã tốt nhất

    Bây giờ có thể tìm thấy trình thám thính mã miễn phí cho mọi thứ từ HTML / CSS đến các ngôn ngữ phụ trợ như PHP và SQL. Bạn có thể không cần sử dụng những trình thám thính này hoặc tuân theo các tiêu chuẩn cho mọi ngôn ngữ nhưng đáng để nghiên cứu các khả năng để xem điều gì có thể cải thiện hiệu suất của bạn.

    Mã đánh hơi Frontend

    Mặc dù HTML không nhu cầu một sniffer mã đã không ngăn Squiz xây dựng một. Đó là nguồn mở hoàn toàn và được lưu trữ trên GitHub với các tùy chọn sao chép / dán mã vào trình duyệt hoặc lưu bookmarklet để chạy trên các trang web riêng lẻ.

    Trình thám thính này kiểm tra ba cấp độ tiếp cận A, AA và AAA của WCAG cùng với hướng dẫn mục 508 áp dụng chủ yếu cho các trang web của chính phủ.

    Các nhà phát triển CSS có thể thích trình sniffer mã CSS miễn phí này cũng là nguồn mở, được lưu trữ thông qua Trình quản lý gói Node.

    Người dùng jQuery nên kiểm tra JSCodeSniffer được xây dựng bởi Dmitry Sheiko. Đây là một ứng dụng web miễn phí khác được lưu trữ trên GitHub tuân thủ hướng dẫn về kiểu mã của jQuery.

    Ngoài ra, bạn có thể muốn thử nhuộm mã JS của mình bằng JavaScript Lint hoặc JS Lint. Các công cụ này kiểm tra lỗi trong cú pháp thay vì tiêu chuẩn mã, nhưng chúng cũng rất hữu ích khi tối ưu hóa mã frontend.

    Đối với bản ghi, cũng có thể kiểm tra trực tiếp các tiêu chuẩn JS / CSS với PHP_CodeSniffer.

    Mã sniffer PHP

    PHP_CodeSniffer là một công cụ bắt buộc phải có trong hộp công cụ của bạn nếu bạn đang muốn tuân thủ các tiêu chuẩn mã PHP. Gói chứa một vài Các tập lệnh PHP phân tích mã PHP, JS và CSS để tuân thủ với sự lựa chọn của bạn về tài liệu kiểu mã.

    Người tạo ra PHP_CodeSniffer Greg Sherwood đã viết một câu chuyện tuyệt vời về cách ý tưởng xuất hiện và những vấn đề mà nó cố gắng giải quyết (rất đáng để đọc nếu bạn có thời gian).

    Tóm lại, Greg đã làm việc với một nhóm học JavaScript được tích hợp trong ứng dụng PHP. Mục tiêu của họ là cấu trúc JS theo cách tuân theo các tiêu chuẩn mã của PHP để giúp cuộc sống chuyển đổi qua lại dễ dàng hơn. Do đó PHP_CodeSniffer đã ra đời.

    Điều này rất tốt cho các nhà phát triển PHP vì ngôn ngữ rất lỏng lẻo với các yêu cầu phong cách bắt buộc. Các khung như Laravel nghiêm ngặt hơn, nhưng các nhà phát triển có thể (và nên) thiết lập các tiêu chuẩn mã của riêng họ mà không cần dựa vào khung của bên thứ 3.

    Các tiêu chuẩn khác nhau như PSR-0, PSR-1 và PSR-2 đều phổ biến và được đóng gói với thư viện đánh hơi PHP.

    Nhưng bạn có thể tìm thấy nhiều tiêu chuẩn mã được tạo sẵn khác cho PHP CMS 'như WordPress, Magento và Drupal. Các nhà phát triển trên lõi Drupal thậm chí đã phát hành một mô-đun sniffer mã chính thức có tên Coder.

    PHP chắc chắn là ngôn ngữ dễ dàng nhất để tối ưu hóa với trình thám thính mã. Nếu bạn đang tìm kiếm một danh sách các tiêu chuẩn mã PHP kiểm tra mục GitHub này.

    Những người đánh hơi mã cuối cùng khác

    Các nhà phát triển cuối cùng làm việc với nhiều ngôn ngữ khác nhau ngoài PHP và số lượng đang tăng lên mỗi năm. Với các ngôn ngữ thay thế, chúng tôi cũng có các thư viện đánh hơi mã thay thế như mã sniffer cho Python.

    Có thể kiểm tra các tập lệnh khác trực tuyến hoặc sử dụng các công cụ như PyLint. Nhưng đây là một phương pháp khác đòi hỏi sự kiên nhẫn để làm việc trong dòng phát triển của bạn.

    Ruby devs cũng có một loạt các lựa chọn khi nói đến phân tích và phân tích mã. Những cái tốt nhất luôn là mã nguồn mở và miễn phí như Ruby Lint, một bộ phân tích mã tĩnh được xây dựng cho mã Ruby hiện đại.

    Tôi vẫn chưa tìm thấy một trình thám thính mã Node.js chuyên dụng nhưng tôi hy vọng một dự án sẽ xuất hiện theo thời gian. Có những trình thám thính mã JS hỗ trợ các tiêu chuẩn Node, nhưng nó vẫn là ngôn ngữ phụ trợ mới hơn và cần có thời gian để phát triển.

    Cuối cùng, chúng ta có cú pháp SQL được sử dụng cho cơ sở dữ liệu. Mã này có thể phức tạp hơn vì khó tìm thấy các tiêu chuẩn cú pháp được hỗ trợ tốt cho mã nguồn SQL. Nhưng tôi đã tìm thấy một ứng dụng web định dạng SQL sẽ rất hữu ích khi tối ưu hóa các truy vấn cơ sở dữ liệu.

    Gói lại

    Nơi tốt nhất để bắt đầu đánh hơi mã là với một ngôn ngữ và một tiêu chuẩn. HTML / CSS là một nơi dễ dàng để bắt đầu cho các nhà phát triển frontend trong khi PHP thường là lựa chọn yêu thích của các nhà phát triển phụ trợ (đặc biệt là các nhà phát triển WordPress).

    Và nếu bạn muốn tìm hiểu thêm, hãy xem các bài đăng liên quan này về đánh hơi mã, linting và phân tích mã tự động để tối ưu hóa.

    • Tại sao bạn cần tiêu chuẩn mã hóa
    • Mã mùi của Jeff Atwood
    • Mã PHP Sniffer: Cài đặt & Cấu hình
    • Giới thiệu về CodeSniffer (Phần 1)
    • GitHub Showcase: Clean Code Linters