Vince's answer gives the official position, to which I'll add my personal opinions for my little corner of the world.

Every previous release, I had routine rounds of "depiping" where I go through any package that I'm heavily involved in and strip out any %>% calls. I think I've gotten the last of them in this release, but one must never be too careful. The reasons for this behavior are 2-fold:

- Pipes encourage these long expressions where A %>% B %>% .... %>% Z. These are hard to debug. Sure, you could use debug_pipeline() or debug_pipe() but then you need to copy the whole chain and wrap it in a debug_pipeline() or stick a debug_pipe() in the middle... geez. I just want to step through a debug()'d function and look at each step.

And sometimes debug()ing isn't even possible (e.g., S4 method bodies, or complex scenarios involving repeated calls to a problematic function). In such cases, I spam print() statements on the intermediate objects for debugging. If I had pipes, this would require me to break up the chain to extract the intermediate construct for interrogation.

- They are hard to read. While technically you only have to think about each step of the chain as you go along, the way that it's presented means that, in practice, you're forced to reason about the whole chain at once. I'd also rather avoid having to even think about the many faces of "." when looking at code that I'm not familiar with.

The use of %>% chains is tolerable in some cases, e.g., interactive analysis code that you're writing from scratch where brevity of expression is important. But package code is "write once, read hundreds of times" where it helps to be more verbose.

So, to answer your question: not in my backyard.

-A


On 8/17/19 1:52 AM, Vincent Carey wrote:
On Sat, Aug 17, 2019 at 4:40 AM Venu Thatikonda <thatikond...@gmail.com>
wrote:

Hi,

As the title says, is %>% acceptable in bioc packages? With BiocCheck, I
get a WARNING that is "Add non-empty \\value sections to the following man
pages: man/pipe.Rd".


Yes magrittr is acceptable.  The warning says (I think) that you have a man
page for
a topic 'pipe' but did not put a \value section for the man page.  If using
roxygen you
would want to have a @return element in your documentation, to avoid this
warning.


Is it okay even if this warning appears ? `R CMD check` didn't give
warnings about it.


Try to avoid the warning.  If you have difficulty, report back.



Thank you.

--
Best regards
Venu Thatikonda
https://itsvenu.github.io/

         [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to