vote for "without !"
On Monday, September 28, 2015 at 6:40:36 PM UTC+2, Steven G. Johnson wrote: > > > > On Monday, September 28, 2015 at 12:34:01 PM UTC-4, Tom Breloff wrote: >> >> A question regarding the use of `!` came up a few days ago ( >> https://github.com/tbreloff/Plots.jl/issues/30#issuecomment-142995667), >> and I wanted to quickly poll the users to get opinions. >> >> When a module maintains some sort of global state, and a method mutates >> that global state, is it appropriate to add `!` to the end of the method >> name? >> >> The example referenced asks why I named the method `immerse!()` instead >> of `immerse()`, even though it doesn't have any arguments to mutate (it >> changes the default plotting backend, which is part of the module state). >> Which method name should it be? (and is it better or worse to provide both >> options which would do the same thing?) >> > > See the discussion in https://github.com/JuliaLang/julia/issues/9262 ... > and in particular the discussion about rand(), which modifies global state, > but that is an implementation detail rather than a part of the definition > of the function. >