Metodologie di programmazione - Debug

Viene chiamata l'identificazione e la rimozione degli errori da un programma o software debugging. Il debug è idealmente parte del processo di test, ma in realtà viene eseguito in ogni fase della programmazione. I programmatori dovrebbero eseguire il debug del più piccolo dei loro moduli prima di andare avanti. Ciò riduce il numero di errori generati durante la fase di test e riduce significativamente il tempo e lo sforzo di test. Esaminiamo i tipi di errori che possono verificarsi in un programma.

Errori di sintassi

Syntax errorssono gli errori grammaticali in un programma. Ogni lingua ha il proprio insieme di regole, come la creazione di identificatori, la scrittura di espressioni, ecc. Per la scrittura di programmi. Quando queste regole vengono violate, vengono chiamati gli errorisyntax errors. Molti moderniintegrated development environmentspuò identificare gli errori di sintassi durante la digitazione del programma. Altrimenti, verrà mostrato quando si compila il programma. Facciamo un esempio:

In questo programma, la variabile prod non è stata dichiarata, che viene lanciata dal compilatore.

Errori semantici

Semantic errors sono anche chiamati logical errors. L'istruzione non ha errori di sintassi, quindi verrà compilata ed eseguita correttamente. Tuttavia, non darà l'output desiderato poiché la logica non è corretta. Facciamo un esempio.

Guarda la riga 13. Qui il programmatore vuole controllare se il divisore è 0, per evitare la divisione per 0. Tuttavia, invece di usare l'operatore di confronto ==, è stato usato l'operatore di assegnazione =. Ora ogni volta che l '"espressione if" restituirà true e il programma restituirà un output come "Non è possibile dividere per 0". Sicuramente non quello che era previsto !!

Gli errori logici non possono essere rilevati da alcun programma; devono essere identificati dal programmatore stesso quando non si ottiene l'output desiderato.

Errori di runtime

Gli errori di runtime sono errori che si verificano durante l'esecuzione del programma. Ciò implica che il programma non ha errori di sintassi. Alcuni degli errori di runtime più comuni che il tuo programma potrebbe incontrare sono:

  • Ciclo infinito
  • Divisione per "0"
  • Valore errato inserito dall'utente (ad esempio, stringa invece di numero intero)

Ottimizzazione del codice

Viene chiamato qualsiasi metodo mediante il quale il codice viene modificato per migliorarne la qualità e l'efficienza code optimization. Code qualitydetermina la durata del codice. Se il codice può essere utilizzato e mantenuto per un lungo periodo di tempo, trasferito da prodotto a prodotto, la sua qualità è considerata elevata e ha una vita più lunga. Al contrario, se un pezzo di codice può essere utilizzato e mantenuto solo per brevi periodi, diciamo fino a quando una versione non è valida, è considerato di bassa qualità e ha una vita breve.

Determina l'affidabilità e la velocità di un codice code efficiency. L'efficienza del codice è un fattore importante per garantire prestazioni elevate di un software.

Esistono due approcci all'ottimizzazione del codice:

  • Intuition based optimization (IBO)- Qui il programmatore cerca di ottimizzare il programma in base alle proprie capacità ed esperienze. Questo potrebbe funzionare per piccoli programmi ma fallisce miseramente con l'aumentare della complessità del programma.

  • Evidence based optimization (EBO)- Qui vengono utilizzati strumenti automatizzati per scoprire i colli di bottiglia delle prestazioni e quindi le parti rilevanti vengono ottimizzate di conseguenza. Ogni linguaggio di programmazione ha il proprio set di strumenti di ottimizzazione del codice. Ad esempio, PMD, FindBug e Clover vengono utilizzati per ottimizzare il codice Java.

Il codice è ottimizzato per il tempo di esecuzione e il consumo di memoria perché il tempo è scarso e la memoria è costosa. Ci deve essere un equilibrio tra i due. Setime optimization aumenta il carico sulla memoria o memory optimization rende il codice più lento, lo scopo dell'ottimizzazione andrà perso.

Ottimizzazione del tempo di esecuzione

L'ottimizzazione del codice per il tempo di esecuzione è necessaria per fornire un servizio rapido agli utenti. Ecco alcuni suggerimenti per l'ottimizzazione del tempo di esecuzione:

  • Usa comandi che hanno l'ottimizzazione del tempo di esecuzione incorporata

  • Usa switch invece di if condition

  • Ridurre al minimo le chiamate di funzione all'interno di strutture di loop

  • Ottimizza le strutture dati utilizzate nel programma

Ottimizzazione della memoria

Come sai, i dati e le istruzioni consumano memoria. Quando diciamo dati, ci si riferisce anche a dati provvisori che sono il risultato di espressioni. Dobbiamo anche tenere traccia di quante istruzioni stanno costituendo il programma o il modulo che stiamo cercando di ottimizzare. Ecco alcuni suggerimenti permemory optimization -

  • Usa comandi con ottimizzazione della memoria incorporata

  • Mantenere al minimo l'uso di variabili che devono essere memorizzate nei registri

  • Evita di dichiarare variabili globali all'interno di cicli che vengono eseguiti molte volte

  • Evita di utilizzare funzioni che richiedono un uso intensivo della CPU come sqrt ()