Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Technikipisaniaprogramów,któreobsługujązarównowersjęPython2.7,
jaki3.x,sąomówionewrozdziale13.
Nazakończeniechcielibyśmyzaznaczyć,żeksiążkatazostałanapisana
zmyśląowersjiPython3.
Układprojektu
Rozpoczynanienowegoprojektuzawszewiążesięzodrobinąniepewności.
Niewiemyjeszcze,jakąstrukturębędziemiałnaszprojekt,dlategomożemy
miećwątpliwości,jakzorganizowaćjegopliki.Jednakwłaściwezrozumienie
najlepszychpraktykpomagawplanowaniupoczątkowejstruktury.Otokilka
wskazówek,jaknależyijaknienależyplanowaćukładuprojektu.
Corobić
Przedewszystkimprzemyślstrukturęprojektu,którapowinnabyćdość
prosta.Zrozwagąużywajpakietówihierarchii:nawigowaniepowielopo-
ziomowejhierarchiimożebyćkoszmarem,apłaskahierarchiamatendencje
donadmiernegorozrastaniasię.
Unikajczęstopopełnianegobłędupolegającegonaprzechowywaniu
testówjednostkowychpozakatalogiempakietu.Tetestyzdecydowanie
powinnyzostaćumieszczonewpodpakiecieoprogramowania,abynie
zostałyprzypadkiemautomatyczniezainstalowanejakogłównymodułtests
przez
setuptools
(lubinnąbibliotekędozarządzaniapakietami).Dzięki
umieszczeniuwpodpakieciemogąonebyćinstalowaneiwprzyszłościwyko-
rzystywaneprzezinnepakiety,umożliwiającużytkownikomprojektowanie
własnychtestówjednostkowych.
Rysunek1.2ilustruje,jakpowinnawyglądaćstandardowahierarchia
plików.
StandardowanazwaskryptuinstalacyjnegoPythonatosetup.py.Towarzy-
szymupliksetup.cfg,którypowinienzawieraćszczegółykonguracjiskryptu
instalacyjnego.Pouruchomieniupliksetup.pyzainstalujenaszpakietprzy
użyciunarzędzidodystrybucjiPythona.
Możemyrównieżprzekazaćużytkownikomnajważniejszeinformacje,
umieszczającjewplikuonazwieREADME.rst(lubREADME.txtalbodowol-
nejinnejnazwie).Ponadtokatalogdocspowinienzawieraćdokumentację
pakietuwformaciereStructuredText,któryzostaniewykorzystanyprzez
narzędzieSphinx(patrzrozdział3).
Pakietybędączęstomusiałyzawieraćdodatkowedanedowykorzystania
woprogramowaniu,takiejakobrazy,skryptypowłokiitp.Niestetyniema
powszechnieuznanegostandardu,któryokreślałbymiejsceprzechowywania
tychplików,dlategoumieszczamyjewtymmiejscu,któremanajwiększy
senszperspektywyichfunkcjiwprojekcie.Naprzykładszablonyaplikacji
WWWmożnaumieszczaćwkatalogutemplates,wkatalogugłównympakietu.
Rozpoczynanieprojektu
3