Re-design `allergies`
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- php
- Lĩnh vực
- testing-qa
Hướng nghiên cứu
Bắt đầu bằng cách xem xét bài tập allergies hiện tại, lớp trợ giúp Allergen và các bài kiểm thử sử dụng Allergen trong một dataProvider. So sánh ba đề xuất về enum và kiểu nguyên thủy, sau đó xác định bài tập đã chọn và thiết kế kiểm thử là hoàn tất khi phần triển khai không còn yêu cầu cách tiếp cận lớp trợ giúp có vấn đề.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The current exercise design has many problems:
- Students must implement a helper class
Allergenthat has no TDD style guidance Allergenis used in tests, in a@dataProvider. That gives hard to understand PHP errors in tests onlyAllergenwould not be implemented that way anymore - it is a typicalenumclass
Problem specifications do not ask for a certain implementation. They define the problem statement as open as possible. Our design also should allow as many solutions as possible.
Suggestion 1: Strings and integers only
This leaves all possibilities open. Mentors can suggest enum or such to students. But enum is optimal for interfaces, internal enum usage just complicates things.
Suggestion 2: Provide enum stub
In addition to the tests from problem specifications we test the enum implementation first. When that is implemented, the actual problem is tested for. In these tests we must use the enum type, too (like Allergen now).
This forces students to use enum. It raises the bar for students not familiar with that. But enum would be a good choice in a real life scenario.
Suggestion 3: Provide ready-made enum
As before, this forces students to use an enum type. But the level of required knowledge is lower (only usage is required). But still, it makes no sense to work with other types internally then.
Which way to go? Other suggestions?
- Ngôn ngữ chính
- PHP
- Star
- 167
- Fork
- 150
- Merge trung bình
- 1 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 7
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
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 exercism/php
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Discussion: Test generator designCó thể làm lại được @mk-mxp đã nhận 371 ngày trước và không có pull request nào đang mở. Đang mở
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
-
Tracking: Test generator MVPCó thể làm lại được @mk-mxp đã nhận 961 ngày trước và không có pull request nào đang mở. Đang mở
exercism/php#631 · 2 bình luận · 1 reaction · 1 người được giao ·
Issue tương tự
-
needs-triage Platform(Default)
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Store] RstLoader detects headings inside indented code blocksCó thể đã có người làm @lazerg đã nhận hôm nay. Đang mởBug Status: Needs Review Store
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug repo:ckeditor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
No Code Attached Yet
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
joomla/joomla-cms#48611 ·
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 65/100
Maintainer thường phản hồi trong vòng 1 ngày