Hoofdstuk 12 · oefening
Een project dat iemand anders kan uitvoeren
Bepaal wat meegaat
Een uitvoerbaar project is geen momentopname van één computer. Deel de keuzes die iemand anders nodig heeft om het opnieuw op te bouwen: broncode, documentatie, dependencyrecepten en tests. Deel niet de afgeleide omgeving, caches, geheimen, logbestanden of antwoord-JSON die het commando toevallig produceerde.
Maak README.md en begin met de projecttitel, API Catalog, plus een onderdeel Project files. Noem de uiteindelijke structuur van geschreven bestanden:
API_CONTRACT.md
README.md
api_catalog.py
requirements-dev.txt
requirements.txt
tests/test_api_catalog.py
Op dit moment hoeven alleen de broncode uit hoofdstuk 11, de API-notitie, het recept voor uitvoeringsdependencies en de nieuwe README te bestaan. Voeg geen .gitignore toe: Python Land-werkruimten wijzen paden die met een punt beginnen bewust af. De controle van schone broncode kijkt of afgeleide, private en uitvoerbestanden afwezig zijn, in plaats van een negeerregel te beoordelen.
De gedownloade ZIP voegt later een gegenereerde PYTHONLAND_README.md toe. Die handleiding is niet je project-README en hoort niet bij de opgeslagen werkruimtestructuur. Beoordeling van de broncode kan niet bewijzen dat een ingelogde gebruiker op downloaden heeft geklikt.
Welk bestand hoort bij de overdracht?
Twijfel je of een bestand bij de overdracht hoort? Vraag Monty: “Heb ik dit zelf geschreven of hebben mijn hulpmiddelen dit gemaakt?” Bijna elk geval in dit hoofdstuk volgt uit die ene vraag.
Opdracht
Maak README.md met de titel API Catalog en een onderdeel Project files dat precies de zes geschreven bestanden noemt. Laat gegenereerde JSON, omgevingen, caches, geheimen, archieven, logbestanden, databases, coverage-/builduitvoer en .gitignore weg.