Quale è più efficace nella codifica? Ridurre la riga di codice e l'esecuzione del codice? [chiuso]

1

Ho questo dubbio da molti anni. Stringo un po 'di codice per ottenere alcune funzionalità. Ad esempio, sto scrivendo 20 righe di codice per ottenere la funzionalità e il mio collega che scrive il codice per la stessa funzionalità con solo 5 righe. Dal momento che ha usato alcune istruzioni di loop per ottenere ciò, ma quel codice verrà eseguito circa da 30 a 50 volte.

Quindi qual è il modo migliore di codificare? Per quanto ne so, cerco sempre di ridurre la lunghezza del codice più che posso.

    
posta TinTin 07.11.2012 - 11:22
fonte

5 risposte

10

Questa risposta deve essere molto generale ma:

La prima priorità deve essere la chiarezza. Di solito il codice conciso è più chiaro di un codice a caratteri lunghi, ma spesso no. Quindi, preferisci cinque o sei linee di codice semplici e facili da capire su un unico, brillante ma oscuro, di difficile lettura.

La seconda priorità potrebbe essere la velocità di esecuzione, quindi potresti voler ridimensionare il tuo codice se (e solo se!) il tuo codice sta funzionando troppo lentamente per i requisiti specificati. (Il brillantante ma oscuro one-liner può essere molto più veloce, d'altra parte la codifica hard di venti righe con pedici da 0 a 19 può essere più veloce di un ciclo for (x = 1, x < 20; x ++).

L'altra regola empirica è che se non è possibile vedere l'intera funzione in una schermata (ad esempio 60 righe!), prendere in considerazione la possibilità di suddividerla. Essere in grado di vedere tutto il codice in un solo occhio aiuta davvero la comprensione.

    
risposta data 07.11.2012 - 11:52
fonte
1

Sono nuovo nella programmazione. Ho letto alcuni libri su modelli di progettazione, TDD / BDD, test unitari e così via.

Da quello che capisco più codice significa più potenziali bug. Inoltre, uno degli obiettivi principali di TDD / BDD è quello di scrivere abbastanza codice solo per fare passare il test. Sto praticando TDD / BDD tanto.

    
risposta data 07.11.2012 - 11:30
fonte
1

L'unica cosa che le linee di codice misurano è quante righe di codice hai.

Non ci sono regole rigide per il numero di cose che dovresti o non dovresti avere; usa semplicemente quello che ti serve per portare a termine il lavoro, assicurati che sia ragionevolmente sano e manutenibile e che abbia una probabilità abbastanza bassa di farti sussultare quando torni indietro entro 6 mesi, e andrai bene.

    
risposta data 07.11.2012 - 14:20
fonte
1

Il codice conciso e ridotto è

  • Cancella
  • Facile da comprendere
  • Facile debug
  • Facile da refactoring

Migliore esecuzione del codice

  • Esegue / svolge un ruolo importante per una migliore interazione dell'utente
  • Risparmio di tempo e risultati migliori.
  • In definitiva eseguiamo il codice per prestazioni più veloci.

Both of them, concise code and better execution are not comparable term. Better to have both. If you turn it a comparable term, then first priority is better performance.

Esercitazioni correlate

Libri correlati

risposta data 07.11.2012 - 14:36
fonte
0

le linee di codice sono una misura approssimativa del codice. Certamente il lungo codice convoluto può spesso essere migliorato accorciandolo, ma allo stesso tempo un breve codice offuscato può spesso essere migliorato allungandolo.

La cosa fondamentale da capire è che la lunghezza del codice è in realtà un sintomo in questo processo, le preoccupazioni principali sono la simmetria (abbastanza oggettiva) e la leggibilità (abbastanza soggettiva) e infine la performance (obiettivo)

simmetria

Ogni volta che migliori il codice accorciando ciò che stai facendo in realtà stai sfruttando una certa simmetria nel codice. OSSIA due o più bit di codice stanno facendo qualcosa che è lo stesso in qualche modo, possono essere completamente diversi in altri modi, ma se riesci a separare il codice che è lo stesso puoi rimuovere la duplicazione.

leggibilità

Questo è intrinsecamente soggettivo, ma in genere le persone concordano sul fatto che i nomi descrittivi più lunghi sono migliori di quelli più brevi. Un codice meno specifico e più generale può usare nomi più brevi più generici in quanto è meno descrittivo, ma ogni volta che si ha un significato specifico, la denominazione specifica aiuta.

prestazioni

dopo aver esaminato la chiarezza del tuo codice la prossima domanda è: è abbastanza veloce? In fase di progettazione è possibile osservare la complessità delle strutture e dell'amplificazione; algoritmi e, si spera, dimostrare che sei almeno nel parco giusto. Per rispondere pienamente alla domanda, è necessario misurare l'implementazione. Solo se le prestazioni misurate non sono abbastanza buone, vale la pena tornare indietro per ottimizzare i colli di bottiglia.

    
risposta data 07.11.2012 - 12:47
fonte

Leggi altre domande sui tag