Bölüm 2 / 12

Ripazgy we awto-doly

Girdeji:

  • Çekiş tertibini kartanyň görnüşi, gutarnykly gutarnykly iş görnüşini düzetmek
  • Giriş / çykyş şertnamalaryny, gyradaky ýagdaýlary we stil çäklendirmelerini öz içine alýan güýçli önümçilik tekliplerini ýazmak ukyby
  • Birleşmezden ozal döredilen kody we islendik täze teklip edilýän garaşlylygy barlamak ukyby

Öndürijiniň AI bilen ilkinji aragatnaşyk nokady köplenç awtomatiki däl - indiki setiri ýazanyňyzda teklip edýän aýratynlyk - ýa-da söhbet penjiresine "şol funksiýany ýazyň". Ikisem bir hereketlendirijini ulanýarlar, ýöne dürli dersleri talap edýärler. Bu bölümde, kod öndürmegi tötänleýin "ýaz" -dan in engineeringener ädimine öwürýäris, netijesi öňünden aýdyp bolýan we tassyklap bolýar.

Maksat, ýazýan enjamyňyzy çaltlaşdyrýan guraldan, kesgitlän çäklendirmeleriňizde işleýän şägirdi öwürmekdir. Gowy ýolbaşçylyk edýän okuwçy wagt tygşytlaýar; Gözegçiliksiz okuwçy, soňundan arassalamaly bolýan bulaşyklygy döredýär.

Iki ulanyş tertibi: Içerki gutarmak we söhbet

Redaktoryňyzy ýazanyňyzda setiriň tamamlanmagy güýje girýär; Funksiýa goluny ýa-da teswir setirini ýazýarsyňyz, galanlaryny teklip edýär. Tizlik üçin ajaýyp, ýöne dar mazmuny bar: diňe ýakyn ýerlerde kod görýär. Şonuň üçin niýetiňizi teswirde aç-açan ýazanyňyzda iň oňat işleýär. Mysal üçin, // ulanyjynyň e-poçta tassyklamasy, nädogry teswir aşakdaky teklibi ep-esli gowulaşdyrsa, ValidationError atyň.

Söhbet tertibi has uly we gurluşly meseleler üçin: "Bu klasa sahypa goşuň", "Şol hyzmatyň interfeýsini çykaryň". Bu ýerde rol, kontekst we format bermek rahatlygy bar. Umumy düzgün: kiçi we akymly meseleleriň tamamlanmagy, pikirlenmegi we gurluşy talap edýän meseleler üçin söhbetdeşlik.

Maslahat: "Tab" bilen gutarmak teklibini kör kabul etmäň. Teklip edilýän setiri bir sekunt okaň; Nädogry üýtgeýän at ýa-da tersine ýagdaý köplenç bu ýerden syzýar.

Niýeti koda terjime etmek üçin ädimler

  1. Şertnamany kesgitläň. Funksiýanyň giriş, çykyş we ýalňyşlyk häsiýeti näme? "E-poçta alyň, dogry bolsa kadalaşdyryň, nädogry bolsa ýalňyş atyň" ýaly.
  2. Çäklendirmeleri görkeziň. Daşarky garaşlylygy ulanmaýarsyňyzmy? Belli bir stil gollanmasy? Öndürijilik çägi barmy?
  3. Mysal beriň. Giriş - çykyş jübüti (“ali@x.com → ygtybarly, ali @ → ýalňyşlyk”) modeliň niýet düşünjesini çaklamadan takyklyga geçirýär.
  4. Ownuk bölekleri soraň. Bir wezipe, bir jogapkärçilik. Soňra indiki birine geçiň.
  5. Döredilen kody okaň we işlediň. Çalt el bilen synanyşmak, iň arzan kepillik ädimidir.

Üç kiçi waka

