Revisione di codice TypeScriptFormazione in programmazione

Revisione di codice TypeScript: tipi, struttura ed errori

Consegna da 1 giornoRevisioni incluseControllo di qualità
Pacchetti
Pagamento protettoDettagli
  • Le revisioni previste dal pacchetto sono gratuite.
  • Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.
Ordina · 32 €

Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Revisione di codice TypeScript: tipi, struttura ed errori

Esempio di risultato

Esempio per il pacchetto Standard

Revisione del codice: script Python di importazione ordini per un piccolo negozio online

Cosa fa il codice

  1. Legge orders.csv dall'export del negozio.
  2. Per ogni riga d'ordine cerca il prodotto per SKU in stock.xlsx e sottrae la quantità.
  3. Salva le giacenze aggiornate e registra i totali in import_log.txt.

La struttura è chiara e le funzioni hanno nomi ben scelti. Quasi tutti i problemi riguardano dati in ingresso diversi da quelli che lo script si aspetta.

Bug e punti deboli

#RigaGravitàProblema
148AltaLo stesso CSV può essere importato due volte: non c'è alcun controllo sugli ID ordine già elaborati. È la causa più probabile delle giacenze negative.
272Altaint(row["qty"]) va in errore con valori vuoti o "2.0" degli ordini rimborsati.
395MediaLa ricerca per SKU distingue maiuscole e minuscole: "gt-101" e "GT-101" risultano prodotti diversi.
4130MediaIl file viene aperto senza encoding="utf-8", quindi su Windows i nomi con lettere accentate si rompono.
5201BassaUn except: generico nasconde gli errori reali e rende inutile il log.

Frammenti corretti

Problema 1: saltare gli ordini già importati

processed = load_processed_ids("processed_orders.txt")
for row in reader:
    if row["order_id"] in processed:
        continue
    # ... logica esistente ...
    processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)

Perché: ogni ordine viene applicato una sola volta, anche se rilanciate lo script sullo stesso file.

Problema 2: leggere la quantità in modo sicuro

raw = (row.get("qty") or "").strip()
try:
    qty = int(float(raw))
except ValueError:
    log.warning("Ordine %s: quantità non valida %r, saltato", row["order_id"], raw)
    continue

Perché: le righe rimborsate o parziali vengono saltate con una nota chiara, invece di fermare tutta l'importazione.

Problema 3: normalizzare gli SKU

sku = row["sku"].strip().upper()

Applicate lo stesso .strip().upper() quando costruite il dizionario delle giacenze.

Stile e leggibilità

  • process() è lunga 90 righe: dividetela in read_orders, apply_to_stock, write_report.
  • Sostituite i numeri di colonna "magici" (row[7]) con i nomi delle intestazioni.

Testate ogni correzione su una copia dei vostri file: abbiamo letto il codice, ma non l'abbiamo eseguito.

Cliente: titolare di un negozio di tè che ha scritto uno script Python di 310 righe per importare gli ordini da un export CSV nel foglio delle giacenze Problema segnalato: "A volte le giacenze vanno in negativo, e con alcuni file lo script si blocca."

Il cliente e tutti i dati sono inventati.

Informazioni sul servizio

TypeScript la protegge solo quando i tipi dicono ciò che il codice fa davvero, e molti progetti si riempiono a poco a poco di any, asserzioni di tipo non verificate e campi opzionali che in realtà non lo sono mai. Leggiamo il suo codice e le definizioni dei tipi, spieghiamo gli errori del compilatore su cui è bloccato e mostriamo dove il narrowing, le union type o un piccolo generic sostituirebbero un cast. I frammenti corretti tengono conto della modalità strict, così le correzioni reggono quando il compilatore diventa più severo.

Cosa è incluso

  • Cosa riceveUna revisione scritta nella pagina dell'ordine: errori del compilatore spiegati, tipi deboli elencati per rischio e frammenti corretti con definizioni dei tipi migliori. Il Premium aggiunge un piano per attivare passo dopo passo opzioni del compilatore più severe.
  • Errori del compilatore decifratiMessaggi lunghi in parole semplici
  • Meno any e castTipi più sicuri al loro posto
  • Narrowing e unionLasci al compilatore il controllo dei rami
  • Interfacce e genericDefinizioni dei tipi riutilizzabili e leggibili
  • Frammenti correttiCon una nota su ogni modifica

Come funziona

  1. 1
    BriefLei incolla codice, tipi ed errori
  2. 2
    LetturaConfrontiamo i tipi con il comportamento reale
  3. 3
    RevisioneRiceve spiegazioni e tipi migliori

Cosa ci serve da lei

Il codice TypeScript e i tipi incollati come testo o in screenshot, le impostazioni del tsconfig, la versione di TypeScript e gli errori esatti del compilatore.

Le chiederemo:

  • Quale versione di TypeScript e quale framework?
  • La modalità strict è attiva?
  • Quali errori del compilatore o problemi di tipi la bloccano?
  • Sta portando un progetto JavaScript a TypeScript?

Confronto dei pacchetti

PacchettiBaseCodice fino a 100 righe14 €StandardCodice fino a 400 righe32 €PremiumFino a 1.000 righe con piano per la modalità strict62 €
Tempi di consegna1 giorno2 giorni3 giorni
Revisioni123
Righe di codicefino a 100fino a 400fino a 1.000
Frammenti correttiSìSìSì
Piano per la modalità strictNoNoSì
Ordina BaseOrdina StandardOrdina Premium

Pagamento protetto

Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.

  • Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
  • Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
  • Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
  • Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
  • Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
  • Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Come funziona →

Domande e risposte

Eseguite il mio codice?

No. Lo leggiamo con attenzione e ragioniamo su come si comporta, ma non lo eseguiamo, quindi verifichi ogni correzione proposta nel suo progetto.

Potete dirmi solo come far sparire l'errore?

Possiamo, ma prima mostriamo da cosa la protegge l'errore e proponiamo una correzione tipizzata, quando esiste.

Aiutate nella migrazione da JavaScript?

Sì. Incolli i file che sta convertendo e le suggeriamo i tipi e l'ordine in cui convertirli.

Pacchetti
Ordina · 32 €· 2 giorni