Eining 2 / 12

Forskriftir og sjálfvirk útfylling

Hagnaður:

  • Geta til að kortleggja spjallham til að leiðrétta gerð verks með innbyggðri frágangi
  • Geta til að skrifa öflugar framleiðslufyrirmæli sem innihalda inntaks-/úttakssamninga, jaðartilvik og stílþvingun
  • Geta til að staðfesta myndaðan kóða og allar nýjar fyrirhugaðar ósjálfstæðir áður en sameinað er

Fyrsti tengipunktur þróunaraðila við gervigreind er oft sjálfvirk útfylling - eiginleiki sem bendir til næstu línu þegar þú skrifar - eða að segja "sláðu þessa aðgerð" inn í spjallglugga. Þeir nota báðir sömu vélina en krefjast mismunandi greina. Í þessari einingu umbreytum við kóðagerð úr tilviljunarkenndri „skrifaðu hann niður“ í verkfræðilegt skref þar sem framleiðsla er fyrirsjáanleg og sannreynanleg.

Markmiðið er að breyta gervigreind frá tæki sem flýtir fyrir vélritunarvélinni þinni í lærling sem vinnur innan þeirra takmarkana sem þú setur. Vel leiðbeinandi lærlingur sparar tíma; Lærlingur sem ekki er með leiðsögn framleiðir sóðaskap sem þú verður að þrífa upp síðar.

Tvær notkunarstillingar: Innbyggð frágangur og spjall

Innbyggð útfylling kemur við sögu þegar þú skrifar í ritlinum þínum; Þú slærð inn fallundirskrift eða athugasemdarlínu og hún bendir á afganginn. Það er frábært fyrir hraða, en það hefur þröngt samhengi: það sér aðeins kóða í næsta nágrenni. Þess vegna virkar það best þegar þú skrifar ætlun þína skýrt í athugasemd. Til dæmis, //validate notandi tölvupóstur, henda ValidationError ef ógild athugasemd bætir verulega tillöguna hér að neðan.

Spjallhamur er fyrir stærri og skipulögð verkefni: "Bæta blaðsíðu við þennan flokk", "Taktu út viðmót þeirrar þjónustu". Hér hefur þú þann munað að gefa hlutverk, samhengi og snið. Almenna reglan er: frágangur fyrir lítil og flæðandi verkefni, samtal fyrir verkefni sem krefjast hugsunar og skipulags.

Ábending: Ekki samþykkja í blindni tillögu um frágang með „Tab“. Lestu leiðbeinandi línu í sekúndu; Rangt breytuheiti eða öfugt ástand lekur oftast héðan.

Skref til að þýða ásetning í kóða

  1. Skilgreindu samning. Hver er inntak, úttak og villuhegðun fallsins? Eins og "Fáðu tölvupóst, staðlaðu ef það er gilt, kastaðu villu ef það er ógilt".
  2. Tilgreindu takmarkanir. Notarðu ekki ytri háð? Sérstakur stílaleiðbeiningar? Eru takmörk fyrir frammistöðu?
  3. Nefndu dæmi. Inntak-úttakspar („ali@x.com → valid, ali@ → villa“) færir skilning líkansins á ásetningi frá spá til nákvæmni.
  4. Biðjið um litla bita. Eitt hlutverk, ein ábyrgð. Farðu svo yfir í næsta.
  5. Lestu og keyrðu kóðann sem myndast. Samsetning + fljótleg handvirk tilraun er ódýrasta tryggingaskrefið.

Þrjú Mini Cass

Tilvik 1 — Athugasemddrifin framleiðsla eykur nákvæmni. Þróunaraðili bað fyrst um dagsetningarþáttunaraðgerð með tómum meginhluta og fékk rétta niðurstöðu í 3 umferðum. Í annarri tilraun, þegar ég skilgreindi fallið með 4 lína athugasemd (samþykkt snið, tímabeltisregla, villuástand) og óskaði eftir því, kom kóðinn sem virkaði í fyrstu umferð. Sama fyrirmynd, sami dagurinn; munurinn var aðeins skýrleiki ásetningsins.

