Diciamo che ho un programma procedurale di base che è ben strutturato in funzioni decomposte. Ad esempio, una funzione main()
che chiama funzioni a
e b
, che a sua volta ogni chiamata funziona c
e d
e e
e f
. In pseudo-Python, questo potrebbe essere scritto bottom-up come questo:
def c():
# Do stuff
def d():
# Do stuff
def e():
# Do stuff
def f():
# Do stuff
def a():
c()
d()
def b():
e()
f()
if __name__ == "__main__":
a()
b()
Tuttavia, potrebbe anche essere scritto dall'alto in basso come questo:
if __name__ == "__main__":
a()
b()
def a():
c()
d()
def b():
e()
f()
def c():
# Do stuff
def d():
# Do stuff
def e():
# Do stuff
def f():
# Do stuff
In generale, in molte lingue, entrambi sarebbero validi, ma esiste uno stile di codifica preferito? Sto principalmente pensando alla leggibilità / manutenibilità qui, non all'efficienza della compilazione o dell'esecuzione. Varia tra le lingue? Sto pensando prima a Python qui, ma ci sono molte altre lingue a cui questa domanda potrebbe essere applicata qui, quindi sono felice di renderla più ampia.
Nota : sono non a pensare al design del programma qui ( se pensare prima dall'alto o dal basso verso l'alto ), sto specificamente parlando dell'ordine del codice sorgente.