Računalniške delavnice: Python v divjini (oblikovanje, testiranje in dokumentiranje)
Delavnica Python v divjini bo v petek, 4. decembra 2015, od 16h do 20h v učilnici 3.10 (Jadranska 21). Delavnico bo izvedel Jure Slak, magistrski študent matematike na FMF. Jure je svoje programerske izkušnje pridobival tudi na Googleplexu in na Odseku za komunikacijske sisteme na IJS.
Opis delavnice: Skozi potek delavnice bomo postavili majhen projekt v Pythonu, pri čemer se bomo delali, kot da je zelo velik. Naučili se bomo razmišljati o problemih, ki pridejo z velikostjo, in uporabljati orodja, ki so namenjena velikim in resnim projektom.
Delavnica bo razdeljena na 3 dele:
Testiranje
V programih se pogosto pojavljajo hrošči – nezaželene napake, ki lahko povzročijo
čudno obnašanje programa, kar ima lahko neprijetne ali celo škodljive posledice.
Pogledali si bomo nekaj zgodovinskih primerov, da utrdimo prepričanje, da so hrošči po navadi slaba
reč. Glavni način za boj proti temu je testiranje kode. Naučili se bomo, zakaj je potrebno pisati
teste, kaj z njimi pridobimo in kako napisati dober test. Uporabljali bomo Pythonova vgrajena modula
unittest in doctest. Dotaknili se bomo tudi zadnje čase zelo popularne ideje
TDD.
Dokumentacija
Če želimo, da naš projekt uporablja še kdo ali da našo kodo razume še kdo, mora biti napisana
razumljivo in dobro dokumentirana. Naučili se bomo dokumentirati kodo in si ogledali sistem
sphinx za generiranje dokumentacije, ki ga uporablja Python sam.
Oblikovanje, stil kode in recenziranje
Skozi celotno delavnico se bomo pogovarjali o tem, kaj pomeni dober dizajn kode in kaj vse lahko z
njim preprečimo. Pri velikih projektih pa je pomemben tudi stil kode, dogovori o poimenovanju
objektov in berljivost kode. Ogledali si bomo, zakaj je to pomembno in kaj lahko s tem preprečimo.
Uporabili bomo orodje pylint.
Če bo ostal čas, bomo cel projekt lepo zavili v paket skupaj s standardno setup.py skripto in ga postavili na repozitorij, tako da bo pripravljen za uporabo.
Priporočeno predznanje: osnovno znanje jezika Python in orodja git
Prijave: https://docs.google.com/forms/d/12WwlwtkYiCQdnMQMIH7eqCMXBpk3lVYHWHHdMC7hdHI/viewform
Gradiva za delavnico bodo objavljena na spletni učilnici pri "predmetu" Računalniške delavnice: http://ucilnica.fmf.uni-lj.si/course/view.php?id=290
Se vidimo!
Nino Bašić (organizator delavnic)