ክፍል 2 / 12

ስክሪፕት እና ራስ-አጠናቅቅ

ትርፍ፡

  • በውስጥ መስመር ማጠናቀቅ የተግባር አይነትን ለማረም የውይይት ሁነታን የካርታ የማድረግ ችሎታ
  • የግቤት/ውጤት ኮንትራቶችን፣ የጠርዝ ጉዳዮችን እና የቅጥ ገደቦችን የሚያካትቱ ኃይለኛ የምርት ጥያቄዎችን የመፃፍ ችሎታ
  • የመነጨ ኮድ እና ማንኛውንም አዲስ የታቀዱ ጥገኞችን ከማዋሃድ በፊት የማረጋገጥ ችሎታ

የገንቢው የመጀመሪያ ከ AI ጋር የሚገናኝበት ነጥብ ብዙ ጊዜ በራስ-የተጠናቀቀ ነው - ይህ ባህሪ ሲተይቡ ቀጣዩን መስመር የሚጠቁም - ወይም በቻት መስኮት ውስጥ "ይህን ተግባር ይተይቡ" ማለት ነው። ሁለቱም አንድ አይነት ሞተር ይጠቀማሉ ነገር ግን የተለያዩ ዘርፎችን ይፈልጋሉ. በዚህ ክፍል ውስጥ፣ ኮድ ማመንጨትን ከአጋጣሚ “ይጻፉት” ወደ የምህንድስና ደረጃ የምንለውጠው ውጤቱ ሊገመት የሚችል እና ሊረጋገጥ የሚችል ነው።

ግቡ AIን የመተየቢያ ማሽንዎን ከሚያፋጥነው መሳሪያ ወደ እርስዎ ባዘጋጁት ገደቦች ውስጥ ወደሚሰራ ተለማማጅ ማዞር ነው። በደንብ የሚመራ ተለማማጅ ጊዜን ይቆጥባል; ያልተመራ ተለማማጅ በኋላ ላይ ማጽዳት ያለብዎትን ቆሻሻ ያመጣል.

ሁለት የአጠቃቀም ሁነታዎች፡ የመስመር ውስጥ ማጠናቀቅ እና ውይይት

በአርታዒዎ ውስጥ ሲተይቡ የመስመር ውስጥ ማጠናቀቅ ወደ ጨዋታ ይመጣል; የተግባር ፊርማ ወይም አስተያየት መስመር ይተይቡ እና የቀረውን ይጠቁማል። ለፍጥነት በጣም ጥሩ ነው, ነገር ግን ጠባብ አውድ አለው: በቅርብ ቦታ ላይ ኮድን ብቻ ​​ነው የሚያየው. ለዚያም ነው ሃሳብህን በአስተያየት ውስጥ በግልፅ ስትጽፍ የሚበጀው:: ለምሳሌ፣ የተጠቃሚውን ኢሜል አረጋግጧል፣ ልክ ያልሆነ አስተያየት ከዚህ በታች ያለውን ሃሳብ የሚያሻሽል ከሆነ ValidationErrorን ጣሉት።

የውይይት ሁነታ ለትልቅ እና ለተዋቀሩ ተግባራት ነው፡ "ወደዚህ ክፍል ፔጃኒሽን ጨምር"፣ "የዚያን አገልግሎት በይነገጽ አውጣ"። እዚህ ሚና፣ አውድ እና ቅርጸት የመስጠት ቅንጦት አለዎት። አጠቃላይ ደንቡ፡- ለአነስተኛ እና ለወራጅ ስራዎች ማጠናቀቅ፣ አስተሳሰብ እና መዋቅር ለሚፈልጉ ስራዎች ውይይት።

ጠቃሚ ምክር፡ በ"ታብ" የማጠናቀቂያ ጥቆማውን በጭፍን አይቀበሉ። የተጠቆመውን መስመር ለአንድ ሰከንድ ያንብቡ; የተሳሳተ የተለዋዋጭ ስም ወይም የተገለበጠ ሁኔታ አብዛኛውን ጊዜ ከዚህ ይፈልቃል።

