Files
Tirsvad b69a604341 MIL-003 Documentation and publication: README, screenshots and wiki in en, da and ms
Task: MIL-003#1
Task: MIL-003#2
Task: MIL-003#3
Task: MIL-003#4
Task: MIL-003#5
Task: MIL-003#6
2026-10-14 19:38:55 +08:00

48 lines
1.6 KiB
Markdown

# Udvikling
🌐 [English](Development) · **Dansk** · [Bahasa Melayu](Development-ms)
Sæt projektet op først ([Installation](Install-da)). Udvidelsen `dev` installerer pytest, ruff, mypy og import-linter.
## Kør testene
```bash
python -m pytest
```
## Kør de kontroller, CI kører
```bash
python -m ruff check .
python -m mypy
lint-imports
```
## Byg kildedokumentationen
```bash
doxygen Doxyfile
```
Åbn `build/html/index.html`. Installér Doxygen fra [doxygen.nl](https://www.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.