1-nji waka - Teswirler bilen öndürilen önümçilik takyklygy ýokarlandyrýar. Bir dörediji ilki bilen boş göwre bilen sene derňew funksiýasyny isledi we 3 tapgyrda dogry netijäni aldy. Ikinji synanyşykda, funksiýany 4 setirli düşündiriş bilen kesgitlänimde (kabul edilen formatlar, wagt zolagynyň düzgüni, ýalňyşlyk ýagdaýy) we haýyş edenimde, birinji tapgyrda işleýän kod geldi. Birmeňzeş model, şol gün; tapawut diňe niýetiň aýdyňlygydy.

2-nji waka - Wersiýasyny görkezmezlik gaty gymmat. Bir topar Node.js. üçin öndürilen kodda fs.promisesiň ornuny tutup, yzyna çagyrylan esasly API bilen göreşdi. Haçan-da “20 düwün ulanyň, ESM, async / garaşyň” setiri goşulanda, önümçilik ilkinji gezek taslama yzarlady; Düzediş üçin sarp edilen ortaça 12 minut täzeden düzüldi.

3-nji hadysa - Gazan kodyndaky hakyky girdeji. Mikroservis 6 sany täze DTO (Maglumat geçiriş obýekti - gatlaklaryň arasynda maglumatlary göterýän ýönekeý maglumat synpy) we olary tassyklamak düzgünlerini talap etdi. Öň takmynan 90 minutlyk el işi, AI öndürilende we gözden geçirilende 35 minuta çenli azaldyldy; Kodyň gaýtalanmagy ýokary we nagşy düşnükli bolansoň, AI bu ýerde iň täsirli ýerinde işledi.

Göçürip boljak dört şablon

Şertnama esasly funksiýa döretmek:

