Faccio programmi per diversi anni.
E ora so dai miei colleghi i miei pro e contro:
Pro: Posso risolvere un problema molto complesso
contro: faccio soluzioni complicate per compiti semplici.
Ora sto cercando di risolvere i miei contro e alla ricerca di principi e linee guida generali per questa domanda:
Quando dovrei creare un ulteriore pezzo di codice (una funzione, una classe, un modulo, qualunque cosa). E quando non dovrei.
Ho visto una risposta da un ragazzo Python: ogni volta che puoi, non creare, renderlo il più semplice possibile.
Questo è un ottimo consiglio, ma avere una grande funzione non è una buona idea.
Il problema per me è che ho un principio quando creare una funzione separata di sicuro, ma non ho uno contrario (quando non lo creo). Il principio è:
Crea una funzione quando dovrai copiare e incollare del codice e, di conseguenza, avrai il codice duplicato.
(Perché: il codice duplicato è sbagliato, perché ti dimentichi di correggere alcune copie quando correggi un bug in esso, dovrai creare più volte il numero di test che copi e le volte è più lettere da leggere per la tua squadra e te stesso più tardi, ecc ...) Questo può sembrare un esempio del tipo di risposte che sto cercando.
Quindi, come decidi quando creare una funzione separata o semplicemente estenderne una esistente?
Ringrazia tutti coloro che hanno già risposto a questa domanda, ma per favore aggiungi almeno alcuni principi quando dovresti non dividere la funzione (quando dovresti mantenerla nel suo complesso).
Perché per ora la maggior parte (tutte?) le risposte qui riguardano solo quando dovresti dividere. Il mio problema è che faccio troppe funzioni, mi divido troppo spesso, come mi dicono i programmatori, ed è per questo che la mia domanda differisce da questa Dovrei estrarre funzionalità specifiche in una funzione e perché? .