Esistono standard di codifica per stabilire se i programmi procedurali debbano avere il codice sorgente elencato dall'alto verso il basso o dal basso verso l'alto? [chiuso]

1

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.

    
posta Andrew Ferrier 10.05.2016 - 13:33
fonte

2 risposte

2

Non molta codifica in Python e il suo lungo tempo da quando ho codificato in C.

Per i programmi C, preferivo il top-down, perché è così che disegno i miei programmi. Se a chiama b , b è elencato dopo a . Avevo anche un'intestazione per ogni file .c che elenca tutte le funzioni in esso contenute e incluse nel file .c.

Ora seguo lo stesso modello nei metodi della classe Java.

    
risposta data 10.05.2016 - 14:12
fonte
-2

Il punto di scrivere un metodo è di fare una cosa in un modo ovviamente corretto. Questo principio viene solitamente applicato per spiegare perché i metodi troppo lunghi sono cattivi; un metodo dovrebbe adattarsi al tuo monitor in un unico pezzo.

Ma taglia anche l'altro modo: un metodo non dovrebbe essere così piccolo che diversi si adattino al tuo monitor allo stesso tempo! Ciò significa che è abbastanza irrilevante in quale ordine appaiono nella sorgente . Finché la tua lingua non richiede una dichiarazione prima dell'uso e hai un ambiente decente che ti consente di passare dall'uso alla definizione con una singola pressione di un tasto, non c'è motivo di preoccuparsi in un modo o nell'altro. Vorrei andare oltre e dire: se ti interessa in quale modo i tuoi metodi sono ordinati, allora stanno facendo troppo poco .

    
risposta data 10.05.2016 - 13:45
fonte

Leggi altre domande sui tag