Robert Spier wrote: >> I may have an extreme view on this, but... Systems that re-use the same >> module in lots of other different modules tend to annoy me, because the >> author hasn't thought out what needs to be imported when - instead >> they've just fired a shotgun blast of use statements around until things >> stopped erroring out. It's also nice to have terse code. >> > > You mean the author is writing clear code that says "this module > explicitly uses this module" instead of letting the reader make > assumptions? >
The author is not helping the reader by use'ing everything he could conceivably need in every file in the source tree, no. Plugins always need Qpsmtpd::Constants. My point was that plugins are *not* modules. There are no package declarations, etc. either. > Because it means we can never remove it. > Why not? > Nobody said anything about failing anything if they don't do it this > way. At least for the foreseeable future we're not going to require > anything extra in the plugins if you don't want to add it. We may go > the extra mile in the core, but that doesn't mean you need to do it > for your own plugins. > But then we'll need a different test to be more lenient with third party plugins that care to hook into the testing framework. Making one change is better than making N changes, particularly when N is large. > I'll just say this directly so we can get it out of the way: > I think you're wrong > Fair enough. Cheers, Brian