Hallo,
aus aktuellem Anlass möchte ich die Diskussion zu Veränderungen bestehender CHDK-Funktionen an dieser Stelle weiterführen.
viewtopic.php?f=13&t=3174&p=29829#p29829
viewtopic.php?f=7&t=3360&p=29850#p29849 ff
Prinzipiell versuchen die CHDK-Entwicker Dinge wie Umbenennung/Änderung bestehender Skriptfunktionen zu vermeiden. In der Release-Version (gegenwärtig CHDK 1.2) wird solche Änderungen nicht oder nur im Fall grober Fehler geben. Bei der Vorschau-Version (gegenwärtig CHDK 1.3) kann das schon eher vorkommen.
Die Vorschauversion ist die Entwicklerversion. Da werden neue Funktionen eingeführt. Diese können u.U. durch gewonnene Praxiserfahrungen geändert werden. Wir hatten den Fall, als die Version 1.2 Entwicklerversion war, dass die CHDK-Menübedienung mehrfach geändert wurde.
Ärgerlich sind solche Änderungen, wenn es um Skriptfunktionen geht. Hier kann eine ganze Kettenreaktion ausgelöst werden. Es lässt sich aber nicht immer vermeiden. Die CHDK-Entwickler handeln dabei auch nicht leichtfertig. Im Fall Umbenennung enable_highspeed_usb in enable_remote_hp_timer wurde nächtelang über das Für und Wider diskutiert. Schlussendlich kam ein etwas unglücklicher Name heraus, der den Endanwender nicht unbedingt etwas über den Sinn dieser Funktion sagt.
Ein anderes Problem ist die Veränderung von Rückgabewerten. Hier geht es um standardisierte Grundlagen. Diese sollten möglichst eingehalten werden.
Wenn eine Funktion je nach Zustand 0 oder 1 zurück gibt, ist das in vielen Programmiersprachen kein Problem, da dies auch gleichbedeutend mit den Booleschen Werten falsch(false) und wahr(true) ist. In Lua sieht es da etwas anders aus. Da ist auch 0 wahr. Deshalb ist eine Änderung von 0/1 in false/true eine richtige Entscheidung.
Der Skriptbefehl set_mf() hat da ein ähnliches Problem. Auch hier wird 0/1 zurückgegeben. Das sollte auch in false/true geändert werden.
Um die Qualität von CHDK zu verbessern, sollten aus meiner Sicht solche Änderungen in der Entwicklerversion in jedem Fall durchgeführt werden. Das ist für alle engagierten Skriptautoren sehr ärgerlich, aber aus meiner Sicht trotzdem notwendig.
Gruß msl