update van gambas.copyleft.be/blog/checklist-project van 2014/2017
Start een nieuw project: commandolijn, lib, grafisch, databank, …
Algemeen: gebruik settings, foutbeheer, log, versienummer, ..
- ook te gebruiken als shell script. Let op met locatie van bestanden/de applicatie zelf.
commandolijn, lib, grafisch, databank
- hergebruik in diverse projecten. Opgelet voor versie-verschillen…
- locatie: gecompileerde library komt bv terecht in /home/username/.local/share/gambas3/lib/
commandolijn, lib, grafisch, databank
- Begin met emptydb project sjabloon
- Gebruik settings om databankgegevens op te slaan; gebruik een “switch” om tussen test en productiedatabank te wisselen (DataContext).
- Gebruik een applicatie-log (errorlog) bv myLog
- Veldnamen conventies
- meta-informatie; bv in databank met aparte tabel (zie dbinfocode)
- db struktuur opnemen in project (dump zonder data); opvolging van wijzigingen aan databank struktuur: schrijf telkens een stukje code alvorens/om die wijziging uit te voeren zodat je die kan meenemen.
- persistence, schermcode genereren, …?
commandolijn, lib, grafisch, databank
Desktop (grafische gebruikers-bediening):
- Begin met empty project sjabloon.
- ! desktop-eigen bibliotheken (kde-qt/gtk)
- worden soms niet meer ondersteund in een volgende versie; bv qt upgrades enz.
- maken het moeilijker over te zetten naar een andere desktop/distributie..
- Log: Gebruik een applicatie-log (errorlog) bv myLog
- Gebruik settings om gebruikersinstellingen op te slaan, bv met GbSettingsTool kan je die vullen/lezen
- Gebruiksteller of RunCounter: bewaren in settings
- Venster-titel: Geef nuttige/relevante venstertitels, zodat je ziet welke vensters bij deze applicatie horen; met applicatienaam-vensternaam(functie)-versie.nr, … Bv door procedure in mmain of MForm die je voor elk venster aanroept, met een bDeveloper switch kan je als developer de form naam krijgen, gebruiker krijgt functietitel
- Venster-icoon: zetten in de form
Me.Icon
of neem dat eventueel mee op in de procedure van de venstertitel. Je kan het icoon laten evolueren (kleur, scherpte, vorm) om de graad van de hiërarchie van het venster te tonen; bv hoofdvenster, 1e sub, sub-van-1e-sub… Iconen in mapje met namen voor level; iconL0.png ,iconL1.png, iconL2.png, … - Menu Help/About met Help, About, License, Changes, WhatsNew,
- Menu File met Quit die afsluitprocedure oproept. Eventueel per vergissen sluiten met venster [x] opvangen.
- Feedback naar gebruiker: eventueel te sluiten, of met bDeveloper switch te aktiveren
- Versienummer: je moet kiezen om die door Gambas te laten tellen of uit een “VERSION” bestand in te lezen. Je kan dat versienummer ook bij verhogen van de gebruiksteller opslaan als laatstgebruikte versie in het settingsbestand.
- Weergaveconventies: stel op en gebruik, integreer in een voorbeeldscherm. Kleur/vorm voor vaste tekst, ingaveveld, ingavevoorbeeld, reaktie, foutmelding, enz.
- Dubbelstartcontrole (als dat belangrijk is voor je app – bv omdat die naar een bestand schrijft, ..)