[Geany-devel] Plugin Version control (explained?)

Lex Trotman elextr at xxxxx
Fri Aug 19 00:02:23 UTC 2011


[...]
>> 3. interface wrapper functions should be used to hide the
>> implementation and side effects.
>
> What do you mean by "interface wrapper functions"?

In a situation where Geany does something by calling a few local
static functions or if it calls a few functions from different
modules, don't put the static functions in the API or expect the
plugins to call groups of functions, instead make a wrapper function
that calls the correct sequence so the exact implementation is hidden
and it only needs to be changed in one place.

>
> IMO Geany should use the exact same API than plugins to do one thing.

Of course Geany should call the wrapper too.  Basically its ok for
Geany to do implementation stuff directly, but only if its in one
place.  As soon as it is in the API it isn't one place any more.

> This would avoid having a broken getter in the API (or whatever) that we
> don't notice just because the core doesn't use it.

With the past non-proactive adding of things to the API there should
not be too much in that category, but over time it may accumulate as
we add more but don't remove stuff so we don't break the ABI.

Cheers
Lex

PS probably be a week or so before I get time to put stuff in the wiki



More information about the Devel mailing list