bfast icon indicating copy to clipboard operation
bfast copied to clipboard

Marketing names for functions

Open GreatEmerald opened this issue 6 years ago • 5 comments

Come up with easier-to-understand names of the existing functions for users (suggested by Andrei). Needs some creative thinking. Of course, the old names should become aliases in that case.

GreatEmerald avatar Oct 09 '19 12:10 GreatEmerald

Preferably function names are descriptive verbs. We haven't decided yet on whether we want to use a namespace or not. So please also come up with namespace suggestions. Probably bfast is a good namespace. I would also propose to use _ (underscores) as namespace separators, but otherwise we should use camelCase.

mirt001 avatar May 01 '20 12:05 mirt001

No comments for a month, this means my last proposal is accepted.

  • bfast will be the namespace.
  • underscore will be the namespace separator.
  • e.g. package::namespace_functionName
  • e.g. bfast::bfast_0n

The example is a living proof that we still need to find good function names, and for that we need a full list of all bfast functions.

mirt001 avatar Jun 02 '20 09:06 mirt001

An idea is to call bfast0n() bfast_light().

How do you call bfast::bfast() then, if bfast is also the namespace?

GreatEmerald avatar Jun 02 '20 09:06 GreatEmerald

I guess bfast::bfast_bfast is not a good idea. But that's only because bfast in itself is not a great name for a function. A good name for a function should be

  • descriptive
  • an action/verb
  • if not an existing verb, then at least something that can be pronounced as a verb

Nobody ever said that they bfasted the Amazon forest, although many may have actually done it. Probably bfast itself should be changed to something like bfast::bfast_detect_change().

Bellow there's a list with all functions found in the R bfast package. Please make suggestions.

bfastmonitor.hist.roc
bfastmonitor.olscusum
bfastmonitor.RE
bfastmonitor.ME
bfastmonitor.hist.bp
bfastmonitor.hist.all
bfastmonitor.modis
xbfastmonitor
bfastmonitor.modis.all
bfastmonitor.modis.all.irregular
bfast.reccusum
bfast.olscusum
bfast.dummy
bfast.olsmosum
bfast.recmosum
bfast01.test01
bfast01.test02
bfast01.test03
buildProfileGraph
test.recresid
test.interceptonly
test.model1
test.dummy1
test.poor1
bfast
bfast01
improvement01
breakpoints.bfast01
breakdates.bfast01
logLik.bfast01
deviance.bfast01
model.frame.bfast01
model.matrix.bfast01
nobs.bfast01
AIC.bfast01
BIC.bfast01
coef.bfast01
fitted.bfast01
residuals.bfast01
predict.bfast01
as.zoo.bfast01
plot.bfast01
.breaks01
.make_confint_lines01
.confint01
myfun
myprod
bfast01classify
classlabels.bfast01
bfastmonitor
.bfastmonitor.matrix
time2num
.bfastmonitor.default
stl_adjust
nalag
bfastts
yday365
.bfastts.new
.bfast_construct_ts
ndays
create16dayts
history_break
history_break.matrix
history_roc
history_roc.matrix
history_roc.formula
plot.bfast
plot.bfastmonitor
print.bfast
print.bfastmonitor
.bfast_cpp_closestfrom
seasonal
.onLoad
set_fast_options
set_default_options

mirt001 avatar Jun 02 '20 11:06 mirt001

this has been partially fixed. I also filtered the above list with the relevant functions for brevity.

bfastmonitor xbfastmonitor bfast bfast01 buildProfileGraph bfast0n -> bfastlite improvement01 myfun myprod bfast01classify bfastmonitor time2num stl_adjust nalag bfastts yday365 ndays create16dayts -> deprecated history_break history_roc set_fast_options -> became set_default_options set_default_options -> set_fallback_options

mirt001 avatar Mar 31 '21 12:03 mirt001