Rol: Siz yhlasly {{dil}} işläp düzüjiňiz. Funksiýa şertnamasy: - Ady: {{ady}} - Giriş: {{görnüşleri we olaryň manysy}} - Çykyş: {{görnüşi we manysy}} - roralňyşlyk ýagdaýy: {{haçan atylýar / yzyna gaýtarylýar}} Çäklendirmeler: {external daşarky garaşlylyk ýok / stil / ýerine ýetiriş}}} {{error_2} first Ilki bilen gol + gysga meýilnama, soňra kod beriň. Synaglary ýazmak, diňe işlemek.

Bar bolan stili gabat getirmek üçin (kod bazasyna uýgunlaşyň):

Aşakda taslamamyzdan mysal funksiýasy; Bu ýerde at dakmagy, ýalňyş işlemegi we düşündiriş stilini öwreniň. SAME stili bilen {{new_task} for üçin bir funksiýa ýazyň. Mysal: {{häzirki_kod}}

Süňkden doldurmaga çenli (stub → durmuşa geçirmek):

Teswirlerdäki TODO-lara görä aşakdaky funksiýa skeletini dolduryň. Goluň we gaýtaryş görnüşini üýtgediň. Bar bolmadyk kömekçi funksiýasyny etmäň; zerur bolsa, maňa "bu kömekçi gerek" diýip habar beriň. {{skelet_kod}}

Programmanyň alternatiw deňeşdirmesi:

{{Taslama} for üçin 2 dürli ýerine ýetiriş beriň: (a) okalmagy ileri tutmak, (b) ýerine ýetirijiligi ileri tutmak. Her sözüň aşagynda "haçan amatly" 1 sözlem ýazyň.

Gowşak haýyş / Güýçli haýyş

Gowşak: "Maňa e-poçta barlamak funksiýasyny ýazyň."
Güýçli: "TypeScript 5, diňe standart kitaphana. IsValidEmail ýazyň (giriş: setir): boolean. Boş ýerleri kesiň, a@b.co dogry, a @, @ b.co, boş setir nädogry. Regex ulanjak bolsaňyz, gaty çylşyrymly bolmaň; 2 setir teswir goşuň."

Güýçli wersiýa; Dil, wersiýa, gol, gyradaky ýagdaýlar we stil çäklendirmesini görkezýär. Şeýlelik bilen, döredilen kod hem işleýär we taslamaňyza laýyk gelýär.

Çemeleşme

Haçan ulanmaly

Üns beriň

Çyzgy gutarmak

Akymda ownuk goýmalar

Teklipi okamazdan kabul etmäň

Söhbetdeşlikde şertnama esasly önümçilik

Täze funksiýa / synp

Mysal we gyrasy mysal beriň

Stil nusgasy boýunça önümçilik

Bar bolan koda goşmak

Häzirki nusga koduny saýlaň

skelet

Gol, beden boş

Goluň üýtgemegi

Kod köpeltmek we baglylyk duzagy

AI işini aňsatlaşdyrmak üçin köplenç täze kitaphanany maslahat berýär. Käwagt bu takyk, käwagt taslamaňyza gereksiz garaşlylyk goşýar ýa-da ýok bukjany teklip edýär (galýusinasiýa). Düzgün: her täze garaşlylygy tassyklaýarsyňyz. Bukjanyň hakykatdanam bardygyny, saklanýandygyny we degişli ygtyýarnamasynyň bardygyny barlamazdan, taslama goşmaň. Taslamada eýýäm kömekçi köplenç täze bukjadan has gowudyr.

Üns beriň: AI tarapyndan teklip edilýän import setirlerini gözden geçiriň. Packok bolan paketiň ady ("typo-squatting" diýilýän galp paketlere hem meňzeş bolup biler) ikisi hem düzümi bozýar we howpsuzlyk töwekgelçiligini döredýär.

Adaty ýalňyşlyklar

  • Model bilen kesgitlenen goluň bolmagy. Giriş / çykyş görnüşlerini düzetmeseňiz, her önümçilik bilen başga bir gol gelýär we integrasiýa kyn bolýar.
  • Gyradaky ýagdaýlary aýtmaly däl. Boş giriş, null, negatiw san, gaty uly baha - bulary görkezmeseňiz, model gyralary böküp, "bagtly ýol" ýazýar.
  • Teklipi barlamazdan birleşdirmek. Işleýän ýaly görünýän kod, işleýändigini aňlatmaýar.
  • Gereksiz garaşlylygy kabul etmek. Bir hatar üçin tutuş kitaphanany goşmak tehniki bergini döredýär.
  • Stiliň gabat gelmezligi. Taslamanyň galan böleginden dürli at dakmak we ýalňyşlyk bilen işlemek kod bazasyny ýalňyş edýär.

Gysgaça

Niýeti anyk şertnama terjime edeniňizde kod döretmek güýçli. Kiçijik, içerki meseleler we söhbetdeşlikde gurluş döredýän meseleler üçin içerki gutarnykly ulanyň. Giriş / çykyş görnüşlerini, gyralary, wersiýasyny we stilini görkezýärsiňiz; Modeliň mysalyny getiriň; her täze garaşlylygy barlamak; we öndürilen her eseri işlediň we okaň. AI formula, gaýtalanýan kodda iň oňat töleýär - ony şol ýerde, kesgitlän çäkleriňizde işlediň.

Programma meselesi

Taslamaňyzdan ýazmaly hakyky kiçijik bir funksiýany saýlaň. Ilki bilen “şertnama esasly funksiýa döretmek” şablony bilen AI-e çap ediň, giriş / çykyş görnüşleri, iki gyrasy we stil çäklendirmesi berilýär. Döredilen kody düzüň we iki dürli giriş bilen synap görüň. Soňra şol bir funksiýany ýene bir gezek soraň, bu gezek hiç hili mazmuny bolmazdan “maňa ýazyň” we iki netijäni setir boýunça deňeşdiriň: haýsy gyrasy ýitirildi, näçe düzediş gerek?

gözegçilik sanawy

  • [] Çekiş tertibini nirede tamamlamalydygyny bilýärin.
  • [] Giriş / çykyş şertnamasyny we funksiýa döretmekde gyradaky ýagdaýlary kesgitleýärin.
  • [] Ses berişlige dil we wersiýa maglumatlary goşmagy endik etdim.
  • [] Her öndürilen eseri ýygnamazdan ozal düzýärin we synagdan geçirýärin.
  • [] AI-iň barlygyny we zerurlygyny barlamak arkaly teklip edýän her bir täze garaşlylygy tassyklaýaryn.
  • [] Döredilen koduň taslama stiline laýyk gelýändigini barlaýaryn.