Cẩm nang kiểm tra kết nối

Tài liệu này trình bày các cách sử dụng quy trình kiểm tra kết nối.

Ví dụ về giá trị

Khi xác định các bước kiểm tra kết nối cho dữ liệu đầu vào và đầu ra, bạn thường nên coi các bước kiểm tra đó là đại diện cho các loại.

Quy trình kiểm tra đầu vào phải bao gồm mọi "loại" mà chúng chấp nhận và quy trình kiểm tra đầu ra phải bao gồm chính xác nội dung mà chúng "trả về".

Chấp nhận một loại

Trong trường hợp cơ bản nhất mà bạn muốn tạo một khối "chấp nhận" hoặc "trả về" một loại, bạn cần đưa loại đó vào quy trình kiểm tra kết nối của kết nối.

một khối giá trị chấp nhận một loại

Chấp nhận nhiều loại

Để tạo một khối "chấp nhận" nhiều loại, bạn cần đưa mọi loại được chấp nhận vào quy trình kiểm tra kết nối của dữ liệu đầu vào.

một khối giá trị chấp nhận nhiều loại

Theo quy ước, nếu một đầu ra có thể đôi khi được chấp nhận trong nhiều trường hợp (ví dụ: nếu bạn cho phép các số đôi khi được dùng làm chuỗi), thì đầu ra phải hạn chế hơn và(các) đầu vào phải cho phép hơn. Quy ước này giúp đảm bảo rằng các đầu ra không kết nối ở nơi không được hỗ trợ.

Chấp nhận mọi loại

Để tạo một khối "chấp nhận" mọi loại, bạn cần đặt tính năng kiểm tra kết nối của đầu vào thành null.

một khối giá trị chấp nhận mọi loại

Trả về loại phụ

Để tạo một khối "trả về" một loại phụ, bạn cần đưa cả loại và loại siêu dữ liệu vào quy trình kiểm tra kết nối của đầu ra.

một khối giá trị trả về loại và loại cấp trên của khối đó

Trong trường hợp loại phụ, bạn có thể có nhiều lượt kiểm tra trong một lượt kiểm tra đầu ra, vì khối luôn "trả về" cả hai loại.

Trả về các loại có tham số

Để tạo một khối "trả về" một loại có tham số, bạn cần đưa cả phiên bản có tham số và phiên bản không có tham số vào quy trình kiểm tra kết nối của đầu ra.

Tuỳ thuộc vào mức độ nghiêm ngặt mà bạn muốn áp dụng cho ngôn ngữ chặn, bạn cũng có thể thêm (các) biến thể của loại đó.

một khối giá trị trả về loại có tham số và loại không có tham số

Tương tự như với loại phụ, bạn có thể thực hiện nhiều lần kiểm tra trong một lần kiểm tra đầu ra trong trường hợp này, vì khối luôn "trả về" cả hai loại.

Ví dụ về ngăn xếp hoặc câu lệnh

Có một số cách phổ biến để nhà phát triển xác định các bước kiểm tra cho các kết nối trước và sau. Thông thường, bạn coi những điều này là hạn chế thứ tự của các khối.

Các kết nối tiếp theo phải bao gồm những khối sẽ theo sau khối hiện tại và các kết nối trước đó bao gồm "là" khối hiện tại.

Giữ các khối theo thứ tự

Để tạo một tập hợp các khối kết nối theo thứ tự đã xác định, bạn cần thêm các khối sẽ theo sau khối hiện tại trong lần kiểm tra kết nối tiếp theo và khối hiện tại "là" gì trong lần kiểm tra kết nối trước đó.

các khối câu lệnh có thứ tự bắt buộc

Cho phép nhiều khối trung gian

Để tạo một tập hợp các khối được sắp xếp cho phép nhiều khối trung gian, bạn cần đưa vào ít nhất một mục nhập từ quy trình kiểm tra kết nối trước đó của khối trung gian trong quy trình kiểm tra kết nối tiếp theo của khối trung gian. Điều này cho phép khối được theo sau bằng nhiều khối hơn.

các khối câu lệnh cho phép nhiều khối giữa

Không cho phép khối trung gian

Để tạo một tập hợp các khối được sắp xếp mà các khối ở giữa là không bắt buộc, bạn cần đưa vào ít nhất một mục nhập từ cả lần kiểm tra kết nối trước đó của khối ở giữa và lần kiểm tra kết nối trước đó của khối cuối cùng trong lần kiểm tra kết nối tiếp theo của khối đầu tiên. Điều này cho phép khối đầu tiên theo sau là một khối giữa hoặc một khối cuối cùng.

các khối câu lệnh không cho phép khối giữa

Ngăn xếp hoặc

Để tạo một khối chỉ có thể theo sau là các khối từ một nhóm hoặc các khối từ một nhóm khác (chứ không phải cả hai), bạn cần làm hai việc:

  1. Bạn cần đưa ít nhất một mục nhập từ cả hai lần kiểm tra kết nối trước đó của nhóm vào lần kiểm tra kết nối tiếp theo của khối đầu tiên.

  2. Bạn cần xác định các lần kiểm tra kết nối tiếp theo của nhóm để chỉ bao gồm các giá trị có trong các lần kiểm tra kết nối trước đó (vì vậy, các lần kiểm tra này chỉ có thể được theo sau bởi các khối của cùng một nhóm).

các khối câu lệnh có thể theo sau là nhiều loại khối hoặc nhiều loại khối khác, nhưng không được có cả hai