12 questions to validate level 3 with Yacine, a WinDev developer at an SME trading electrical equipment in Oran: procedures and collections, advanced types, OOP, error handling and reuse.
Answer everything, then click Check: your score and explanations will appear.
3 · Recall
1. Which procedure is accessible from all the windows of the project?
The global procedure is declared at project level: it is visible from all screens, unlike the local procedure.
3 · Application
2. Yacine uses the same loyalty discount in three screens. Where should he put it?
A rule used in three screens becomes a global procedure filed in a collection: a single correction suffices.
3 · Arbitration
3. A procedure modifies the original variable without Yacine seeing it. Which lead?
Passing by reference transmits the variable itself: the procedure modifies the original. Passing by value would have worked on a copy.
3 · Recall
4. Which type lets you retrieve a customer directly by their code?
The associative array files the value under a key: access by customer code is direct, without traversing the collection.
3 · Application
5. Yacine imports a CSV of 20,000 items. What is the reflex before converting?
An import contains text and variable formats: you must check the values, the decimal separator and the date format before converting.
3 · Arbitration
6. For a simple street, postal code and city block, what should you choose?
A structure groups related data without behaviour: it is the simplest choice for an address. A class is justified if there are rules.
3 · Recall
7. Which principle prevents modifying a customer's balance directly?
Encapsulation protects sensitive members: the balance changes only through a controlled method such as EnregistreFacture.
3 · Application
8. Which element initialises an object at the moment of its creation?
The constructor is called automatically at the creation of the object to initialise its members.
3 · Arbitration
9. Should Yacine's whole application be converted to OOP?
OOP is useful for rich rules and variants, but a management application develops very well in structured procedural style.
3 · Recall
10. What does QUAND EXCEPTION around an HFSQL write allow?
QUAND EXCEPTION intercepts a runtime error: you can log the detail and display a clear message, instead of letting the application crash.
3 · Application
11. An intermittent bug appears at a customer's site. What is the first step?
An irreproducible bug cannot be fixed with certainty: start by identifying the exact conditions and reproducing the case.
3 · Arbitration
12. The user management module will serve three applications of the group. What should you do?
A coherent module shared between several projects becomes a component: centralised correction, stable interface and controlled versions.
What's next?
Score ≥ 80%: move on to Level 4 — security, advanced UX, deployment and quality with Yacine.
Score between 50% and 80%: review the section(s) you failed (3.1 procedures and collections, 3.2 advanced types, 3.3 OOP, 3.4 errors and debugging, 3.5 reuse), reread the course, then retake the test.
Score < 50%: reread the whole of level 3 while applying each 48h challenge (factorisation, CSV import, class Client, QUAND EXCEPTION, window template) before trying again.
And afterwards? Keep Yacine's reflexes — factor, choose the right type, encapsulate, reproduce bugs and reuse without breaking: level 4 connects them to security, UX and deployment.