Task: MIL-003#1 Task: MIL-003#2 Task: MIL-003#3 Task: MIL-003#4 Task: MIL-003#5 Task: MIL-003#6
1.6 KiB
Udvikling
🌐 English · Dansk · Bahasa Melayu
Sæt projektet op først (Installation). Udvidelsen dev installerer pytest, ruff, mypy og import-linter.
Kør testene
python -m pytest
Kør de kontroller, CI kører
python -m ruff check .
python -m mypy
lint-imports
Byg kildedokumentationen
doxygen Doxyfile
Åbn build/html/index.html. Installér Doxygen fra doxygen.nl eller din pakkehåndtering.
Sådan virker exception handling
spell_word (i domain/spelling.py) slår hvert bogstav op i ordbogen i en try-blok. Et tegn, der ikke findes i alfabetet, giver en KeyError, som except-blokken gør til en InvalidWordError. generate_phonetic (i application/phonetic.py) fanger fejlen, beder brugeren skrive kun bogstaver og spørger igen, indtil ordet er gyldigt.
Kodens opbygning
| Mappe | Indhold |
|---|---|
src/nato_phonetic_alphabet/domain/ |
Staveregelen, uden input og output |
src/nato_phonetic_alphabet/application/ |
Use casen og dens porte |
src/nato_phonetic_alphabet/adapters/ |
CSV-læseren og konsollen |
src/nato_phonetic_alphabet/constants.py |
Alle programmets konstanter |
tests/ |
pytest-tests, som spejler src/ |
Afhængigheder peger indad: adapters kender applikationen, applikationen kender domænet. import-linter håndhæver det.
Pull requests
Én gren og én pull request pr. milepæl; CI skal være grøn. Projektet følger SQA- og QC-frameworket i framework/; se docs/ for planen og review-optegnelserne.