ፍላጎትን ወደ ኮድ ለመተርጎም እርምጃዎች

  1. ውልን ይግለጹ. የተግባሩ ግብአት፣ ውፅዓት እና የስህተት ባህሪ ምንድነው? ልክ እንደ "ኢሜል አግኝ፣ የሚሰራ ከሆነ መደበኛ አድርግ፣ የተሳሳተ ከሆነ መጣል"
  2. ገደቦችን ይግለጹ. የውጭ ጥገኛን አይጠቀሙ? የተወሰነ የቅጥ መመሪያ? የአፈጻጸም ገደብ አለ?
  3. አንድ ምሳሌ ስጥ። የግቤት-ውፅዓት ጥንድ (“ali@x.com → የሚሰራ፣ ali@ → ስህተት”) የአምሳያው የአላማ ግንዛቤን ከትንበያ ወደ ትክክለኛነት ያንቀሳቅሰዋል።
  4. ትናንሽ ቁርጥራጮችን ይጠይቁ. አንድ ተግባር, አንድ ኃላፊነት. ከዚያ ወደሚቀጥለው ይሂዱ።
  5. የመነጨውን ኮድ ያንብቡ እና ያሂዱ። ማጠናቀር + ፈጣን የእጅ ሙከራ በጣም ርካሹ የማረጋገጫ ደረጃ ነው።

ሶስት ሚኒ ጉዳዮች

ጉዳይ 1 - በአስተያየት የሚመራ ምርት ትክክለኛነትን ይጨምራል። አንድ ገንቢ በመጀመሪያ በባዶ አካል የቀን መተንተን ተግባር ጠይቆ ትክክለኛውን ውጤት በ3 ዙሮች አግኝቷል። በሁለተኛው ሙከራ ፣ ተግባሩን በ 4-መስመር አስተያየት (የተቀበሉት ቅርፀቶች ፣ የሰዓት ሰቅ ሕግ ፣ የስህተት ሁኔታ) ስገልፅ እና ስጠይቀው ፣ በመጀመሪያው ዙር የሠራው ኮድ መጣ። ተመሳሳይ ሞዴል, በተመሳሳይ ቀን; ልዩነቱ የዓላማው ግልጽነት ብቻ ነበር።

ጉዳይ 2 — አንድን ስሪት አለመግለጽ ውድ ነው። አንድ ቡድን ለ Node.js በተዘጋጀው ኮድ ውስጥ fs.promisesን በመተካት በትሩፋት ጥሪ ላይ የተመሰረተ ኤፒአይ ታግሏል። መስመሩ "Node 20, ESM, async / wait" የሚለውን መስመር ወደ ማመሳከሪያው ሲጨምር ምርቱ ለመጀመሪያ ጊዜ ፕሮጀክቱን ተከትሏል; ለማረም የጠፋው አማካይ 12 ደቂቃ ዳግም ተቀምጧል።

ጉዳይ 3 - በቦይለር ኮድ ውስጥ እውነተኛ ትርፍ። አንድ ማይክሮ አገልግሎት 6 አዲስ DTO (የውሂብ ማስተላለፊያ ነገር - በንብርብሮች መካከል መረጃን የሚይዝ ቀላል የውሂብ ክፍል) እና የማረጋገጫ ደንቦቻቸውን ይፈልጋል። በግምት ወደ 90 ደቂቃ የሚጠጋ በእጅ የሚሰራ ስራ በ AI ተዘጋጅቶ ሲገመገም ወደ 35 ደቂቃ ዝቅ ብሏል። የኮድ ድግግሞሽ ከፍተኛ ስለሆነ እና ንድፉ ግልጽ ስለሆነ፣ AI እዚህ በጣም ቀልጣፋ በሆነው አካባቢ ሰርቷል።

አራት ሊገለበጡ የሚችሉ አብነቶች

በውል ላይ የተመሰረተ ተግባር ማመንጨት፡-

ሚና፡ አንተ ትጉህ {{ቋንቋ}} ገንቢ ነህ። የተግባር ውል፡- ስም፡ {{ስም}} - ግብአት፡ {{አይነቶች እና ትርጉማቸው}} - ውጤት፡ {{አይነት እና ትርጉሙ}} - የስህተት ሁኔታ፡ {{ምን ይጣላል/ ሲመለስ}} ገደቦች፡ {{ምንም ውጫዊ ጥገኛ / ቅጥ / አፈጻጸም የለም}} ምሳሌዎች {{output_1}}- {{entry_2}} -> {{ስህተት_2}}መጀመሪያ ፊርማ + አጭር እቅድ ስጥ፣ በመቀጠል ኮድ። ሙከራዎችን መፃፍ ፣ ተግባር ብቻ።

ያለውን ዘይቤ ለማዛመድ (ከኮድ መሰረት ጋር መላመድ)፦

