Submitting author: @rorynolan (Rory Nolan)
Repository: https://github.com/rorynolan/filesstrings
Version: v0.4.1
Editor: @karthik
Reviewer: @benmarwick
Archive: 10.5281/zenodo.801452
Status badge code:
HTML: <a href="http://joss.theoj.org/papers/07bb434639229b98ab65bbf49bb8d16a"><img src="http://joss.theoj.org/papers/07bb434639229b98ab65bbf49bb8d16a/status.svg"></a>
Markdown: [](http://joss.theoj.org/papers/07bb434639229b98ab65bbf49bb8d16a)
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
paper.md file include a list of authors with their affiliations?Hello human, I'm @whedon. I'm here to help you with some common editorial tasks for JOSS. @benmarwick it looks like you're currently assigned as the reviewer for this paper :tada:.
:star: Important :star:
If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As as reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all JOSS reviews ๐ฟ
To fix this do the following two things:


For a list of things I can do to help you, just type:
@whedon commands
Review of filesstrings
I'm using the ropensci reviewer template here:
y: yes
i: could be improved
n: no
The package includes all the following forms of documentation:
URL, Maintainer and BugReports fields in DESCRIPTION Paper (for packages co-submitting to JOSS)
The package contains a
paper.mdwith:
- [i] A short summary describing the high-level functionality of the software
- [y] Authors: A list of authors with their affiliations
- [i] A statement of need clearly stating problems the software is designed to solve and its target audience.
- [n] References: with DOIs for all those that have one (e.g. papers, datasets, software).
Estimated hours spent reviewing: 3
This is an expertly-written R package that adheres to many conventions of good practice and efficient programming. It contributes some useful functions in R for file, directory, and string manipulation that could be very useful for many users.
The statement of need should be more specific, I recommend something like: "This package provides convenient functions for moving files, deleting directories, removing spaces from file names, and a variety of string operations that I wished were easier in base R."
Installation instructions should show how to install dev version, e.g. "To install the development version , run:
devtools::install_github("rorynolan/filesstrings")"
Vignettes are present. The main issue with the vignettes is that they are not very useful, especially the Files vignette. The heading in both vignettes, "Please Read the Manual", is a bit puzzling - the reader is already reading the manual (i.e. the vignette), so why ask them to do this? The examples in the Files vignette are too artificial, and don't represent a typical user's experience. I recommend to consult vignettes some widely used packages and re-write to match their style and accessibility for the typical user. I've edited the readme to indicate text that is more user-friendly.
Recommend to add contribution guidelines in the README or a CONTRIBUTING file, with a link from the readme
In paper.md and elsewhere, 'cleverly' doesn't seem like the right way to describe file moving in base R. 'Unintuitive' seems more appropriate. There are no references, which is unusual. Recommend to take a look at R packages that have been accepted by JOSS to see what they put as references.
I will make a pull request to help with some of these suggestions.
Now I'm using the ropensci pkg guidelines here:
filesstrings with the ss in the middle seems a bit awkward. Why not filestrings?
ropensci recommends snake_case, and the base functions that this pkg complements use period.separated. But in this pkg we have UpperCamelCase, which is unexpected, and will likely make it harder for the user to recall the function names (it's one of the least common naming conventions)
It seems more natural and easier to remember if MoveFiles is named move.files. Similarly, RemoveDirs should be dir.delete to echo dir.create.
It seems more nature for PutFilesInDir to be a default behaviour of MoveFiles when the directory name doesn't exit
โ The readme is good, I've made some suggestions to make the text more user-friendly
Recommend to add, cf. the ropensci guidelines:
CODE_OF_CONDUCT.md or CONDUCT.md file in the package root directory, and linking to this file from the README.md file. devtools::use_code_of_conduct() will add the Contributor Covenant template to your package.โ Uses roxygen2
โ There is a NEWS.md
Recommend to use sections as needed, including: NEW FEATURES, MINOR IMPROVEMENTS,
BUG FIXES, DEPRECATED AND DEFUNCT. Under each header list items as needed. For each item give
a description of the new feature, improvement, bug fix, or deprecated function/feature. Link
to any related GitHub issue like (#12). The (#12) will resolve on GitHub in Releases to a
link to that issue in the repo.
โ The DESCRIPTION file does list the package authors and contributors to a package, using the Authors@R syntax to indicate their roles (author/creator/contributor etc.)
โโ There is an extensive set of tests, using testthat
โ Uses semantic versioning.
โ Uses Git tags
โ Uses continuous integration.
โ Includes extensive examples in the documentation.
โ Uses Imports instead of Depends
Recommend to add some message()s to confirm to the user that a function completed successfully. For example, something like "37 files moved, no errors"
๐ Hi @rorynolan, Can you please respond to Ben's comments and update this thread please?
Dear @benmarwick ,
Thank you for taking the time to review my package. I agree with all of your points and will amend my package accordingly. I'll have it ready in a few weeks.
Regarding the renaming of the package, since it's already on CRAN, I think I'll leave the name as it is, even though filestrings would be better for sure.
Regarding the snake_case naming of functions, I made the package according to google's R style guide. I now use snake_case in everything I do, but when I switched styles I was knee-deep in this package. It already has over a thousand downloads on CRAN, so do you think it would do more good than harm for me to restyle it? If you think it's a good idea, I'm willing to.
Thanks again,
Rory
@rorynolan Great! Please at mention me when you're ready for us. thanks!
Hi @benmarwick
Apart from renaming the package and changing the style, I've implemented everything you said and pushed the changes to github.
In particular, I've
file.move() and dir.remove() to comply with base R's naming stylePutFilesInDir() to be a default behaviour of MoveFiles()messagesLet me know what you think regarding the restyling and the changes I've made.
No rush, I'm not in a hurry to publish.
Thanks again again,
Rory
Thanks, I've reviewed the changes made at https://github.com/rorynolan/filesstrings/commit/dc5338deb72af5c7c3489e275efb3b6b9ec0e3bf, and they are excellent. I'm delighted to say that the author has responded to my review and made changes to my satisfaction. I recommend approving this package. Congratulations on such high quality work on a very useful package!
@rorynolan - At this point could you make an archive of the reviewed software in Zenodo/figshare/other service and update this thread with the DOI of the archive? I can then move forward with accepting the submission.
Thanks @benmarwick for the review and kind words.
Thanks @karthik for editing.
Thanks @arfon for the great JOSS service. DOI: 10.5281/zenodo.801452
@whedon set 10.5281/zenodo.801452 as archive
OK. 10.5281/zenodo.801452 is the archive.
@rorynolan - Could you move the references you currently have in the paper.md file into a paper.bib file and cite them directly please? (You can read how to do that here). The citations in paper.bib are automatically compiled into the final PDF by Pandoc and so they don't need to be listed at the end of the paper.md file.
๐
Hi @arfon,
This is done now.
Thanks again,
Rory
@benmarwick - many thanks for your review here and to @karthik for editing this one โจ
@rorynolan - your paper is now accepted into JOSS and your DOI is http://dx.doi.org/10.21105/joss.00260 โก๏ธ:rocket: :boom:
Thanks again everyone. JOSS has been a fantastic experience, I'll be recommending it to all my colleagues.
Most helpful comment
Thanks, I've reviewed the changes made at https://github.com/rorynolan/filesstrings/commit/dc5338deb72af5c7c3489e275efb3b6b9ec0e3bf, and they are excellent. I'm delighted to say that the author has responded to my review and made changes to my satisfaction. I recommend approving this package. Congratulations on such high quality work on a very useful package!