Preskoči na glavno vsebino

Računalniške delavnice: Python v divjini (oblikovanje, testiranje in dokumentiranje)

Datum objave: 23. 11. 2015
Obvestilo vsem študentom FMF
Petek, 4. december, od 16h do 20h, učilnica 3.10 (Jadranska 21)

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)