Je eigen programmeer routine?

Moderator: Moderators

Plaats reactie
Gebruikersavatar
Sven
Berichten: 5998
Lid geworden op: 24 sep 2008 09:13
Locatie: Arnhem
Contacteer:

Je eigen programmeer routine?

Bericht door Sven »

Een tijdje terug was ik bezig met een programma waarin ik iets van 20 subprogramma's (die ook stand alone werkten) had samengevoegd.

Na de eerste proeffrezing moest een en ander aangepast worden.

Op een van de dagen dat ik daar aan werkte bleek ik wijzigingen aan te brengen aan een andere versie van een bestand dan waar ik de dag ervoor andere dingen had gewijzigd. Een foutje dat me waarschijnlijk 5 minuten extra werk had gekost om het te voorkomen koste me nu dagen extra puzzelwerk om terug te vinden wat ik al had gedaan en wat niet.

Dat had ik beter kunnen doen door per dag een naam-variant te bewerken zodat duidelijk is welk bestand van de dag ervoor is en welkbestand van vandaag.
(Voor de volledigheid: als je in linuxcnc een bestand wilt openen dan zie je enkel de bstandsnaam, niet de datum van aanmaak)

Voor echte software ontwikkelaars is er dan geloof ik git maar daar snap ik nog veel te weinig van.

Lang verhaal kort: Hoe zorg jij dat je bij programmeren geen versies door elkaar rommelt?
350 kilo 1250x1250 aluminium portaalfrees:
http://cnczone.nl/viewtopic.php?f=8&t=13039
Beginnen met CNC? Ontwerpen, bouwen, of toch kopen?
http://cnczone.nl/viewtopic.php?f=8&t=15481
JoepS
Berichten: 156
Lid geworden op: 14 mei 2011 09:02
Locatie: Eindhoven/Zuid-Limburg

Re: Je eigen programmeer routine?

Bericht door JoepS »

Datum en versienummer in bestandsnaam, maar zelfs dan is het oppassen met dingen als een fork en/of merge. Daarom heb ik een OneNote-bestand waar ik de wijzigingen in beschrijf, anders weet je het overmorgen niet meer.

Edit: En natuurlijk beschrijvende comments in de code.
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Je eigen programmeer routine?

Bericht door Arie Kabaalstra »

Datum van wijziging in de bestandsnaam zetten.. nieuwe versie? "Opslaan als", een bestandje ernaast, waarin je de wijzingingen bijhoudt, en waarin je de structuur vastlegt.
hfjbuis
Donateur
Berichten: 3075
Lid geworden op: 13 feb 2017 00:26
Locatie: Hoensbroek

Re: Je eigen programmeer routine?

Bericht door hfjbuis »

Ik gebruik "Microsoft source safe" een (heel oud) programma voor versie beheer. Elke versie en test versie kan ik bewaren en bij problemen terug gaan naar een eerdere versie of de verschillen bekijken.
Voor open source programma's gebruik ik Git die "hetzelfde" doet. Het kost zeker een paar uurtjes om je dat eigen te maken maar die tijd verdien je heel snel terug. Echt doen.....
nieles
Berichten: 83
Lid geworden op: 15 mei 2009 13:43
Locatie: Zwolle

Re: Je eigen programmeer routine?

Bericht door nieles »

bestanden waarvan ik de geschiedenis graag wil bewaren zet ik op dropbox of sharepoint. die bewaren een kopie elke keer als je op save drukt. je kan dan vervolgens een 'roll-back' doen naar een oudere versie.
Kjelt
Donateur
Berichten: 6308
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

Re: Je eigen programmeer routine?

Bericht door Kjelt »

Sven
Wat relatief makkelijk is tov Git is SVN en dan de windows GUI variant.
Die heet Tortoise SVN en is gratis.
Je installeert het onder windows maakt een repository (je database) aan op een NAS of ander apparaat waarvan de data regelmatig wordt gebackupped.
Dan check je de repository uit op je windows werk computer op de schijf waar je data staat en voeg je aan die directory je folders en bestanden toe.
Dan kun je met gui commandos zoals rechtermuisknop -> svn alle commandos aan waarbij je er maar enkele hoeft te weten: Add daarmee voeg je nieuwe bestanden toe aan je repository, bestanden die bv tijdens compileren worden gemaakt en die je niet perse hoeft te bewaren vink je uit zodat deze niet worden opgeslagen. Nadat je bestanden zijn gewijzigd kun je met commit het gewijzigde bestanden permanent in je repository opslaan.
Het mooie van dit systeem is:
- je ziet via windows explorer meteen welke bestanden gewijzigd zijn: de file heeft ipv een groen vinkje een rood symbooltje
- volledige ondersteuning in windows gui dus
- oer commit kun je commentaar toe voegen, bv als je een verandering hebt gedaan om iets te fixen over meerdere bestanden kun je dus zien welke bestanden er bij die fix zijn veranderd
- je kunt makkelijk terug (revert) naar een oudere versie
- file compare ondersteuning, je kiest bv twee commits in het verleden en je kunt zien wat er gewijzigd us.
- door bepaalde steekwoorden zoals $DATE en $Version op te nemen in het commentaar bovenaan je file worden deze auto agisch door SVN vervangen door de commit datum tijd en versienummer in je repository zodat je meteen weet wanneer de file gewijzigd is geweest etc etc.
Het loont de moeite om als je serieus gaat programmeren en verschillende projecten voor klanten doet om hier eens wat tijd in te steken.

