[Come migliorare il codice]

di il
4 risposte

[Come migliorare il codice]

Ciao a tutti, sto imparando da poco a programmare in py e molti cose per me sono ancora non conosciute.
Ho scritto un programma che preveda l'incremento di una determinata variabile a seconda dei due possibili valori che assume:

	if labeling == 'exact':
                values[0] += 1
        else:
                values[1] += 1
ho utilizzato un if/else e incrementa...
come posso migliorare ciò?

4 Risposte

  • Re: [Come migliorare il codice]

    Mi sembra già buono , se dovessi però mettere più if scrivi elif
  • Re: [Come migliorare il codice]

    
    values[1 - int(labeling == 'exact')] += 1
    
    Sarebbe stato meglio se incrementavi 'values[1]' quando 'labeling == 'exact'' e 'values[0]' altrimenti.
    In questo caso avresi potuto scrivere
    
    values[int(labeling == 'exact')] += 1
    
    COMUNQUE, se uno dovesse scrivere del codice in questo modo, gli taglierei le falangi.

    LA PRIMA COSA IN ASSOLUTO E':
    - il codice DEVE ESSERE CHIARO

    POI:

    - il cdice DEVE ESSERE COMPRENSIBILE
    - NON SI SCRIVE codice criptico per risparmiare qualche microsecondo
    - l'innefficenza del codice NON E' NEL CODICE MA NELL'ALGORITMO USATO!!!
  • Re: [Come migliorare il codice]

    migliorabile ha scritto:


    
    values[1 - int(labeling == 'exact')] += 1
    
    Sarebbe stato meglio se incrementavi 'values[1]' quando 'labeling == 'exact'' e 'values[0]' altrimenti.
    In questo caso avresi potuto scrivere
    
    values[int(labeling == 'exact')] += 1
    
    COMUNQUE, se uno dovesse scrivere del codice in questo modo, gli taglierei le falangi.

    LA PRIMA COSA IN ASSOLUTO E':
    - il codice DEVE ESSERE CHIARO

    POI:

    - il cdice DEVE ESSERE COMPRENSIBILE
    - NON SI SCRIVE codice criptico per risparmiare qualche microsecondo
    - l'innefficenza del codice NON E' NEL CODICE MA NELL'ALGORITMO USATO!!!
    Infatti non ho mai capito se è un bene o un male quando vedo persone che scrivono il mondo in una sola riga di codice.

    Io non sono esperto e sicuramente scrivere meno codice possibile è la cosa migliore ma un minimo di leggibilità secondo me è sempre dovuta visto che oltre ad essere interpretato o compilato un codice deve essere anche letto da un essere umano.
  • Re: [Come migliorare il codice]

    ASSIOMA: se e' tra "bene" e "male", e' ASSOLUTAMENTE MALE

    La scrittura di meno codice possibile E' SEMPRE una cosa buota, MA questo lo si ottiene NON risparmiando qualche linea di codice sullo stile presentato precedentemente, MA partizionando il condice in compnenti RIUSABILI.

    Ora, come questo si faccia, e' questione decisamente complessa e che richiede un bel po' di esperienza.
    NON ESISTE la ricetta magica, altrimenti non servirebbero ANNI per diventare un bravo programmatore.

    Diciamo che quello che succede e' questo:

    1) si scrive il codice la PRIMA volta. Per quanto si abbia fatto un'analisi dettaglata PRIMA, nel 99.99999% dei casi ci si e' dimenticati il 50% delle cose fondamentali. Questo fa si che si scrive il codice con SI un'architettura in mente (o su carta), ma SENZA aver chiaro tutte le sfaccettature.

    Ovviamente, questo si riduce notevolmente con il tempo se uno realizza SEMPRE lo stesso tipo di applicazione (ma e' una barba )
    Se inveci affronti problematiche nuove, l'esperienza ti assicura che QUALUNQUE problema potra' e' essere risolto, QUALCHE problema lo prevedi, MA certamente ti sei dimenticato del solito altro 50%.

    Quindi, la scrittura del codice riflette questa situazione: a mano a mano che vai avanti, aggiungi pezzi che magari si intergrano male con quello che c'e' gia', e quindi applichi pezze o cerchi di fare ristrutturazione senza distruggere troppo.

    2) finita la prima versione ""claudicante"" si e' a conoscenza di (QUASI) TUTTI i problemi che si sono dovuti affrontare e dell'architettura generale che e' stata messa in piedi. A questo punto e' anche chiaro quali sono i ""componenti"" riutilizzabili che fanno parte dell'applicazione.

    3) in fase di riscrittura, si riesce a riorganizzare il codice nel seguente modo:

    A) dimezzamento delle linee di codice, perche' si possono riusare piu' volte componenti gia' scritti
    B) radoppio delle funzionalita'

    un miglioramenti di 4 volte non e' mai una cosa malvagia
Devi accedere o registrarti per scrivere nel forum
4 risposte