From: c. <kin...@ti...> - 2012-09-06 08:24:58
|
On 6 Sep 2012, at 09:13, c. wrote: > > On 5 Sep 2012, at 23:31, davide prandi wrote: > >> Well, it works. Thanks to everyone! I'll load it on sourceforge as soon as possible, if someone wants to check/test it I'll be happy. >> Regards, >> >> Davide > > Davide, > Some suggestions for your next version: > > - the copyright notice is incomplete. You can look at other > files in Octave Forge for examples, you can browse other packages' sorce code from here: > octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/ > > In particular it should be at the top of the file, before the function signature and it > should start with "%% Copyright (C)", Octave looks for this string to understand that it > is a copyright notice and not part of the help text. > > - If you have no special reason for doing otherwise I'd reccomend using GPL "version 3 or later" as the > license. > > - In order to make testing easier you may want to add some automatic tests to your file, > these are code blocks (usually placed at the end of the file) commented with the special symbol "%!" > and starting with "%!test". If your function contains such automatic tests, the command "test ode23s" > will run all the tests and report the results as PASS or FAIL. > See here for more details: > http://www.gnu.org/software/octave/doc/interpreter/Test-Functions.html#Test-Functions > A good test for your function would be to check the order of convergence and stability of the method > on a linear problem for which an exact solution is known. > > - If you write examples/test that contain graphical output, it's better to include them as demos rather than tests. > In your case it would make sense to plot the exact and numerical results for comparison. > > - You should start adding a documentation string, see here for tips about how to write such string: > http://www.gnu.org/software/octave/doc/interpreter/Documentation-Tips.html#Documentation-Tips > > - When you upload the next version to the tracker also send a message to this mailing list asking for comments > as almost nobody monitors the tracker. You might also want to cc the maintainer of "odepkg", Thomas Treichl, > as I think that package is the best place where to place your function. > > Welcome to Octave and keep up the good work, > Carlo Another comment: the correct way to check whether a variable is empty is not if size(options.RelTol)~=size([]) instead use if (! isempty (options.RelTol)) to make the check more robust you could also check whether the field exists before checking for its size if (if isfield ("options", "RelTol") && ! isempty (options.RelTol)) HTH, c. |