Je kunt overigens alle filetypes opslaan zoals excel of gcode etc alleen wil je dan wel rekening houden dat fit binaire files zijn en niet alle filecompare tools de verschillen correct laten zie . Ik gebruik het bv bij gcode veel om even te kijken wat er de laatste paar versies veranderd is.

Een hele goede fikecompare tool die eenmalig iets van $25 ofzo kost is Beyond Compare van Scooter soft, ik gebruik deze al 20 jaar, een keer gekocht in 2001 ofzo en blijft werken met niruwste updates.
Kjelt
Donateur
Berichten: 6308
Lid geworden op: 14 jun 2007 21:51
Locatie: Eindhoven

Re: Je eigen programmeer routine?

Bericht door Kjelt »

Deze is er trouwens ook voor linux, dan heet ie Rabbit VCS geloof ik maar daar heb ik verder zelf niet mee gewerkt.
Gebruikersavatar
DaBit
Donateur
Berichten: 11032
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Je eigen programmeer routine?

Bericht door DaBit »

Sven schreef: 04 dec 2020 12:00 Lang verhaal kort: Hoe zorg jij dat je bij programmeren geen versies door elkaar rommelt?
Ik gebruik Subversion, SVN dus. Alleen al het commentaar bij elke 'commit' en de mogelijkheid om versies te taggen zijn goud waard.
Nadeel daarvan is dat je ergens een SVN server moet inrichten waar je van alle locaties bij moet kunnen. Bij mij draait die thuis en kan ik 'm via een VPN overal benaderen waar ik internettoegang heb. Maar het is als niet-ITer natuurlijk relatief lastig omdat allemaal te doen.

Git heeft wat dat betreft voor jou wel voordelen; zo'n Git repository kun je ook best op een Dropbox of USB stick plaatsen, er is een TortoiseGIT voor Windows, en onder Linux is er vast ook een vergelijkbaar grafisch tooltje te vinden.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12045
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Je eigen programmeer routine?

Bericht door hugo stoutjesdijk »

Als het over CNC programma's hebt, zou ik gewoon een commentaar tekst in de bovenste regel zetten met datum/tijd en eventueel wat er is aangepast. Dan zie je het ook gewoon als je door je freesprogramma loopt.
Moet je natuurlijk wel de discipline hebben om steeds save-as te doen.
En een andere naam zal je toch wel moeten geven lijkt me, want je wilt die specifieke subs ook juist aanroepen.

Verder ben ik een hele slechte raadgever in deze, want op dit vlak is het bij mij meestal een redelijke puinhoop, maar blijkbaar heb ik daar zelden last van, anders had ik er misschien wat aan gedaan. :lol:
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Sven
Berichten: 5998
Lid geworden op: 24 sep 2008 09:13
Locatie: Arnhem
Contacteer:

Re: Je eigen programmeer routine?

Bericht door Sven »

Dank voor alle reacties mannen.

Ik ga er mijn best op doen de tips zoveel mogelijk eigen te maken.

En even zoeken in de linux software gaf niet SVN maar wel "kompare", wat twee bestanden laat vergelijken en mergen.
Dat had niet het ontstaan van het probleem voorkomen maar wel kunnen helpen oplossen... ;)

Edit: kdesvn gevonden en geinstalleerd.
350 kilo 1250x1250 aluminium portaalfrees:
http://cnczone.nl/viewtopic.php?f=8&t=13039
Beginnen met CNC? Ontwerpen, bouwen, of toch kopen?
http://cnczone.nl/viewtopic.php?f=8&t=15481
Gebruikersavatar
hilberth
Berichten: 264
Lid geworden op: 08 sep 2010 09:40
Locatie: Omgeving Amsterdam
Contacteer:

Re: Je eigen programmeer routine?

Bericht door hilberth »

Hoe krijg je het voormekaar...
Sven schreef: 04 dec 2020 15:02 Edit: kdesven gevonden en geinstalleerd.
Think it, draw it, make it.
Gebruikersavatar
Sven
Berichten: 5998
Lid geworden op: 24 sep 2008 09:13
Locatie: Arnhem
Contacteer:

Re: Je eigen programmeer routine?

Bericht door Sven »

Een van die talenten die ik van mijn ouders kreeg en waar geen droge boterham mee te verdienen valt ;)
350 kilo 1250x1250 aluminium portaalfrees:
http://cnczone.nl/viewtopic.php?f=8&t=13039
Beginnen met CNC? Ontwerpen, bouwen, of toch kopen?
http://cnczone.nl/viewtopic.php?f=8&t=15481
Plaats reactie