ከታች ከፕሮጀክታችን ምሳሌ ተግባር ነው; መሰየምን፣ የስህተት አያያዝን እና የአስተያየት ዘይቤን እዚህ ይማሩ። ለተመሳሳይ ዘይቤ ተግባር ለ{{new_task}} ይፃፉ። ምሳሌ፡ {{current_code}}

ከአጽም እስከ መሙላት (ገለባ → ትግበራ):

በአስተያየቶቹ ውስጥ ባሉት TODOs መሠረት ከዚህ በታች ያለውን የተግባር አጽም ይሙሉ። ፊርማውን እና የመመለሻውን አይነት ይቀይሩ። የሌለ ረዳት ተግባር አታድርጉ; አስፈላጊ ከሆነ "ይህ ረዳት ያስፈልጋል" አሳውቀኝ. {{skelet_kod}}

የአማራጭ መተግበሪያ ንጽጽር፡

ለ{{task}} 2 የተለያዩ አተገባበርን ይስጡ፡ (ሀ) ተነባቢነት ቅድሚያ መስጠት፣ (ለ) ለአፈጻጸም ቅድሚያ መስጠት። በእያንዳንዱ ስር 1 ዓረፍተ ነገር "መቼ ነው የሚመረጥ" ብለው ይጻፉ።

ደካማ ጥያቄ / ጠንካራ ጥያቄ

ደካማ፡ "የኢሜል ማረጋገጫ ተግባር ፃፉልኝ።"
ጠንካራ፡ "አይነት ስክሪፕት 5፣ መደበኛ ላይብረሪ ብቻ። isValidEmail(ግቤት፡ string) ይፃፉ፡ ቡሊያን። ክፍተቶችን ይከርክሙ፣ የማይሰማ ያድርጉት፣ a@b.co ልክ ነው፣ a@, @b.co፣ ባዶ ሕብረቁምፊ ልክ ያልሆነ ነው። regex ለመጠቀም ከፈለጉ፣ አስተያየቶች ከመጠን በላይ ውስብስብ አይሁኑ፤ 2 መስመሮችን ያክሉ።"

ኃይለኛ ስሪት; ቋንቋውን፣ ሥሪቱን፣ ፊርማውን፣ የጠርዝ ጉዳዮችን እና የቅጥ ገደብን ይመልሳል። ስለዚህ, የመነጨው ኮድ በፕሮጀክትዎ ውስጥ ይሰራል እና ይስማማል.

አቀራረብ

መቼ መጠቀም

ትኩረት

የመስመር ውስጥ ማጠናቀቅ

ፍሰት ውስጥ ትናንሽ ማስገቢያዎች

ሃሳቡን ሳታነብ አትቀበል

በውይይት ውስጥ በውል ላይ የተመሰረተ ምርት

አዲስ ተግባር/ክፍል

ምሳሌ እና የጠርዝ መያዣን ይስጡ

በቅጥ ናሙና ማምረት

ወደ ነባር ኮድ በማከል ላይ

የአሁኑን የናሙና ኮድ ይምረጡ

አጽም መሙላት

ፊርማ ተስተካክሏል ፣ የሰውነት ባዶ

ፊርማውን መለወጥ

ኮድ ብዜት እና የጥገኛ ወጥመድ

AI ብዙውን ጊዜ ስራውን ቀላል ለማድረግ አዲስ ቤተ-መጽሐፍት ይመክራል. አንዳንድ ጊዜ ይህ ትክክል ነው፣ አንዳንድ ጊዜ በፕሮጀክትዎ ላይ አላስፈላጊ ጥገኝነት ይጨምራል ወይም የሌለ ጥቅል (ቅዠት) ይጠቁማል። ደንብ: እያንዳንዱን አዲስ ጥገኝነት ያረጋግጣሉ. ጥቅሉ በትክክል መኖሩን፣ እንደተያዘ እና ተገቢውን ፈቃድ እንዳለው ሳያረጋግጡ ወደ ፕሮጀክቱ አይጨምሩ። ብዙውን ጊዜ በፕሮጀክቱ ውስጥ ያለው ረዳት ከአዲስ ጥቅል የተሻለ ነው.

ማስጠንቀቂያ፡ በ AI የተጠቆሙትን የማስመጫ መስመሮችን ይገምግሙ። የሌለ የጥቅል ስም (ይህም "የታይፖ-ስኳቲንግ" የተባሉ የውሸት ፓኬጆችን ሊመስል ይችላል) ሁለቱንም ማጠናቀርን ይሰብራል እና የደህንነት ስጋት ይፈጥራል።

