On Sunday, August 27, 2017 at 7:57:52 PM UTC-7, Royall Spence wrote:
> And it's ready to consume:
> https://pkgd.racket-lang.org/pkgn/package/dotenv
> 
> This is the first Lisp-family code I've published, so that's exciting.
> Any feedback the list has to offer regarding style, approach, or
> packaging would be welcome.

Looks great! I'll keep this in mind next time I'm working with env configs. 
Here are
some comments:

- Using `for` expressions would make recursion unnecessary, and it cooperates 
well with in-lines.
- Racket style generally prefers lists, first, and rest to raw pairs and the 
c*r functions.
- You can put your test submodules anywhere, they don't have to be in main.rkt. 
So in dotenv/private/tests.rkt you don't need to define and export a suite, you 
can just use (module+ test ...). Running raco test -p <your package name> will 
run all test submodules found anywhere in the package.
- It looks like the generated scribble files got included in your repo. I 
typically add html, js, and css files to my .gitignore to avoid that.
- If you move your (require rackunit) expressions into your test submodules, 
rackunit will be a build dependency instead of a runtime dependency.
- Using @defproc[] in your scribble docs will make the exports of dotenv 
searchable.
- Contracts and contract-out make it easy to add argument checking to 
functions, I recommend using them.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to