Tilfelli 2 - Það er dýrt að tilgreina ekki útgáfu. Eitt teymi átti í erfiðleikum með arfgengt afturhringingar-undirstaða API sem kom í stað fs.promises í kóða sem framleiddur var fyrir Node.js. Þegar línan „Notaðu hnút 20, ESM, ósamstillt/bíður“ var bætt við kvaðninguna fylgdi framleiðslan verkefninu í fyrsta skipti; Meðaltal 12 mínútna sem varið var í leiðréttingu var endurstillt.

Tilfelli 3 — Raunverulegur ávinningur í boilerplate kóða. Örþjónusta þurfti 6 nýjar DTO (Data Transfer Object — einfaldur gagnaflokkur sem flytur gögn á milli laga) og löggildingarreglur þeirra. Það sem áður var um það bil 90 mínútur af handavinnu minnkaði niður í 35 mínútur þegar gervigreindin framleitt og skoðað; Þar sem endurtekning kóða er mikil og mynstrið er skýrt, virkaði gervigreind á sínu hagkvæmasta svæði hér.

Fjögur afritanleg sniðmát

Gerð aðgerða sem byggir á samningi:

Hlutverk: Þú ert duglegur {{tungumál}} þróunaraðili. Aðgerðarsamningur:- Nafn: {{nafn}}- Inntak: {{tegundir og merking þeirra}}- Framleiðsla: {{tegund og merking}}- Villustaða: {{hvað er kastað/skilað þegar}}Hömlur: {{engin utanaðkomandi ósjálfstæði/stíll/frammistaða:{}}Dæmi: {{output_1}}- {{entry_2}} -> {{error_2}}Gefðu fyrst undirskrift + stutta áætlun, síðan kóða. Að skrifa próf, bara virka.

Til að passa við núverandi stíl (aðlagast kóðagrunni):

Hér að neðan er dæmi um fall úr verkefninu okkar; Lærðu nafngiftir, villumeðferð og athugasemdastíl hér. Skrifaðu fall fyrir {{new_task}} með SAMMA stíl. Dæmi: {{current_code}}

Frá beinagrind til fyllingar (stubbur → útfærsla):

Fylltu út fallbeinagrindina hér að neðan í samræmi við TODOs í athugasemdunum. BREYTTU undirskrift og gerð skila. Ekki búa til hjálparaðgerð sem er ekki til; ef nauðsyn krefur, láttu mig vita "þennan aðstoðarmann vantar". {{skelet_kod}}

Annar app samanburður:

Gefðu 2 mismunandi útfærslur fyrir {{verkefni}}: (a) forgangsraða læsileika, (b) forgangsraða frammistöðu. Skrifaðu niður 1 setningu „hvenær er æskilegt“ undir hverri setningu.

Veik kvaðning / Sterk kvaðning

Veik: "Skrifaðu mér staðfestingaraðgerð í tölvupósti."
Sterkt: "TypeScript 5, eingöngu venjulegt bókasafn. Skrifaðu isValidEmail(inntak: strengur): Boolean. Skerið bil, gerðu það óviðkvæmt fyrir hástöfum, a@b.co er gilt, a@, @b.co, tómur strengur er ógildur. Ef þú ætlar að nota regex, ekki vera of flókinn; bæta við 2 línum af athugasemdum."

Öflug útgáfa; Skilar tungumáli, útgáfu, undirskrift, kantföllum og stílþvingun. Þannig virkar útbúinn kóðinn og passar inn í verkefnið þitt.

Nálgun

Hvenær á að nota

Athygli

Innbyggð frágangur

Lítil innlegg í flæði

Ekki samþykkja tillöguna án þess að lesa hana

Samningsbundin framleiðsla í spjalli

Nýtt fall/flokkur

Gefðu dæmi og brún mál

Framleiðsla eftir stílsýni

Bætir við núverandi kóða

Veldu núverandi sýnishornskóða

beinagrind fylling

Undirskrift fast, líkami auður

Að breyta undirskriftinni

Kóða tvíverknað og ósjálfstæðisgildran

Gervigreind mælir oft með nýju bókasafni til að auðvelda starf þess. Stundum er þetta nákvæmt, stundum bætir það verkefninu þínu óþarfa háð eða stingur upp á pakka sem er ekki til (ofskynjun). Regla: þú staðfestir hverja nýja ósjálfstæði. Ekki bæta því við verkefnið án þess að staðfesta að pakkinn sé í raun til, sé viðhaldið og hafi viðeigandi leyfi. Oftast er aðstoðarmaður sem þegar er í verkefninu betri en nýr pakki.

Varúð: Skoðaðu innflutningslínurnar sem AI hefur lagt til. Nafn pakka sem ekki er til (sem getur líka líkt eftir fölsuðum pakka sem kallast „prentvilla-squatting“) brýtur bæði samantekt og skapar öryggisáhættu.

Algeng mistök

  • Að hafa undirskriftina ákvörðuð af fyrirmyndinni. Ef þú lagar ekki inntak/úttaksgerðirnar kemur önnur undirskrift með hverri framleiðslu og samþætting verður erfið.
  • Svo ekki sé minnst á kantmál. Tómt inntak, núll, neikvæð tala, mjög mikið gildi — ef þú tilgreinir þetta ekki, skrifar líkanið „hamingjusamlega leiðina“ og sleppir brúnum.
  • Að sameina tillöguna án þess að prófa hana. Kóði sem virðist virka þýðir ekki að hann virki.
  • Að sætta sig við óþarfa ósjálfstæði. Að bæta við heilu bókasafni fyrir einnar línu skapar tæknilega skuldir.
  • Ósamræmi í stíl. Mismunandi nafngiftir og villumeðferð frá því sem eftir er af verkefninu gerir kóðagrunninn flókinn.

Í stuttu máli

Kóðagerð er öflug þegar þú þýðir ásetning í skýran samning. Notaðu innbyggða frágang fyrir lítil, in-stream verkefni, og fyrir verkefni sem koma á uppbyggingu í samtalinu. Þú tilgreinir inntaks-/úttaksgerðir, brúntilvik, útgáfu og stíl; Gefðu dæmi um líkanið; staðfesta hverja nýja ósjálfstæði; og hlaupa og lesa hvert verk sem framleitt er. Gervigreind borgar sig best í formúlubundnum, endurteknum kóða - keyrðu hann þarna, innan þeirra marka sem þú setur.

Umsóknarverkefni

Veldu raunverulega litla aðgerð úr verkefninu þínu sem þú þarft að skrifa. Prentaðu það fyrst á gervigreindina með „samningsbundinni virkniframleiðslu“ sniðmátinu, sem gefur inntaks-/úttakstegundir, tvö jaðartilvik og stílþvingun. Settu saman myndaða kóðann og reyndu hann með tveimur mismunandi inntakum. Spyrðu síðan sömu aðgerðina aftur, í þetta skiptið „skrifaðu mér þetta“ án nokkurs samhengis, og berðu saman úttakin tvö línu fyrir línu: hvaða jaðartilvik misstu, hversu margar leiðréttingar þurfti?

gátlisti

  • [ ] Ég veit hvar ég á að nota spjallham með innbyggðri útfyllingu.
  • [ ] Ég ákvarða inntaks/úttakssamninginn og brúntilvik í fallmyndun.
  • [ ] Ég hef lagt það í vana minn að bæta tungumála- og útgáfuupplýsingum við kvaðninguna.
  • [ ] Ég safna saman og prófa hvert framleitt stykki áður en ég setti það saman.
  • [ ] Ég staðfesti hverja nýja ósjálfstæði sem gervigreindin leggur til með því að sannreyna tilvist hennar og nauðsyn.
  • [ ] Ég athuga hvort útbúinn kóðinn passi við stíl verkefnisins.