ලාභ:
- පැහැදිලි ආදාන-ප්රතිදානය සහ සීමා නිර්වචන සහිතව AI වෙත ශ්රිත, පන්ති සහ මොඩියුල ලිවීමේ හැකියාව
- AI යුගල ක්රමලේඛන හවුල්කරුවෙකු ලෙස භාවිතා කිරීමේ හැකියාව සහ කුඩා, සත්යාපනය කළ හැකි කොටස් වලින් පියවරෙන් පියවර ප්රගතිය
- AI මගින් ජනනය කරන ලද කේතය සම්පාදනය කර කුඩා උදාහරණ සමඟින් එය ක්රියාත්මක කිරීමෙන් තාර්කික සහ එජ් කේස් දෝෂ අල්ලා ගැනීමේ හැකියාව
යුගල ක්රමලේඛනය යනු සංවර්ධකයින් දෙදෙනෙකු එකම ගැටළුවක් මත වැඩ කරන විට, එක් ලිවීමකින් සහ අනෙකා සංශෝධනය කරයි. AI සමඟ කේතනය කිරීම මෙම සම්බන්ධතාවයේ ඩිජිටල් අනුවාදය වේ: ඔබ දිශාව, සීමාවන් සහ පිළිගැනීමේ නිර්ණායක සකසයි; AI ඉක්මන් කෙටුම්පතක් නිෂ්පාදනය කරයි; ඔබ එක් එක් පියවර සම්පාදනය කර පරීක්ෂා කිරීමෙන් තහවුරු කරයි. මෙහි ඇති ලොකුම උගුල නම් AI හට “මෙම යෙදුම ආරම්භයේ සිට අවසානය දක්වා මට ලියන්න” යැයි පැවසීම සහ පේළි 200 බ්ලොක් එකක් අන්ධ ලෙස පිළිගැනීමයි. හොඳ යුගල ක්රමලේඛනය කුඩා පියවර වලින් ඉදිරියට යයි: සෑම පියවරක්ම තේරුම් ගත හැකි, පරීක්ෂා කළ හැකි සහ ආපසු හැරවිය හැකි විය යුතුය.
පැහැදිලි ආදාන-ප්රතිදාන කොන්ත්රාත්තුවක් සහිත ශ්රිත, පන්ති සහ මොඩියුල මුද්රණය කරන්නේ කෙසේදැයි මෙම ඒකකයේදී ඔබ ඉගෙන ගනු ඇත; AI පියවරෙන් පියවර මාර්ගෝපදේශනය කරන්නේ කෙසේද; සහ කුඩා උදාහරණ සමඟින් එය නිපදවන කේතය ධාවනය කිරීමෙන් තාර්කික සහ එජ් කේස් දෝෂ අල්ලා ගන්නේ කෙසේදැයි අපි බලමු. ඉලක්කය වේගය නොවේ, නමුත් තහවුරු කරන ලද වේගය.
සංකල්ප: ආදාන-ප්රතිදාන කොන්ත්රාත්තුව: ශ්රිතයක් ගන්නා ආදානය කුමක්ද සහ එය පොරොන්දු වන ප්රතිදානය සහ දෝෂ හැසිරීම පිළිබඳ පැහැදිලි අර්ථ දැක්වීමක්. Edge case: සාමාන්ය නොවන නමුත් ඇත්ත වශයෙන්ම සිදුවිය හැකි ආදානය (හිස්, ශුන්ය, සෘණ, ඉතා විශාල, ශුන්ය). වර්ධක සංවර්ධනය: කුඩා, වැඩ කරන කොටස් සමඟ ඉදිරියට යාම සහ එක් එක් පියවර වලංගු කිරීම.
ශුද්ධ කොන්ත්රාත්තුව සමඟ මුද්රණ කේතය
ගුණාත්මක කේතයේ පදනම වන්නේ වැඩ ආරම්භ කිරීමට පෙර "ඔබට අවශ්ය දේ" හරියටම අර්ථ දැක්වීමයි. AI වෙත ශ්රිතයක් ලියන විට, එයට කරුණු පහක් ලබා දෙන්න: භාෂාව සහ අනුවාදය, ආදාන වර්ග සහ අර්ථයන්, ප්රතිදානය, දෝෂ තත්ත්වයන් සහ සීමා කිරීම් (කාර්ය සාධනය, බාහිර පුස්තකාල තහනම, ශෛලිය). මෙය AI අනුමාන කිරීම වළක්වයි.
- කොන්ත්රාත්තුව ලියන්න. ආදානය, ප්රතිදානය, දෝෂය, සීමා කිරීම.
- කුඩා ඒකකයක් ඉල්ලා සිටින්න. තනි වගකීමක් සහිත කාර්යයක්; එය විශාල මොඩියුලයක් නොවේ.
- පරීක්ෂණ වාරණ ඉල්ලන්න. කේතය අසල නියැදි ධාවන/පරීක්ෂණ කිහිපයක් එක් කරන්න.
- සම්පාදනය කර ධාවනය කරන්න. එජ් කේස් සමඟ එය උත්සාහ කරන්න, ඇසෙන් ප්රතිදානය සත්යාපනය කරන්න.
- ඊළඟ පියවරට යන්න. කෑල්ලක් තහවුරු කළ පසු, එය මත ගොඩනඟන්න.
ගිවිසුම්ගත ශ්රිත විමසුම: "ටයිප්ස්ක්රිප්ට් 5 සඳහා ශ්රිතයක් ලියන්න. අරමුණ: සාප්පු කරත්තයක ඇති මුළු අයිතම ප්රමාණය ගණනය කරන්න. ආදානය: {මිල: සංඛ්යාව, ප්රමාණය: අංකය [] අරාව. ප්රතිදානය: සංඛ්යාව (මුළු) රීති: ප්රමාණය හෝ මිල සෘණ නම්, දෝෂය විසි කරන්න; වටය 0 ට ප්රමාණය හෝ මිල සෘණ නම්, දශම අගය සඳහා වටය භාවිතා කරන්න. පුස්තකාලය ශ්රිතයට පහළින් පරීක්ෂණ අවස්ථා 5ක් එක් කරන්න (සාමාන්ය, හිස්, සෘණ ප්රමාණය, දශම මිල, තනි අයිතමය).”
AI යුගලයක් ලෙස මෙහෙයවීම
යුගල වැඩසටහන්කරණයේ හොඳ ප්රගතියක් යනු එක් විශාල ඉල්ලීමකට වඩා සංවාදයකි. පළමුව, ඇටසැකිල්ල ඉල්ලා එය ක්රියාත්මක කරන්න; ඉන්පසු දාර තත්වයක් එක් කරන්න; පසුව දෝෂයක් නිවැරදි කර ගන්න. මෙම ප්රවේශය කේතය තේරුම් ගත හැකි වන අතර සෑම පියවරකදීම ඔබව පාලනය කරයි.
වර්ධක ප්රගති විමසුම: "අපි CSV ගොනුවක් කියවා රේඛා වස්තුවක් බවට පරිවර්තනය කරන පාඨකයක් ලියන්නෙමු. අපි පියවරෙන් පියවර යමු, මම සෑම පියවරක්ම තහවුරු නොකර ඊළඟ පියවරට යමු. පියවර 1: ගොනුව පේළිවලට බෙදන සහ ශීර්ෂ රේඛාව වෙන් කරන ඇටසැකිල්ල ලියන්න. කෙටි ටයිප් කිරීමේ දෝශයක් තවම එක් නොකරන්න, එය කෙටියෙන් ටයිප් කරන්න, පරිවර්තනය පැහැදිලි කරන්න."
කේත විමසුම පැහැදිලි කර සාධාරණීකරණය කරන්න: "ඔබ දැන් ලියා ඇති කාර්යය පේළියෙන් නොව, තීරණය මගින් පැහැදිලි කරන්න: ඔබ ගත් සැලසුම් තීරණය සහ ඇයි, කුමන දාර නඩුව ඔබ හසුරුවා ගත්තේද සහ කෙසේද, ඔබ හිතාමතාම බැහැර කළේ කෙසේද? මා අතපසු නොකළ යුතු කේතයේ උපකල්පන 3ක් ලැයිස්තුගත කරන්න."
ඉඟිය: AI-ජනනය කරන ලද කේතය තේරුම් නොගෙන එය පිළිගන්න එපා. "මට මෙය පැහැදිලි කරන්න, ඔබ කළ උපකල්පන මොනවාද?" ප්රශ්නය දෙකම සැඟවුණු දෝෂ හෙළි කරන අතර කේතය ඔබේ වගකීම ලෙස පවතින බැවින් එම කේතය ආරක්ෂා කිරීමට ඔබට ඉඩ සලසයි. ඔබට නොතේරෙන කේතයක් නිෂ්පාදනයට දැමීම කොන්ත්රාත්තුවක් අත්සන් නොකර යැවීමක් වැනිය.
දුර්වල ක්ෂණික / ශක්තිමත් ක්ෂණික
දුර්වල:"වර්ග කිරීමේ ශ්රිතයක් ලියන්න."(ප්රතිඵලය: කුමන භාෂාවද, අනුපිළිවෙළට සකසන්නේද, එය ස්ථායීද, කාර්ය සාධන සීමාව කුමක්ද, නොපැහැදිලි සහ අවශ්යතාවයට නොගැලපෙන කේතය.)STRONG:"Java 17 සඳහා, ලැයිස්තුවක්<සේවක> වස්තුවක් ප්රථමයෙන් දෙපාර්තමේන්තු අනුව (අකාරාදිය අනුව) (අකාරාදියට අනුව) අවසන් කරන ක්රමයක් ලියන්න. ලැයිස්තුව, නව ලැයිස්තුව ආපසු දෙන්න, විවරණ රේඛාවේ ඇති ක්රමයේ සංකීර්ණත්වය 4 සාම්පල එක් කරන්න.
බලවත් ක්ෂණික; වර්ග කිරීමේ නිර්ණායක (ද්වි-මට්ටම්), අතුරු ආබාධ රීතිය (මුල් පිටපත ප්රතිස්ථාපනය කිරීම), ශුන්ය හැසිරීම සහ පරීක්ෂණ අපේක්ෂාව ඇතුළත් වේ. මෙම විස්තර නොමැතිව, AI පිළිගත හැකි නමුත් වැරදි විසඳුමක් නිපදවයි; උදාහරණයක් ලෙස එය මුල් ලැයිස්තුව දූෂිත විය හැකි අතර මෙය වෙනත් තැනක නිහඬ දෝෂයකට තුඩු දෙනු ඇත.
එජ් කේස් සහ කුඩා සාම්පල සමඟ වලංගු කිරීම
සතුටු අවස්ථාවෙහි ක්රියා කරන කේතය නිවැරදි කේතය නොවේ. නිපදවන සෑම කාර්යයක්ම සවිඥානිකව බල කරන්න:
එජ් කේස් වර්ගය
නියැදි ආදානය
අපේක්ෂිත හැසිරීම
හිස් ආදානය
හිස් array/string
දෝෂයක් නොවේ, තාර්කික හිස් ප්රතිඵලයකි
ශුන්ය/සෘණ
0, -1
නිර්වචනය කළ සහ නිවැරදි හැසිරීම
විශාල වටිනාකමක්
වාර්තා මිලියන ගණනක්
පිටාර ගැලීම / කාර්ය සාධන පාලනය
null/defined
අවකාශය අතුරුදහන්
පාලිත දෝෂය හෝ පෙරනිමිය
අනුපිටපත්/අසාමාන්ය
පුනරාවර්තන, ප්රතිලෝම අනුපිළිවෙල
නිවැරදි ප්රතිඵලය
කුඩා නඩු
නඩුව 1 - නිශ්ශබ්ද වටකුරු දෝෂයකි. AI දශම (float) වර්ග සමඟ මුදල් එකතු කරන ශ්රිතයක් ලියයි; 0.1 + 0.2 0.30000000000000004 ලබා දෙයි. ඉංජිනේරුවරයා "අංක 2 ට වට කර සම්පූර්ණ සතයක් භාවිතා කරන්න" යන රීතිය එකතු කළ විට දෝෂය විසඳේ. පේළි 3 ක රීතියක් මාසික සංහිඳියාව තුළ සත දහස් ගණනක විචලනය වළක්වයි.
නඩුව 2 - අතුරු ආබාධ උගුල. AI විසින් ලැයිස්තුවක් "වර්ග කරන" ක්රමයක් ලියන නමුත් මුල් ලැයිස්තුව එම ස්ථානයේම වෙනස් කරයි. වෙනත් මොඩියුලයක් එම ලැයිස්තුවම භාවිතා කරන නිසා අනපේක්ෂිත හැසිරීමක් සිදු වේ. "මුල් වෙනස් කරන්න" බාධාව විමසුමේ තිබුනේ නම්, දෝෂය කිසිදා සිදු නොවනු ඇත; කේත සමාලෝචනයට හසු වී පැය 2ක් දෝෂහරණය කිරීම වළක්වයි.
3 වන අවස්ථාව - පියවරෙන් පියවර ඉපැයීම්. සංවර්ධකයෙකු එකවර රේඛා 150 ආනයන මොඩියුලයක් මුද්රණය කරයි; වරදක් සොයාගත් විට එය සිදුවූයේ කොහෙන්දැයි ඔහුට සොයාගත නොහැක. තවත් සංවර්ධකයෙක් එකම කාර්යය කුඩා පියවර 5 කට බෙදා, සෑම පියවරක්ම මිනිත්තු 2 කින් පරීක්ෂා කර 3 වන පියවරේදී දෝෂය වහාම අල්ලා ගනී.
පොදු වැරදි
- එක් ඉල්ලීමක් තුළ විශාල කුට්ටි මුද්රණය කිරීම. තේරුම් ගැනීමට අපහසු සහ දෝශ නිරාකරණය කිරීමේ අවදානම් කේතය උපත ලබයි.
- කොන්ත්රාත්තුවක් දෙන්නේ නැතිව කෝඩ් එකක් ඉල්ලනවා. ආදාන-ප්රතිදාන-දෝෂය අපැහැදිලි නම්, AI අනුමාන කර වැරදියි.
- ප්රීතිමත් අවස්ථාව පරීක්ෂා කිරීම පමණි. හිස්, ශුන්ය, සෘණ සහ විශාල ආදානය උත්සාහ නොකරන්නේ නම්, දෝෂය නිෂ්පාදනයට ඉතිරි වේ.
- අවබෝධයකින් තොරව පිළිගන්නවා. ඔබ හෙළි නොකරන කේතය ඔබට ආරක්ෂා කළ නොහැකි ණයකි.
- අතුරු ආබාධ සහ මුදල්/දිනය වැනි සංවේදී වර්ග නොසලකා හැරීම. කාලානුරූප ඉතිහාසයක් සහිත පාවෙන මුදල් දෝෂයේ සම්භාව්ය මූලාශ්රයකි.
සාරාංශයක් ලෙස
AI සමඟින් කේතය ලිවීම විනයගරුක යුගල ක්රමලේඛනයකි: පැහැදිලි කොන්ත්රාත්තුවක්, කුඩා පියවරක්, එක් එක් පියවරේදී ගොඩනැගීම සහ පරීක්ෂා කරන්න. ආරම්භයේ සිට ආදාන-ප්රතිදාන-දෝෂ-බාධක හතරක් ලබා දීම කේතයේ ගුණාත්මක භාවය තීරණය කරයි. එය නිපදවන කේතය පැහැදිලි කිරීම සහ එජ් කේස් සමඟ බල කිරීම ප්රීතිමත් වාතාවරණය යටතේ සැඟවුණු දෝෂ මතුපිටට ගෙන එයි. වේගයේ මූලාශ්රය අන්ධ පිළිගැනීම නොවේ; ඉක්මන් කෙටුම්පත සහ ඉක්මන් සත්යාපනය වේ.
යෙදුම් කාර්යය
කුඩා නමුත් සැබෑ ශ්රිතයක් තෝරන්න (උදා: බාස්කට් එකතුව, දින වෙනස, පෙළ විග්රහ කිරීම). ගිවිසුම්ගත ක්රියාකාරී විමසුම භාවිතයෙන් මුද්රණය කරන්න; ඊට යාබදව අවම වශයෙන් පරීක්ෂණ අවස්ථා 5ක් වත් එක් කරන්න. කේතය ක්රියාත්මක කර, වගුව මාර්ගෝපදේශයක් ලෙස භාවිතා කරමින්, දැනුවත්ව, දාර අවස්ථා 5ක් උත්සාහ කරන්න. අවම වශයෙන් එක් දාර නඩුවක දෝෂයක් සොයා ගන්න (එසේ නොවේ නම්, ශ්රිතයට බල කිරීමට නව ආදානයක් සැලසුම් කරන්න), AI සමඟ එය නිවැරදි කරන්න, සහ නිවැරදි කිරීම ක්රියාත්මක වූ බව නැවත පරීක්ෂා කිරීමෙන් තහවුරු කරන්න.
පිරික්සුම් ලැයිස්තුව
- [ ] මම ආදානය, ප්රතිදානය, දෝෂ සහ සීමා කිරීම් ඇතුළත් ගිවිසුමක් ලිව්වෙමි.
- [ ] මම එක් විශාල බ්ලොක් එකක් වෙනුවට කුඩා පියවර වලින් කේතය ජනනය කළෙමි.
- [ ] මම කේතය අසල පරීක්ෂණ/නියැදි ධාවන වාරණයක් එක් කළෙමි.
- [ ] මම දැනුවත්ව අවම වශයෙන් දාර අවස්ථා 5ක් පරීක්ෂා කර ඇත.
- [ ] මම AI වෙත කේතය පැහැදිලි කර එහි උපකල්පන සමාලෝචනය කළෙමි.
- [ ] මම සොයාගත් දෝෂය නිවැරදි කර නැවත පරීක්ෂා කිරීමෙන් නිවැරදි කිරීම තහවුරු කළෙමි.