-
Notifications
You must be signed in to change notification settings - Fork 282
Closed
Description
I think that we currently have too few packages that each do too many things. So I wanted to start a discussion about specific functionality from certain packages that can and should be isolated. Here are some initial ideas:
- Put all
logger.*functions to apecan.loggerpackage - Create a small set of date-related functions, and put them in a
pecan.datespackage that can be used bymet.processand other date-related packages. - Pull functions related to MCMC analysis (e.g. convergence checking, burnin calculation, distributions) out of the
rtm,assim.batch, andutilspackages (and wherever else they are hiding) into apecan.mcmctoolspackage.
From Hadley's package recommendations...
I believe that packages that have a wide audience should strive to do one thing and do it well. All functions in a package should be related to a single problem (or a set of closely related problems).
From the UNIX philosophy:
Write programs that do one thing and do it well.