Checklist nieuw project, hulpmiddelen

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, ..

commandolijn

  • ook te gebruiken als shell script. Let op met locatie van bestanden/de applicatie zelf.

commandolijn, lib, grafisch, databank

lib

  • 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

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, ..)

commandolijn, lib, grafisch, databank