Skip to content

Commit d7b3299

Browse files
committed
use labels in title
1 parent f2f74d3 commit d7b3299

File tree

1 file changed

+10
-30
lines changed

1 file changed

+10
-30
lines changed

tmpl/wiki/package-quality.md

+10-30
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ the "MirageOS quality levels". Ideally this will live in a tool (e.g.
2525
`mirage lint`) but to start we list the criteria that package aiming
2626
for increased quality should follow.
2727

28-
### Level 1: Follow Packaging Guidelines
29-
30-
![level-1](https://img.shields.io/badge/level-1-blue.svg)
28+
### ![Level 1:](https://img.shields.io/badge/level-1-blue.svg) Follow Packaging Guidelines
3129

3230
See the [packaging guidelines](https://mirage.io/wiki/packaging) for more
3331
details. In summary:
@@ -52,9 +50,7 @@ details. In summary:
5250
and could break the package in the future if one of a transitive dependency
5351
is updated) (NOTE: should probably be added in the packaging guideline)
5452

55-
### Level 2: Define Package Scope
56-
57-
![level-2](https://img.shields.io/badge/level-2-blue.svg)
53+
### ![Level 2](https://img.shields.io/badge/level-2-blue.svg) Define Package Scope
5854

5955
- Have well-identified maintainers. GitHub recently
6056
[introduced code owners](https://github.com/blog/2392-introducing-code-owners),
@@ -67,19 +63,15 @@ details. In summary:
6763

6864
- Have documentation
6965

70-
### Level 3: Use Good Coding Style
71-
72-
![level-3](https://img.shields.io/badge/level-3-blue.svg)
66+
### ![Level 3:](https://img.shields.io/badge/level-3-blue.svg) Use Good Coding Style
7367

7468
- Have proper indentation (using ocp-indent + checked-in ocp-indent file).
7569

7670
- Use at most 80 columns (`ocp-indent` unfortunately doesn't check this).
7771

7872
- Follow [OCaml programming guidelines](https://ocaml.org/learn/tutorials/guidelines.html).
7973

80-
### Level 4: Keep your Style Functional
81-
82-
![level-4](https://img.shields.io/badge/level-4-blue.svg)
74+
### ![Level 4:](https://img.shields.io/badge/level-4-blue.svg) Keep your Style Functional
8375

8476
- Avoid global mutable state.
8577

@@ -90,15 +82,11 @@ details. In summary:
9082
- Avoid polymorphic equality and comparison -- when possible define your own
9183
specialized functions.
9284

93-
### Level 5: Test
94-
95-
![level-5](https://img.shields.io/badge/level-4-blue.svg)
85+
### ![Level 5:](https://img.shields.io/badge/level-4-blue.svg) Test
9686

9787
- Have unit tests (using alcotest) (ideally with coverage report).
9888

99-
### Level 6: Sane Dependencies
100-
101-
![level-6](https://img.shields.io/badge/level-6-blue.svg)
89+
### ![Level 6:](https://img.shields.io/badge/level-6-blue.svg) Keep Sane Dependencies
10290

10391
- Depends only on libraries released in opam.
10492

@@ -123,26 +111,20 @@ details. In summary:
123111
improve performance by an order of magnitude, or re-use an existing C library
124112
that has not been rewritten yet.
125113

126-
### Level 7: Randomized Test
127-
128-
![level-7](https://img.shields.io/badge/level-7-blue.svg)
114+
### ![Level 7:](https://img.shields.io/badge/level-7-blue.svg) Randomized Test
129115

130116
- Have randomized property-based testing. Using QuickCheck-like libraries or
131117
even better using fuzz testing (and crowbar) when the tooling will be ready.
132118

133-
### Level 8: Count with Care
134-
135-
![level-8](https://img.shields.io/badge/level-8-blue.svg)
119+
### ![Level 8:](https://img.shields.io/badge/level-8-blue.svg) Count with Care
136120

137121
- Avoid integer overflows (basically every addition and subtraction, as well
138122
as multiplication needs to be guarded unless you know that an overflow can
139123
never happen (in this case, a comment should be suggested))
140124

141125
- Work on 32bit (esp. in regards to the last point)
142126

143-
### Level 9: Used in Production
144-
145-
![level-9](https://img.shields.io/badge/level-9-blue.svg)
127+
### ![Level 9:](https://img.shields.io/badge/level-9-blue.svg) Used in Production
146128

147129
- Have a clear indication if the library is used in production (and if yes by
148130
which project).
@@ -151,8 +133,6 @@ details. In summary:
151133
needed to build the released version of the binary, for instance by vendoring
152134
opam metadata.
153135

154-
### Level 10: Verify Formally
155-
156-
![level-10](https://img.shields.io/badge/level-10-blue.svg)
136+
### ![Level 10:](https://img.shields.io/badge/level-10-blue.svg) Verify Formally
157137

158138
- Has been formally verified.

0 commit comments

Comments
 (0)