Reorganize sample files used in tests.
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- php
- Lĩnh vực
- documentation, testing
Hướng nghiên cứu
Bắt đầu với bố cục hiện có trong snifftests/files/ và đọc các phần README mô tả cách sử dụng các tệp mẫu. Kiểm kê các mẫu quy tắc hiện tại, sau đó xác định mẫu nào thuộc must/ hoặc must_not/ mà vẫn giữ nguyên các kỳ vọng của bài kiểm thử. Cập nhật README với lý do được nêu cho whitelist và blacklist, rồi chạy bộ kiểm thử hiện có để xác nhận rằng tất cả các mẫu vẫn được kiểm thử.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The codesniffer is unique in that it's not really a binary "yes/no" detector. In fact, it works in a strange kind of 3-way state in most cases:
"This must be X" vs "This must not be X" vs "This must be x^" vs "This must not be x^" vs "I don't care really."
Or using an example, you can write a sniff that dictates the opening brace must not appear "on the same line," but that doesn't necessarily preclude it from being two lines down:
if (...) { // fail
//...
}
//vs
if (...) // pass
{
//...
}
//vs
if (...) // pass(?)
{
//...
}
Writing a rule in a "blacklist" fashion like this allows you to prevent a single bad behavior while not specifying a single preferred behavior. The alternative is a whitelist style rule that says, "this one way is accepted, all others are errors". Depending on what you want to allow and how flexible you want your standard to be, one or the other (or both) will be most appropriate in each case, but this makes testing hard.
In fact this typically means that good test cases have two sides to them: a file (or files) that fail a specific sniff as example(s) of breaking a rule, and other file(s) that demonstrates "proper" or "all acceptable" behavior that passes all sniffs.
To aid in understanding and reinforcing this dynamic, I'm suggesting grouping the sample files we test the ruleset against into folders that make their purpose a little more explicit: snifftests/files/must/ and snifftests/files/must_not/. There's more information in the README about the intended purpose of this, but the basic idea is that whitelist tests for rules that enforce a single specific style go in must/ and blacklist tests that ban a single specific behavior go in must_not/.
In fact, the README could probably stand to be updated to include a little more of this "theory" explanation too.
- Ngôn ngữ chính
- PHP
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của loadsys/loadsys_codesniffer
-
enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
loadsys/loadsys_codesniffer#51 · 1 bình luận ·
-
question
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
-
enhancement help-wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
.editorconfig to prevent stripping trailing space, adding final newline in snifftests/files/.Đang mởenhancement help-wanted
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 45/100
-
bug help-wanted
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Tất cả issue của loadsys/loadsys_codesniffer
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Automattic/blocks-engine#2866 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
community-scripts/ProxmoxVE#17944 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
EasyCorp/EasyAdminBundle#7861 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Good first issue: add laravel-inertia stack budget preset (Laravel 11 + Inertia.js + PHP 8.3)Đang mởenhancement good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
backend gamification P0
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
semanadeinformatica/website#461 ·