On Wednesday, 16 December 2015 at 11:01:25 UTC, Robert burner
Schadek wrote:
Yes with many conditions:
* Documentation
** The documentation needs a complete rewrite. If I hadn't had
any prior knowledge, I would have needed to read the numpy
documentation to figure what this package does. That is not
acceptable. It is also not clear how the functionally in the
package is supposed to work together, and how it interacts with
the rest of phobos.
I will add description of what this module dose and how it works
under the hood. In the same time I expect few articles from
another engineers about ndslice like this
http://dlang.org/intro-to-datetime.html . It is much better to
have explanation from different engineers.
** Params, Returns ...
Agreed.
* Style
** the source code does not look like phobos
** s/assert (/assert(/g
** s/unittest {/unittest\n{/g
** unittest properties should be on the same line as the
unittest keyword
** spaces between operators
** dfmt and some manuel work is your friend
Agreed all except spaces between operators. I would like to do
not use them in someY examples exactly for readability reasons.
* Testing
** most tests only use itoa, what about arrays what about
arrays with user defined types. That's properly trivial but
should be tested.
Didn't agree. Corresponding features for arrays and
std.container.array are tested. 98% of ndslice do not do anything
with data. Its change strides and lengths _only_.
** interaction with rest of phobos. Can I call map on a Slice?
If I can, it should be tested so that it still works after the
next release.
OK, I will add test for `map`. For other Phobos Slice is just an
Random Access Range and it is already tested for iota, arrays,
std.container.array, dummyranges .
Please note this DMD bug (see reduced example by John):
https://issues.dlang.org/show_bug.cgi?id=15441
* Miscellaneous
** string mixins. I think some of the string mixins can be
removed for something more readable/debuggable
**
I have not found examples where string mixins can be removed.
Please refer to particular example. The code for `sliced` and
`assumeSorted` looks ugly. But I don't know how is can be done
another way. Remove this functionality is an option.
Thank you and regards,
Ilya