የተለመዱ ስህተቶች

  • በአምሳያው የሚወሰን ፊርማ መኖር. የግብአት/ውጤት አይነቶችን ካላስተካከሉ ከእያንዳንዱ ምርት ጋር የተለየ ፊርማ ይመጣል እና ውህደት አስቸጋሪ ይሆናል።
  • የጠርዝ ጉዳዮችን መጥቀስ አይደለም. ባዶ ግቤት, ባዶ, አሉታዊ ቁጥር, በጣም ትልቅ እሴት - እነዚህን ካልገለጹ, ሞዴሉ "ደስተኛ መንገድ" ይጽፋል, ጠርዞችን መዝለል.
  • ጥቆማውን ሳይሞክሩ በማጣመር. የሚሰራ የሚመስለው ኮድ ይሰራል ማለት አይደለም።
  • አላስፈላጊ ጥገኝነትን መቀበል. ለአንድ መስመር አንድ ሙሉ ቤተ-መጽሐፍት መጨመር ቴክኒካዊ ዕዳን ይፈጥራል.
  • የቅጥ አለመመጣጠን። ከተቀረው ፕሮጄክቱ የተለየ ስያሜ እና የስህተት አያያዝ የኮዱን መሠረት ጠጋ ያደርገዋል።

በማጠቃለያው

ሐሳብን ወደ ግልጽ ውል ሲተረጉሙ ኮድ ማመንጨት ኃይለኛ ነው። ለአነስተኛ፣ በዥረት ውስጥ ለሚሰሩ ስራዎች እና በንግግሩ ውስጥ መዋቅርን ለሚፈጥሩ ተግባራት የመስመር ማጠናቀቅን ይጠቀሙ። የግቤት/ውጤት አይነቶችን፣ የጠርዝ ጉዳዮችን፣ ሥሪትን እና ዘይቤን ይጠቅሳሉ፤ የአምሳያው ምሳሌ ይስጡ; እያንዳንዱን አዲስ ጥገኛ ማረጋገጥ; እና ሩጡ እና የተሰራውን እያንዳንዱን ቁራጭ ያንብቡ። AI በቀመር እና ተደጋጋሚ ኮድ ምርጡን ይከፍላል - እርስዎ ባዘጋጁት ገደብ ውስጥ እዚያው ያሂዱት።

የመተግበሪያ ተግባር

ለመጻፍ ከሚፈልጉት ፕሮጀክት ውስጥ አንድ ትንሽ ተግባር ይምረጡ። በመጀመሪያ የግብአት/የዉጤት አይነቶችን፣ ሁለት ጠርዝ ጉዳዮችን እና የቅጥ ገደቦችን በመስጠት በ “ኮንትራት ላይ የተመሰረተ ተግባር ማመንጨት” በሚለው አብነት ወደ AI ያትሙት። የተፈጠረውን ኮድ ሰብስቡ እና በሁለት የተለያዩ ግብዓቶች ይሞክሩት። ከዚያ ተመሳሳዩን ተግባር እንደገና ይጠይቁ ፣ በዚህ ጊዜ ያለ ምንም አውድ “ይህን ፃፉኝ” እና ሁለቱን የውጤቶች መስመር በመስመር ያወዳድሩ-የትኞቹ የጠርዝ ጉዳዮች ያመለጡ ናቸው ፣ ምን ያህል እርማቶች ያስፈልጋሉ?

የማረጋገጫ ዝርዝር

  • [] በውስጥ መስመር ሲጠናቀቅ የውይይት ሁነታን የት እንደምጠቀም አውቃለሁ።
  • [] በተግባር ማመንጨት ውስጥ የግቤት/ውጤት ውልን እና የጠርዝ ጉዳዮችን እወስናለሁ።
  • [ ] የቋንቋ እና የስሪት መረጃን ወደ መጠየቂያው ማከልን ልማድ አድርጌዋለሁ።
  • [] እያንዳንዱን ምርት ከመሰብሰብዎ በፊት እሰበስባለሁ እና እሞክራለሁ።
  • [] ሕልውናውን እና አስፈላጊነቱን በማረጋገጥ AI የሚያቀርበውን እያንዳንዱን አዲስ ጥገኝነት አረጋግጣለሁ።
  • [ ] የመነጨው ኮድ ከፕሮጀክቱ ዘይቤ ጋር እንደሚዛመድ አረጋግጣለሁ።