Simple tasks to get involved

Seb via Digitalmars-d digitalmars-d at puremagic.com
Mon Dec 19 23:33:02 PST 2016


Hey all,

there are a lot of complaints recently and if one looks at the 
high-level vision document (https://wiki.dlang.org/Vision/2016H2) 
there are many projects one can start to change the status quo.

However, as most of them might require a lot of time or 
expertise, here are a couple of ideas  from the H2 vision that 
have been semi-automated and could be a good start for everyone 
to get involved:

Improving Code coverage
-----------------------

Since a couple of months, code coverage reports are enabled for 
all dlang repos and while this helps a lot for new contributions 
(especially with the browser extension [1]), there are still a 
lot of modules that can be incrementally improved.

How-to: have a look at the CodeCov page and pick your favorite 
module -> find uncovered lines -> add tests -> submit a PR:

https://codecov.io/gh/dlang/phobos

You can also see the output locally for a single module with:

make -f posix.mak std/math.test

and then browse the `std-math.lst` file.

[1] https://github.com/codecov/browser-extension


Make sure every function in Phobos has an example
-------------------------------------------------

Issue: https://issues.dlang.org/show_bug.cgi?id=16990
Script: 
https://github.com/wilzbach/style-checkers/blob/master/has_public_example.d
Example: https://github.com/dlang/phobos/pull/4973

How-to: Run the script to find functions without examples -> add 
examples for a module -> submit a PR

Make sure every function in Phobos has Params: and Returns:
-----------------------------------------------------------

Issue: https://issues.dlang.org/show_bug.cgi?id=16989
Script: https://github.com/Hackerpilot/Dscanner/pull/390

How-to: Run the Dscanner plugin to find functions without 
Params/Returns -> add them for a module -> submit a PR

Review @safe usage in Phobos (or @system -> @safe)
--------------------------------------------------

How-to: Pick your favorite module and search for 
'@system.*unittest' -> have a look whether the function can be 
done in SafeD -> submit PR

(alternatively one can also review the use of @trusted)

Example: https://github.com/dlang/phobos/pull/4690
Guide: http://dlang.org/safed.html

Enable more Dscanner plugins/automation for Phobos
--------------------------------------------------

Config: https://github.com/dlang/phobos/blob/master/.dscanner.ini
How-to: find your favorite, disabled Dscanner plugin -> enable it 
-> run dscanner on Phobos (make -f posix.mak style) -> fix the 
errors -> submit a PR


More information about the Digitalmars-d mailing list