Thread overview
Simple tasks to get involved
Dec 20, 2016
Seb
Dec 20, 2016
Walter Bright
Dec 20, 2016
Swoorup Joshi
December 20, 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
December 20, 2016
On 12/19/2016 11:33 PM, Seb wrote:
> 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:

Thanks for posting a nice summary of how to help!

December 20, 2016
On Tuesday, 20 December 2016 at 11:54:08 UTC, Walter Bright wrote:
> On 12/19/2016 11:33 PM, Seb wrote:
>> 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:
>
> Thanks for posting a nice summary of how to help!

This should be pinned topic
December 20, 2016
On 12/20/2016 02:33 AM, Seb wrote:
> 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:
[snip]

This is awesome stuff! I'm a huge fan of automation, and this is really appreciated. Can you offer an opt-out for documentation and Params:/Returns:? If so, we should make these tests part of the requirements for all PRs starting with a blacklist. -- Andrei