[Geany-devel] Ideas on increasing quality of plugins

Lex Trotman elextr at xxxxx
Sat Mar 12 03:37:33 UTC 2011

On 12 March 2011 13:33, Matthew Brush <matthewbrush at gmail.com> wrote:
> On 03/11/11 18:21, Lex Trotman wrote:
>> I agree that warnings should be fixed, but...
>> Not only the developer is going to be using the plugins, people who
>> are testing or even just using the latest will be, so you screw them
>> up as well as the original developer :-(
> Considering the plugin in question crashed (locked up) my entire Xorg
> session and I lost data, I can't say it would be a dis-service.

Nasty, but would the problem have been found by the quality tests?

> Personally (not being the most experienced programmer) I would prefer my
> plugin not build if I had made some very bad programming error, so that
> potential testers don't get a bad taste in their mouth for my plugin.

Yes, all developers should try to find all nasties before committing,
so the developer should run the tests that they have the time, tools
and abilities to run.

But there is a wide spectrum of developers and environments and time
and ability varies.  If you are concerned about your own abilities
(good on you for acknowledging it) then you should do all the testing
you can, run all the gotcha checkers etc. but that does have a cost in
terms of your environment and time.  For example I don't have a
windows development environment and my main development Linux is 64
bit, so I can't do exactly the same as the nightly builds do anyway.
Running all the tests in the world doesn't beat someone looking at
your commit though, but that means committing it :-)

To try to make it real lets give an example, lets say you have
developed the automatic mind reader code generator plugin.  I send a
message saying that if I think about coffee it crashes hopelessly and
I can't do anything else.  You have a vague idea where the bug is in
the Java synapse code but you only have time submit a quick fix so I
can go on testing/using the plugin.  Sadly the quick fix works but
happens to violate one of the quality warnings, so now the plugin
won't build and I can't continue to use it, whereas it should be
possible to continue to use the plugin and you fix the warning when
you have time.

There is no way that an automatic system can differentiate between
this sort of problem and your hang and lose data problem, so the
options are only to allow all warnings or allow no warnings, and for
all the reasons above I think no warnings is too harsh, especially if
the developer is relying on the automatic builds to check environments
that they don't have access to, it could take some time to fix and in
the meantime the plugin is unavailable.

But I stress again that we are talking about bleeding edge code here,
nightly builds or SVN builds.  It could pass all the tests and still
delete or sell all your private data.  And it might work fine on my
machine and crash on yours because mine is 64 bit and yours is 32 bit
or yours is Windows.

My approach is to use a release if I'm doing something important, and
bleeding edge if it matters less.  Thats why I was grumpy in the past
when I couldn't build plugins against anything but the system install.
I never sudo install anything from nightly builds or SVN (Geany or
other projects, including work ones) unless its on a disposable
machine.  I'm slowly getting a handle on using virtual machines for
this sort of thing, but I'm not there yet so very old PCs still get
used as disposable, but its a pain to rebuild them when they get
trashed and they are slow, noisy, have small screens etc so I don't do
it as often as I maybe should.


> In a general sense I agree with you though.
> Cheers,
> Matthew Brush (codebrainz)
> _______________________________________________
> Geany-devel mailing list
> Geany-devel at uvena.de
> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

More information about the Devel mailing list