Woord vooraf: Ik heb geen gerelateerde posts op het forum gevonden, en een zoektocht op internet leid niet naar de juiste resultaten (of ik kan niet meer met Google omgaan,
).
Mijn probleem is als volgt. Ik ben op het moment bezig om het werken met een bepaald systeem eenvoudiger te maken. Bij dat systeem kun je bepaalde modules / componenten aanmaken, waarbij je een X-aantal velden (class variables, om verwarring te voorkomen) in een object in moet stellen (tot wel 10 stuks).
Het probleem hierbij is echter dat, als je een veld niet of niet goed invult, je pas een fout krijgt als je de module probeert te installeren.
In een (mijns insziens) optimale situatie zou je gelijk bij het compilen van je programma al fouten moeten zien, zodat ze ook in een IDE verschijnen.
De enige aanpak die ik op dit moment weet is om de verplichte velden aan te merken als Final en alleen te initialiseren in een constructor (de taal is Java overigens). Echter, voor die classes die wel 10 velden nodig hebben wordt dit nogal onoverzichtelijk.
Dus hier is mijn vraag: Zijn er nog andere methodes bekend om verplichte velden tijdens compile-time te controleren? Of zijn er trucs om te kijken of bepaalde methodes wel aangeroepen worden?
Ik ben ook wel bekend met het Builder-pattern, die niet zo lang geleden langskwam, om lange aanroepen op een constructor overzichtelijker te maken, maar die controleert niet tijdens compile-time of al die setter functies wel aangeroepen worden. Het liefst zou de controle tijdens compilen moeten verlopen, dwz, dat de code niet compileert wanneer een veld niet ingesteld is.
Het alternatief, wat ik overigens nu ook al heb, is gewoon goede foutmeldingen te laten zien, maar ook dan krijg je nog gewoon een lijst exceptions voor je kiezen.
Dus, heeft er iemand nog ideeën?
Edit: een andere aanpak zou het opdelen van de grote class z'n verplichte velden in kleinere classes die wel allemaal met final velden werken, en die dan doorgeven aan de grote class, ook als final eigenschappen.
Mijn probleem is als volgt. Ik ben op het moment bezig om het werken met een bepaald systeem eenvoudiger te maken. Bij dat systeem kun je bepaalde modules / componenten aanmaken, waarbij je een X-aantal velden (class variables, om verwarring te voorkomen) in een object in moet stellen (tot wel 10 stuks).
Het probleem hierbij is echter dat, als je een veld niet of niet goed invult, je pas een fout krijgt als je de module probeert te installeren.
In een (mijns insziens) optimale situatie zou je gelijk bij het compilen van je programma al fouten moeten zien, zodat ze ook in een IDE verschijnen.
De enige aanpak die ik op dit moment weet is om de verplichte velden aan te merken als Final en alleen te initialiseren in een constructor (de taal is Java overigens). Echter, voor die classes die wel 10 velden nodig hebben wordt dit nogal onoverzichtelijk.
Dus hier is mijn vraag: Zijn er nog andere methodes bekend om verplichte velden tijdens compile-time te controleren? Of zijn er trucs om te kijken of bepaalde methodes wel aangeroepen worden?
Ik ben ook wel bekend met het Builder-pattern, die niet zo lang geleden langskwam, om lange aanroepen op een constructor overzichtelijker te maken, maar die controleert niet tijdens compile-time of al die setter functies wel aangeroepen worden. Het liefst zou de controle tijdens compilen moeten verlopen, dwz, dat de code niet compileert wanneer een veld niet ingesteld is.
Het alternatief, wat ik overigens nu ook al heb, is gewoon goede foutmeldingen te laten zien, maar ook dan krijg je nog gewoon een lijst exceptions voor je kiezen.
Dus, heeft er iemand nog ideeën?
Edit: een andere aanpak zou het opdelen van de grote class z'n verplichte velden in kleinere classes die wel allemaal met final velden werken, en die dan doorgeven aan de grote class, ook als final eigenschappen.
[ Voor 5% gewijzigd door YopY op 23-02-2009 11:03 . Reden: Kleine toevoeging / ideetje. ]