On 12 March 2011 13:33, Matthew Brush matthewbrush@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.
Cheers Lex
In a general sense I agree with you though.
Cheers, Matthew Brush (codebrainz) _______________________________________________ Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel