Ẹyọ 9 / 12

Iwe, README ati koodu Comments

Awọn anfani:

  • Agbara lati ṣe agbejade README, docstring ati awọn apẹrẹ iyipada ti o da lori awọn olugbo ibi-afẹde ati orisun pẹlu AI
  • Agbara lati yapa 'kini/bii' ati 'idi' awọn fẹlẹfẹlẹ ni iwe ati ṣafikun 'idi' gẹgẹbi eniyan
  • Ṣiṣayẹwo awọn igbesẹ fifi sori ẹrọ nipa ṣiṣe tikalararẹ wọn ati ṣiṣe iwe-ipamọ jẹ apakan ti iyipada koodu

Ohun ti a gbagbe nigbagbogbo ṣugbọn apakan pipẹ julọ ti sọfitiwia jẹ iwe-ipamọ. Awọn koodu ti wa ni ṣeékà paapaa lẹhin osu; Ẹni tí ó kọ ọ́ ti lọ, àyíká ọ̀rọ̀ náà ti di ìgbàgbé, ohun tí a sì kọ kìkì ohun tí ó ṣẹ́ kù. README ti o dara (iwe ifọrọwerọ ti o ṣe alaye kini iṣẹ akanṣe kan jẹ ati bi o ṣe le fi sori ẹrọ ati ṣiṣẹ), awọn asọye koodu alaye ati awọn iwe API ti o wa titi di oni (itọkasi ti o ṣalaye bi o ṣe le lo wiwo) taara pinnu iyara ti ẹgbẹ kan. AI gba pupọ ti “ailagbara kikọ” lati inu iwe - ṣugbọn o wa pẹlu pakute kan: AI le sọ lati koodu ohun ti o ṣe, ṣugbọn nigbagbogbo ko le mọ idi ti o fi ṣe ni ọna yẹn.

Ninu ẹyọ yii, iwọ yoo kọ ẹkọ bi o ṣe le ṣe agbejade README, asọye koodu, docstring (ọrọ asọye ti a kọ fun iṣẹ / kilasi), iwe API ati iyipada pẹlu AI; ati bii o ṣe le ṣe itọju apakan ti o niyelori julọ ti ẹda eniyan: “idi.”

Iyatọ laarin "Kini" ati "Kí nìdí"

Awọn ipele meji ti iwe-ipamọ wa. Ohun akọkọ ni kini/bii: “Iṣẹ yii n to atokọ”, “Ṣiṣe aṣẹ yii lati fi sori ẹrọ”. Awọn wọnyi le wa ni jade lati awọn koodu ati be; AI tayọ nibi. Ni ẹẹkeji, kilode: “kilode ti a fi jẹ ki iṣẹ yii jẹ asynchronous kuku ju amuṣiṣẹpọ”, “kilode ti iye opin yii jẹ awọn aaya 30”, “kilode ti a fi yan ile-ikawe yii ju ekeji lọ”. Awọn wọnyi ni a ko kọ sinu koodu; O jẹ ọja ti awọn ipinnu apẹrẹ, awọn idiwọ, ati irora ti o kọja.

AI ko mọ "idi"; Ni ti o dara julọ, o ṣe ipinnu ti o ni imọran-eyiti o lewu, nitori idi ti ko tọ jẹ buru ju ko si idi rara. Nitorinaa pipin iṣẹ jẹ kedere: AI ṣe apẹrẹ “kini/bii,” o ṣafikun “idi.” Ọrọ asọye ti o niyelori julọ ni ọkan ti o sọ ohun ti koodu ko le sọ.

Imọran: Maṣe tun ṣe pẹlu asọye ohun ti koodu funrararẹ sọ kedere (bii i = i + 1 // mu i pọ si nipasẹ ọkan). AI nigbakan ṣe agbejade iru awọn asọye laiṣe; Mu wọn kuro ki o fi agbara rẹ si awọn asọye “idi”.

Igbesẹ nipasẹ Igbesẹ: Iran Iwe-ipamọ pẹlu AI

  1. Pato awọn olugbo afojusun. "Olugbese kan ti o bẹrẹ," "ẹgbẹ ita ti yoo lo API yii," "ọjọ iwaju mi" - awọn olugbo ṣeto ohun orin fun ede ati ijinle.
  2. Fun orisun. Ṣafikun koodu ti o yẹ, README ti o wa, lilo apẹẹrẹ si tọ. Iwe aṣẹ ti ko ni orisun jẹ ifiwepe si iṣelọpọ.
  3. Ilana fifi sori ẹrọ. Awọn apakan boṣewa fun README (Idi, Fifi sori ẹrọ, Lilo, Iṣeto, Idarapọ), ọna kika iṣẹ akanṣe fun docstring.
  4. Samisi awọn aaye "idi". Beere lọwọ AI lati samisi awọn ipinnu fun eyiti ko mọ idiyele bi “kilode” akọsilẹ ti o nilo nibi”; Lẹhinna o kun awọn ofo wọnyẹn.
  5. Jẹrisi. Ni otitọ ṣiṣe awọn igbesẹ fifi sori ẹrọ; gbiyanju koodu ayẹwo. A README ti ko sise ni buru ju ko si README ni gbogbo.

Mẹta Mini igba

Ọran 1 - README onikiakia lori wiwọ. Ohun elo orisun ṣiṣi README ti nsọnu; Awọn oluranlọwọ titun tiraka pẹlu fifi sori ẹrọ fun aropin ti awọn wakati 2. Ẹgbẹ naa fun awọn iwe afọwọkọ fifi sori ẹrọ ati package.json si AI ati ṣe agbekalẹ README ti a ṣeto, lẹhinna ran awọn igbesẹ funrararẹ lori ẹrọ mimọ ati ṣafikun awọn igbẹkẹle meji ti o padanu. Akoko fifi sori ẹrọ fun awọn oluranlọwọ ti o tẹle dinku si aropin iṣẹju 25.

Irú 2 - The ṣe-soke "idi" pakute. Olùgbéejáde kan beere AI fun asọye lẹgbẹẹ iye akoko ipari (akoko-akoko = 30). AI kọwe ni oye ṣugbọn idalare ti ko tọ “lati fi aaye gba airi nẹtiwọọki giga”; awọn ti gidi idi je kan ibosile iṣẹ ká ifiwosiwe 30-keji iye to. Itumọ aiṣedeede naa mu idagbasoke idagbasoke ti o tẹle lati pọ si iye lainidi, ti o yori si iṣẹlẹ kan. Ẹkọ: oniwun koodu gbọdọ jẹrisi idalare naa.

Ọran 3 - Iwọn Docstring ti di adaṣe. Ẹya arannilọwọ pẹlu awọn iṣẹ 40 ko ni awọn gbolohun ọrọ. A fun AI ni ọna kika iṣẹ akanṣe (ara Google) ati ṣe agbekalẹ paramita, ipadabọ ati awọn apejuwe imukuro fun iṣẹ kọọkan; Olùgbéejáde ṣe àyẹ̀wò ìwọ̀nyí ó sì ṣàtúnṣe àwọn ìkéde irú àìtọ́ díẹ̀. Igbasilẹ awọn iṣẹ 40 sọkalẹ lati bii idaji ọjọ kan si wakati kan.

Mẹrin Copiable Templates

Ilana README ti a ṣe:

Olugbo ibi: {{fun apẹẹrẹ. olùkópa tuntun}}.Kọ kikọ README kan ti o da lori awọn faili ni isalẹ. Awọn apakan: Idi, Awọn ẹya ara ẹrọ, Awọn ibeere, Fifi sori ẹrọ, Iṣiṣẹ, Iṣeto, Idanwo, Idasi. Jade fifi sori ẹrọ / ṣiṣe awọn aṣẹ lati awọn faili gangan; IFỌRỌWỌRỌ. Samisi awọn aaye ti o ko ni idaniloju pẹlu "[JẸJẸ]". Orisun: {{package.json / scripts / sample code}}

Itọkasi Docstring/API:

Kọ docstring si awọn iṣẹ wọnyi ni ọna kika {{ ara ise agbese: Google/NumPy/JSDoc}}: akopọ kukuru, awọn paramita (itumọ + iru), ipadabọ, awọn imukuro ju, apẹẹrẹ kukuru 1. Ma ṣe tun ohun ti koodu sọ CLEARLY. Samisi awọn ipinnu apẹrẹ ti o nilo “idi” bi “[Idi pataki]”, maṣe kọ idalare ti a ṣẹda.{{code}}

Yọ awọn aaye kuro fun asọye “kilode”:

Ninu koodu yii, olupilẹṣẹ atẹle le beere "kilode ti eyi jẹ bẹ?" (awọn nọmba idan, dani ipinu, workarounds). Fun ọrọ asọye SKELETON fun ọkọọkan, ṣugbọn fi idi ọgbọn naa silẹ BLANK; Emi yoo kun idalare naa.{{code}}

Gbólóhùn Changelog/PR:

Kọ {{iwọle iyipada / apejuwe PR}} lati iyatọ ni isalẹ. Ọna kika: Kini o yipada (ni ede olumulo), Kilode (oro: {{...}}), Iyipada fifọ (ti o ba jẹ eyikeyi), Njẹ o ti ni idanwo. Ṣatunṣe jargon imọ-ẹrọ si awọn olugbo afojusun.{{diff}}

Ailagbara kiakia / Alagbara kiakia

Alailagbara: "Kọ README kan fun iṣẹ akanṣe yii."
Alagbara: "Awọn olugbo afojusun: olupilẹṣẹ kan ti n ṣe atunṣe repo fun igba akọkọ. Da lori package ti a so.json, docker-compose.yml ati awọn iwe afọwọkọ / folda, kọ iwe kikọ README pẹlu Idi, Awọn ibeere, Fifi sori ẹrọ, Isẹ, Idanwo, Awọn apakan Ipinfunni. Jade awọn aṣẹ lati awọn faili wọnyi, maṣe ṣe idaniloju wọn pẹlu nibikibi ti o ko ba wa ni idaniloju;

Ẹya ti o lagbara yoo fun awọn olugbo, orisun, eto, ati ofin “ṣe, samisi”; ki iwe naa da lori awọn faili gidi ati awọn aaye lati rii daju ni han gbangba.

Iru iwe

AI ṣe daradara

Eniyan ṣe afikun / wadi

README fifi sori

ìla igbese

Ṣiṣe awọn igbesẹ ati jẹrisi

Docstring/API

Ilana, paramita, iru

Iru ti o tọ ati "idi"

Ọrọìwòye koodu

"Ohun ti o n ṣe" akopọ

"Kini idi eyi" idalare

Changelog/PR

akọkọ osere

Ipa ati deede

Ipinnu ayaworan (ADR)

egungun

Awọn ipinnu gidi ati awọn adehun

Iwe Nilo Itọju

Abala ti o lewu julọ ti iwe-ipamọ ni nigbati o han ni otitọ botilẹjẹpe o jẹ eke. Nigbati koodu ba yipada ati pe iwe-ipamọ ko ni imudojuiwọn, yoo ṣi awọn oluka lọna ni itara. AI jẹ ki imudojuiwọn rọrun: ṣe iyatọ kan ki o beere “awọn apakan wo ni iwe-ipamọ ni iyipada yii kan?” o le beere. Ṣugbọn o jẹ ilana ti o ṣe idaniloju imudojuiwọn-si-ọjọ jẹ ki imudojuiwọn iwe jẹ apakan ti iyipada koodu (Amimọ gbigba PR). AI nyara; Ẹgbẹ naa kọ ibawi.

Išọra: Maṣe ṣe atẹjade laisi ijẹrisi awọn igbesẹ fifi sori ẹrọ ni README kan. Iwe-ipamọ “o ṣee ṣe iṣẹ” le ba ọjọ akọkọ ti olupilẹṣẹ tuntun jẹ ki o ba igbẹkẹle jẹ. Ṣiṣe awọn igbesẹ funrararẹ ni agbegbe mimọ.

Awọn aṣiṣe ti o wọpọ

  • Ngba “idi” lati baamu AI. Idalare eke buru ju idalare lọ; Eni koodu yẹ ki o kọ idi apẹrẹ.
  • Ko ṣe idaniloju awọn igbesẹ fifi sori ẹrọ. README ti ko sise ba igbekele.
  • Kobojumu ọrọìwòye tun koodu. O ṣe agbejade ariwo, o npa awọn itumọ “idi” gidi.
  • Ko ṣe pato awọn olugbo afojusun. Iwe-ipamọ ti ko ṣe akiyesi ẹniti a kọ ọ ko ṣe iwulo fun boya alakobere tabi amoye.
  • Iyapa imudojuiwọn lati ilana. Ti iwe-ipamọ naa ko ba ni imudojuiwọn pẹlu koodu o yarayara di sinilona.

Ni akojọpọ

AI gba pupọ ninu ẹru ẹrọ lati inu iwe: awọn iyaworan iyara README, docstring, itọkasi API, iwe iyipada ati awọn apejuwe PR. Ṣugbọn ko le mọ "idi", eyiti o jẹ Layer ti o niyelori julọ, ati pe o lewu lati ṣe soke. Pipin iṣẹ jẹ kedere: AI ṣe agbejade “kini/bii,” o ṣafikun “idi.” Pato awọn olugbo, pese awọn orisun, fa igbekalẹ, samisi awọn aaye lati baamu, ati rii daju igbesẹ fifi sori ẹrọ kọọkan nipa ṣiṣiṣẹ funrararẹ. Ṣe awọn iwe jẹ apakan pataki ti iyipada koodu.

Ohun elo iṣẹ-ṣiṣe

Yan module tabi ise agbese kekere ti iwe rẹ sonu tabi ti igba atijọ. Ni akọkọ ṣe agbekalẹ ilana kan lati AI pẹlu awoṣe “itumọ README” (tabi docstring); Rii daju lati fun orisun ati awọn olugbo afojusun. Lẹhinna lọ nipasẹ aaye kọọkan nibiti AI ti samisi [VERIFY] tabi [IDI NILO]: nitootọ ṣiṣe awọn igbesẹ iṣeto ati fọwọsi apẹrẹ “idi” pẹlu imọ tirẹ. Ṣe akiyesi awọn igbesẹ melo ni o nilo lati wa titi ati iye “idi” ti o ṣafikun.

akojọ ayẹwo

  • [] Ninu iwe, Mo ṣe iyatọ awọn ipele "kini/bii" ati "idi".
  • [] Emi ko ṣe AI ṣe “idi”, Mo ṣafikun funrararẹ.
  • [] Mo fun ni kiakia awọn olugbo ibi-afẹde ati awọn faili orisun gangan.
  • [] Mo jẹrisi awọn aaye [VERIFY] ti a samisi nipasẹ AI nipa ṣiṣe tikalararẹ wọn.
  • [] Mo imukuro kobojumu comments ti o tun awọn koodu.
  • [] Mo n ṣe imudojuiwọn iwe apakan ti iyipada koodu.