From: Andreas K. <and...@ac...> - 2009-06-01 18:37:03
|
Michał Antoniewski wrote: > Another update is available at assembla. > What's new: > - new test cases ( regarding your treatise about tests, I updated some > missing cases ) > - some of results ( for test cases ) moved into procedures - the bottom > of XOpsSetup file, I wanted to stick with organisation given by XSetup > file for "setup files". > - updated description of algorithms and code comments - graphops.tcl. > - corrected errors you noticed in last version. Ok. Will review sometime today. > First of all, thank you for your treatise concerning tests - it has > surely well described approach to tests for all algorithms Thanks, glad that it was of help to you. > implementations. So, in each of next steps, I'm going to stick to > black/white box testing principles. > >>So, if you now believe that writing tests for an algorithm takes at > least as much time as coding the algorithm, and often more time, then > you are completely right. It does. > > Yeah, thats true:) I would even say that it takes a lot more time than > implementing, especially concerning easier implementations. > This year, D. Richard Hipp had a lecture at my university and when he > said about proportions of test code and other code in SQLite > implementation... let's say I was a little bit amazed by this huge > disproportion :) Heh. sqlite is an extremely well tested piece of software (http://sqlite.org/testing.html). And Richard a very, very smart person. Miles ahead of myself. > >>Do you have web references about the algorithm, at wikipedia or other > website ? > Yes, I found algorithm descriptions at wikipedia and placed into code. > As I'm mostly using Polish sites for theoretical info about graphs ( > I've got some favourites where I can find quickly everything I need :) ) > it's not a good idea to put those references. So, wiki websites in > English are used. Thanks, and agreed that most of the audience will be lost on a Polish site. > Identation: > >>May I ask what editor you use ? > When I'm working on my notebook, I'm using Notepad++, so maybe that's > the cause. Well, I do not know Notepad++ so I can't say. > Otherwise, I use Vim. I seem to remember that VIM has a Tcl mode, or some such ... Googled vim + tcl, found http://www.vim.org/scripts/script.php?script_id=1603 That is syntax highlighting however, not indenting ... Aha, http://www.vim.org/scripts/script.php?script_id=178 says something about indenting. Note: While I found these files I have not used them in any way, shape or form. I.e. I have no idea about the quality of these. Maybe some other other readers of tcllib-devel and using vim will wish to jump in on this ? > About returning values: > - I changed it and now it's set to return error when there is found > any negative cycle. > - There is no risk now, that deleting node won't happen. > - Generally, graph isn't changed at all by procedure - it relates to > nodes as well as weights of edges. Ok. > About -cutdisplay option, and $param variable: > - yes, you're right - those names are bad.....I just hadn't good > idea how to name them Right, that can happen. And going forward is better than stalling, naming is something which is of a lower priority compared to most other problems. > - However, I came up with option -filter ( it is used by other > struct::graph procedures, for limiting the set of returned values e.g. > nodes - this name will assure some logical conformity ), and $param is > now $displaymode. Hm. No comments regarding this yet, will have a look at the code first. > >>I found only a quibble and a typo ... > >>'...UNCOHERENT...' in XOpsSetup ... > >>How about '...PARTIALLYCONNECTED...' instead. > >>Thats the quibble. > > I named it uncoherent, because coherence is in Polish term for > [strongly] connected graphs. In most cases translating this way works, > but this time it turned out that not always... :) Very true. A similar translation problem a german coder could have is 'aktualisieren'. Might be tempted to translate as 'actualize'. Wrong. Correct translation is 'update'. 'actualize' in german is 'verwirklichen'. Completely different meaning. > It is set now to PARTIALLYCONNECTED. > > Since tomorrow I will start implementing next algorithms and also some > updating of existing solutions to come closer to ending first's week phase. Ok, looking forward to them. Andreas. |