Sari la conținut
← Claude pentru programare și dezvoltare
Progres curs 0 / 7 lecții (0%)

Context de cod: cât și cum lipești

Lectură estimată: 4 minute

Estimare pentru text, la un ritm de 180 de cuvinte pe minut. Timpul pentru analizarea codului, exerciții și proiecte se adaugă separat și depinde de ritmul tău.

Calitatea răspunsurilor de cod depinde aproape complet de contextul pe care îl dai. Modelul nu vede repository-ul tău. Dacă ceri „adaugă validare la formularul de contact" fără să arăți formularul, controllerul și convențiile proiectului, primești cod generic care nu se potrivește.

Ce context contează

  • Fișierul sau funcția pe care o modifici, integral.
  • Fișierele adiacente care arată convențiile (cum se face validarea în altă parte).
  • Versiunile: limbaj, framework, biblioteci relevante.
  • Ce ai încercat și mesajul de eroare exact, dacă e cazul.
  • Constrângeri: „nu adăuga dependențe noi", „păstrează stilul existent".

Cât lipești

Suficient cât modelul să înțeleagă tiparul, nu tot proiectul. Pentru o modificare într-un controller: controllerul, modelul implicat, un exemplu de controller similar deja scris. 3 fișiere bine alese bat 20 lipite la întâmplare.

Arată convențiile

Modelele imită. Dacă în proiectul tău validarea se face în Form Requests, arată un Form Request existent și spune „urmează exact acest tipar". Altfel îți va da validare inline în controller, „corectă" dar în afara stilului tău.

Erori: contextul complet

Când ceri ajutor la un bug, dă: codul relevant, mesajul de eroare integral (cu stack trace), ce ai încercat, și ce te aștepți să se întâmple vs. ce se întâmplă. Un „nu merge" fără astea produce ghicit.

Prompt bun pentru o modificare

„Proiect Laravel 11. Vreau să adaug validare la stocarea unui articol. Mai jos: ArticleController@store actual, și un exemplu de Form Request deja folosit în proiect (PostRequest). Scrie un ArticleRequest în exact același stil și modifică controllerul să-l folosească. Nu adăuga pachete."

Exercițiu

Ia o sarcină reală de cod. Scrie promptul o dată cu context minim, o dată cu fișierul complet + un exemplu de cod similar din proiect. Compară cât de aproape de „gata" e fiecare rezultat.

Greșeli frecvente

  • Ceri o modificare fără să arăți codul care se modifică.
  • Nu arăți un exemplu de cod similar, deci modelul ignoră convențiile tale.
  • Dai „nu merge" fără mesajul de eroare complet.
  • Lipești 30 de fișiere și îneci semnalul.

De reținut

  • Modelul nu vede repo-ul; contextul e totul.
  • 3 fișiere bine alese (țintă + model + adiacent) bat 20 la întâmplare.
  • Arată convențiile printr-un exemplu existent.
  • La bug-uri: cod + eroare completă + așteptat vs. actual.

Pe scurt

Dă modelului fereastra corectă spre proiectul tău: fișierul țintă, un exemplu de stil, versiunile și eroarea exactă. Restul e mult mai bun.

Context minim suficient pentru o modificare de cod

Nu lipi întregul proiect când problema este într-o funcție. Oferă semnătura, un apel reprezentativ, comportamentul actual și cel dorit. Păstrează numele tipurilor și versiunile relevante, dar înlocuiește secretele și datele clienților. Un fragment fără context poate produce un patch incompatibil; prea mult context poate ascunde informația decisivă. Arată și ceea ce nu trebuie modificat, mai ales contractele publice și limitele de autorizare.

Exemplu de lucru

Funcție: normalizeEmail(string $email): string
Actual: transformă în litere mici, păstrează spațiile.
Dorit: elimină spațiile de la capete și normalizează literele.
Apel: normalizeEmail('  ANA@EXAMPLE.TEST  ')
Așteptat: ana@example.test
Nu modifica: formatul răspunsurilor API sau schema bazei.

Interpretarea rezultatului

Contextul este suficient pentru a discuta transformarea și testul, fără a expune configurația de mail. Normalizarea nu înseamnă validare: un șir poate fi normalizat și totuși să nu fie adresă validă. Păstrează aceste responsabilități distincte în cod și teste.

Exercițiu de consolidare

Adaugă un șir gol și unul cu spații în interior. Stabilește ce ține de normalizare și ce ține de validarea formularului.

Aplicație practică

Sarcina

Pregătește un context minim de cod pentru depanarea unui formular.

Rezolvare orientativă și verificare

Include versiunea limbajului, funcția relevantă, intrarea anonimizată și eroarea. Elimină parolele și fișierele .env.

Greșeală de evitat

Un repository întreg nu este necesar pentru orice problemă.

Documentație și surse

Ți-a plăcut lecția? Continuă cursul complet

Ai citit o lecție gratuită. Celelalte lecții, aplicațiile practice și materialele se deblochează odată cu cursul.

149 lei

Plată unică, acces pe viață la toate cele 7 lecții.

Vezi ce conține cursul →

Folosim cookie-uri esențiale pentru funcționarea site-ului și, cu acordul tău, cookie-uri de analiză și publicitate. Partenerii noștri, inclusiv Google, pot folosi cookie-uri pentru a afișa reclame relevante. Detalii în Politica de cookie-uri.