Make approach to defining enums consistent across the project
Maintainer thường phản hồi trong vòng 6 ngày
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
Hướng nghiên cứu
So sánh các định nghĩa enum được giới thiệu bởi #654 cho Ecosystem với analysis.Mode, staticanalysis.Task và analysisrun.DynamicPhase. Xem xét cách từng định nghĩa xử lý chuỗi, danh sách, flag, tuần tự hóa JSON và String(), sau đó thống nhất một cách tiếp cận duy nhất được ghi chép, bao quát cơ sở số so với cơ sở chuỗi và hành vi marshaling bắt buộc.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
#654 introduces the enum type Ecosystem implemented differently to other enums (e.g. analysis.Mode and staticanalysis.Task and analysisrun.DynamicPhase)
We should develop a consistent approach to how we define enums:
Some areas that should be covered:
- should the base type be string vs numeric
- how do we handle lists of enums
- how do enums interact with flags
- how do enums handle serialization (JSON)
Both:
- require String()
Numeric based enums:
- can use
iota - can consume as little as 8bits (byte)
- very fast to compare equality
encoding.TextMarshalerandencoding.TextUnmarshalerneeded to supportflag.TextVarand json serialization- requires strings to be specified for marshaling and unmarshaling (although an array of strings may make this easier)
String based enums:
- consume 128 bits per enum
- simpler String() function and serialization
- equality is more costly (at minimum two comparisons, maximum the size of the shortest string)
- Ngôn ngữ chính
- Go
- Star
- 925
- Fork
- 75
- Merge trung bình
- 4 ngày 2 giờ
- Pull request đã merge (30 ngày)
- 3
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọ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 ossf/package-analysis
-
Python execute phase aborts with error_analysis when the package closes stdout (MCP stdio servers)Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 78/100
ossf/package-analysis#1200 ·
Maintainer thường phản hồi trong vòng 6 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
ossf/package-analysis#1192 ·
Maintainer thường phản hồi trong vòng 6 ngày
-
OpenSSF Documentation UpdatesĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
ossf/package-analysis#1125 ·
Maintainer thường phản hồi trong vòng 6 ngày
-
4gbĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 5/100
ossf/package-analysis#1123 ·
Maintainer thường phản hồi trong vòng 6 ngày
-
>4 gbĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
ossf/package-analysis#1122 ·
Maintainer thường phản hồi trong vòng 6 ngày
Tất cả issue của ossf/package-analysis
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
-
evener-transcript-v2-upgrade tool still scans transcript files through bufio's 4 KiB default bufferĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
prime-radiant-inc/evener#6370 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ManageSieve proxy: a backend's NO/BYE greeting is skipped as a capability line and reported as EOFĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Mend: dependency security vulnerability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Mend: dependency security vulnerability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
ManageIQ/manageiq-pods#1476 ·
Maintainer thường phản hồi trong vòng 1 ngày