ballerupgis / qlr-datasource-rename

Ændre datasource i qlr filer til ny host
0 stars 2 forks source link

refactoring: wrap i funktion #7

Closed JosefAssad closed 8 years ago

JosefAssad commented 8 years ago

Jeg vil gerne refactore koden lidt så vi bruger den klassiske __main__ form. eksempel:

Før:

print("hello world")

Efter:

def foo():
    print("hello world")

if __name__ == "__main__":
    foo()
baffioso commented 8 years ago

@JosefAssad kan du beskrive med et par ord hvad denne ændring gør?

JosefAssad commented 8 years ago

Yep!

Det der udtryk if __name__ == "__main__": checker om scriptet køres direkte; det gør vi nu, vi kalder python3 qlr-datasource-rename.py. Men det er også muligt at bruge koden på en anden måde, for eksempel hvis vi skriver noget andet kode blabla.py og skal bruge funktionen foo(). I så fald kan vi importere qlr-datasource-rename som modul i blabla.py og for eksempel kalde funktionen qlr-datasource-rename.foo i blabla.py. Så kører vi python3 blabla.py og så bruger den foo() uden at selve scriptet qlr-datasource-rename.py kører direkte.

Den form med andre ord tillader at vi bruger vores kode enten som direkte eksekverbar script eller som importerbar modul i anden sammenhæng.

Makes sense?

baffioso commented 8 years ago

Ja det gør det. God måde at bryde sin kode op (minder om det jeg er ved at lære i JS)