www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Simple tasks to get involved

reply Seb <seb wilzba.ch> writes:
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
Dec 19 2016
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
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!
Dec 20 2016
parent Swoorup Joshi <swoorupjoshi gmail.com> writes:
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
Dec 20 2016
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
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
Dec 20 2016