அலகுகள்
1. கணினிப் பொறியியலில் செயற்கை நுண்ணறிவு மற்றும் சரிபார்ப்புத் துறையின் அறிமுகம் 2. தேவைகள் பகுப்பாய்வு மற்றும் மென்பொருள் வடிவமைப்பு 3. AI உடன் கோடிங் மற்றும் ஜோடி நிரலாக்கம் 4. குறியீடு மதிப்பாய்வு, மறுசீரமைப்பு மற்றும் தொழில்நுட்ப கடன் 5. பிழைத்திருத்தம் மற்றும் சரிசெய்தல் 6. சோதனை ஆட்டோமேஷன் மற்றும் தர உத்தரவாதம் 7. தரவு கட்டமைப்புகள், அல்காரிதம்கள் மற்றும் செயல்திறன் 8. தரவுத்தளம், SQL மற்றும் தரவு மாடலிங் 9. ஏபிஐ, சிஸ்டம் ஆர்கிடெக்சர் மற்றும் கிளவுட் 10. பாதுகாப்பான குறியீடு, அச்சுறுத்தல் மாடலிங் மற்றும் பாதிப்பு பகுப்பாய்வு 11. ஆவணப்படுத்தல், DevOps மற்றும் CI/CD ஆட்டோமேஷன் 12. எல்லைகள்: பாதுகாப்பு, தனியுரிமை, உரிமம் மற்றும் நெறிமுறைகள்
அலகு 3 / 12

AI உடன் கோடிங் மற்றும் ஜோடி நிரலாக்கம்

ஆதாயங்கள்:

  • தெளிவான உள்ளீடு-வெளியீடு மற்றும் கட்டுப்பாடு வரையறைகளுடன் AIக்கு செயல்பாடுகள், வகுப்புகள் மற்றும் தொகுதிகளை எழுதும் திறன்
  • ஒரு ஜோடி நிரலாக்க கூட்டாளராக AI ஐப் பயன்படுத்தும் திறன் மற்றும் சிறிய, சரிபார்க்கக்கூடிய பகுதிகளாக படிப்படியாக முன்னேறும் திறன்
  • AI ஆல் உருவாக்கப்பட்ட குறியீட்டைத் தொகுத்து சிறிய எடுத்துக்காட்டுகளுடன் இயக்குவதன் மூலம் லாஜிக் மற்றும் எட்ஜ் கேஸ் பிழைகளைப் பிடிக்கும் திறன்

ஜோடி நிரலாக்கம் என்பது இரண்டு டெவலப்பர்கள் ஒரே பிரச்சனையில் பணிபுரிவது, ஒருவர் எழுதுவது மற்றும் மற்றவர் திருத்துவது. AI உடன் குறியீட்டு முறை இந்த உறவின் டிஜிட்டல் பதிப்பாகும்: நீங்கள் திசை, கட்டுப்பாடுகள் மற்றும் ஏற்றுக்கொள்ளும் அளவுகோல்களை அமைக்கிறீர்கள்; AI விரைவான வரைவை உருவாக்குகிறது; ஒவ்வொரு அடியையும் தொகுத்து சோதனை செய்வதன் மூலம் சரிபார்க்கிறீர்கள். இங்குள்ள மிகப்பெரிய பொறி என்னவென்றால், AI யிடம் “இந்த பயன்பாட்டை தொடக்கத்தில் இருந்து முடிக்க எனக்கு எழுதுங்கள்” மற்றும் 200-வரித் தொகுதியை கண்மூடித்தனமாக ஏற்றுக்கொள்வது. நல்ல ஜோடி நிரலாக்கமானது சிறிய படிகளில் தொடர்கிறது: ஒவ்வொரு அடியும் புரிந்துகொள்ளக்கூடியதாகவும், சோதிக்கக்கூடியதாகவும் மற்றும் மீளக்கூடியதாகவும் இருக்க வேண்டும்.

தெளிவான உள்ளீடு-வெளியீட்டு ஒப்பந்தத்துடன் செயல்பாடுகள், வகுப்புகள் மற்றும் தொகுதிகளை எவ்வாறு அச்சிடுவது என்பதை இந்த யூனிட்டில் நீங்கள் கற்றுக் கொள்வீர்கள்; AI-ஐ எவ்வாறு படிப்படியாக வழிநடத்துவது; சிறிய எடுத்துக்காட்டுகளுடன் அது உருவாக்கும் குறியீட்டை இயக்குவதன் மூலம் லாஜிக் மற்றும் எட்ஜ் கேஸ் பிழைகளை எப்படிப் பிடிப்பது என்று பார்ப்போம். இலக்கு வேகம் அல்ல, ஆனால் சரிபார்க்கப்பட்ட வேகம்.

கருத்துகள்: உள்ளீடு-வெளியீட்டு ஒப்பந்தம்: ஒரு செயல்பாடு என்ன உள்ளீடு எடுக்கும் மற்றும் என்ன வெளியீடு மற்றும் பிழை நடத்தை உறுதியளிக்கிறது என்பதற்கான தெளிவான வரையறை. எட்ஜ் கேஸ்: உள்ளீடு சாதாரணமானது அல்ல ஆனால் உண்மையில் நிகழக்கூடியது (வெற்று, பூஜ்யம், எதிர்மறை, மிகப் பெரியது, பூஜ்யம்). அதிகரிக்கும் மேம்பாடு: சிறிய, வேலை செய்யும் பகுதிகளுடன் தொடர்வது மற்றும் ஒவ்வொரு அடியையும் சரிபார்த்தல்.

நிகர ஒப்பந்தத்துடன் அச்சிடுதல் குறியீடு

தரக் குறியீட்டின் அடிப்படையானது வேலையைத் தொடங்குவதற்கு முன் "உங்களுக்கு என்ன வேண்டும்" என்பதை சரியாக வரையறுப்பதாகும். AIக்கு ஒரு செயல்பாட்டை எழுதும் போது, ​​அதற்கு ஐந்து விஷயங்களைக் கொடுங்கள்: மொழி மற்றும் பதிப்பு, உள்ளீட்டு வகைகள் மற்றும் அர்த்தங்கள், வெளியீடு, பிழை நிலைமைகள் மற்றும் கட்டுப்பாடுகள் (செயல்திறன், வெளிப்புற நூலகத் தடை, நடை). இது AI ஐ யூகிப்பதைத் தடுக்கிறது.

  1. ஒப்பந்தத்தை எழுதுங்கள். உள்ளீடு, வெளியீடு, பிழை, கட்டுப்பாடு.
  2. ஒரு சிறிய அலகு கேட்கவும். ஒரே பொறுப்புடன் கூடிய செயல்பாடு; இது ஒரு பெரிய தொகுதி அல்ல.
  3. சோதனைத் தொகுதியைக் கோரவும். குறியீட்டிற்கு அடுத்ததாக சில மாதிரி ரன்கள்/சோதனைகளைச் சேர்க்கவும்.
  4. தொகுத்து இயக்கவும். விளிம்பு நிலைகளில் இதை முயற்சிக்கவும், வெளியீட்டை கண் மூலம் சரிபார்க்கவும்.
  5. அடுத்த படிக்குச் செல்லவும். ஒரு துண்டு உறுதிப்படுத்தப்பட்டவுடன், அதை உருவாக்கவும்.

ஒப்பந்தம் செய்யப்பட்ட செயல்பாட்டுத் தூண்டுதல்: "டைப்ஸ்கிரிப்ட் 5 க்கு ஒரு செயல்பாட்டை எழுதவும். நோக்கம்: ஒரு வணிக வண்டியில் உள்ள பொருட்களின் மொத்த அளவைக் கணக்கிடவும். உள்ளீடு: {விலை: எண், அளவு: எண் [] வரிசை. வெளியீடு: எண் (மொத்தம்) வரிசை. வெளியீடு: எண் (மொத்தம்). விதிகள்: அளவு அல்லது விலை எதிர்மறையாக இருந்தால் பிழை; டெசிமால் வரிசைக்கு 0 ஐப் பயன்படுத்தவும் லைப்ரரி செயல்பாட்டிற்கு கீழே 5 சோதனை வழக்குகளைச் சேர்க்கவும் (சாதாரண, வெற்று, எதிர்மறை அளவு, தசம விலை, ஒற்றை உருப்படி).

AI ஐ ஒரு ஜோடியாக வழிநடத்துகிறது

ஜோடி நிரலாக்கத்தில் நல்ல முன்னேற்றம் என்பது ஒரு பெரிய கோரிக்கையை விட ஒரு உரையாடலாகும். முதலில், எலும்புக்கூட்டைக் கேட்டு அதை இயக்கவும்; பின்னர் ஒரு விளிம்பு நிலையைச் சேர்க்கவும்; பின்னர் ஒரு பிழையை சரிசெய்யவும். இந்த அணுகுமுறை குறியீட்டை புரிந்துகொள்ளக்கூடியதாக வைத்திருக்கிறது மற்றும் ஒவ்வொரு அடியிலும் உங்கள் கட்டுப்பாட்டில் வைக்கிறது.

அதிகரிக்கும் முன்னேற்றத் தூண்டுதல்: "CSV கோப்பைப் படித்து, வரிகளை ஒரு பொருளாக மாற்றும் ஒரு ரீடரை எழுதுவோம். ஒவ்வொரு படிநிலையையும் நான் உறுதிப்படுத்தாமல் அடுத்த படிக்குச் செல்வோம். படி 1: கோப்பினை வரிகளாகப் பிரித்து, தலைப்புக் கோட்டைப் பிரிக்கும் எலும்புக்கூட்டை எழுதவும். அதைச் சுருக்கமாக எழுதவும், மாற்றும் பிழையைச் சேர்க்கவும்."

குறியீட்டு வரியில் விளக்கவும், நியாயப்படுத்தவும்: "நீங்கள் இப்போது எழுதிய செயல்பாட்டை வரிக்கு வரி அல்ல, ஆனால் முடிவின் மூலம் விளக்குங்கள்: நீங்கள் எந்த வடிவமைப்பு முடிவை எடுத்தீர்கள், ஏன், எந்த விளிம்பு வழக்கை நீங்கள் கையாண்டீர்கள் மற்றும் எப்படி, எந்த வழக்குகளை நீங்கள் வேண்டுமென்றே விலக்கினீர்கள்? குறியீட்டில் 3 அனுமானங்களைப் பட்டியலிடுங்கள், நான் தவறவிடக்கூடாது."

உதவிக்குறிப்பு: AI-உருவாக்கிய குறியீட்டைப் புரிந்து கொள்ளாமல் அதை ஏற்க வேண்டாம். "இதை எனக்கு விளக்குங்கள், நீங்கள் என்ன அனுமானங்களைச் செய்தீர்கள்?" கேள்வி இரண்டும் மறைக்கப்பட்ட பிழைகளை வெளிப்படுத்துகிறது மற்றும் குறியீட்டைப் பாதுகாக்க உங்களை அனுமதிக்கிறது, ஏனெனில் குறியீடு உங்கள் பொறுப்பாகவே உள்ளது. உங்களுக்கு புரியாத குறியீட்டை தயாரிப்பில் வைப்பது, ஒப்பந்தத்தில் கையெழுத்திடாமல் அனுப்புவது போன்றது.

பலவீனமான ப்ராம்ட் / ஸ்ட்ராங் ப்ராம்ட்

பலவீனம்:"வரிசைப்படுத்தும் செயல்பாட்டை எழுதவும்."(முடிவு: எந்த மொழி, என்ன வரிசைப்படுத்தப்படுகிறது, அது நிலையானதா, செயல்திறன் கட்டுப்பாடு என்ன, தெளிவற்ற மற்றும் தேவைக்கு பொருந்தாத குறியீடு.)STRONG:"ஜாவா 17 க்கு, ஒரு பட்டியலை வரிசைப்படுத்தும் முறையை எழுதுங்கள்<பணியாளர்> பொருளை முதலில் துறை வாரியாக எழுதவும் (எழுத்துப்படி அசல்) பட்டியல், null துறையை கடைசியாக வரட்டும்.

சக்திவாய்ந்த உடனடி; வரிசையாக்க அளவுகோல் (இரண்டு-நிலை), பக்க விளைவு விதி (அசல் பதிலாக), பூஜ்ய நடத்தை மற்றும் சோதனை எதிர்பார்ப்பு ஆகியவை அடங்கும். இந்த விவரங்கள் இல்லாமல், AI ஒரு நம்பத்தகுந்த ஆனால் தவறான தீர்வை உருவாக்குகிறது; எடுத்துக்காட்டாக, இது அசல் பட்டியலை சிதைக்கக்கூடும், மேலும் இது மற்ற இடங்களில் அமைதியான பிழைக்கு வழிவகுக்கும்.

எட்ஜ் கேஸ்கள் மற்றும் சிறிய மாதிரிகள் மூலம் சரிபார்ப்பு

மகிழ்ச்சியான சூழ்நிலையில் செயல்படும் குறியீடு சரியான குறியீடு அல்ல. உற்பத்தி செய்யப்படும் ஒவ்வொரு செயல்பாட்டையும் உணர்வுபூர்வமாக கட்டாயப்படுத்தவும்:

எட்ஜ் கேஸ் வகை

மாதிரி உள்ளீடு

எதிர்பார்க்கப்படும் நடத்தை

வெற்று உள்ளீடு

வெற்று வரிசை/சரம்

பிழையல்ல, தர்க்கரீதியான வெற்று முடிவு

பூஜ்யம்/எதிர்மறை

0, -1

வரையறுக்கப்பட்ட மற்றும் சரியான நடத்தை

பெரிய மதிப்பு

மில்லியன் கணக்கான பதிவுகள்

வழிதல்/செயல்திறன் கட்டுப்பாடு

பூஜ்ய / வரையறுக்கப்படாத

இடம் இல்லை

கட்டுப்படுத்தப்பட்ட பிழை அல்லது இயல்புநிலை

நகல்/அசாதாரண

மீண்டும் மீண்டும், தலைகீழ் வரிசை

சரியான முடிவு

மினி வழக்குகள்

வழக்கு 1 - சைலண்ட் ரவுண்டிங் பிழை. தசம (ஃப்ளோட்) வகைகளுடன் பணத்தை சேகரிக்கும் செயல்பாட்டை AI எழுதுகிறது; 0.1 + 0.2 0.30000000000000004 ஐ வழங்குகிறது. பொறியாளர் "2 இலக்கங்களுக்குச் சுற்று மற்றும் முழு சில்லறைகளைப் பயன்படுத்தவும்" என்ற விதியைச் சேர்க்கும்போது பிழை தீர்க்கப்படுகிறது. 3-வரி விதியானது மாதாந்திர நல்லிணக்கத்தில் ஆயிரக்கணக்கான சில்லறைகள் மாறுபாடுகளைத் தடுக்கிறது.

வழக்கு 2 - பக்க விளைவு பொறி. AI ஒரு பட்டியலை "வரிசைப்படுத்தும்" ஒரு முறையை எழுதுகிறது, ஆனால் அசல் பட்டியலை மாற்றுகிறது. மற்றொரு தொகுதி அதே பட்டியலைப் பயன்படுத்துவதால் எதிர்பாராத நடத்தை ஏற்படுகிறது. "அசல் மாற்ற" கட்டுப்பாடு வரியில் இருந்தால், பிழை ஏற்படாது; குறியீடு மதிப்பாய்வில் சிக்கி 2 மணிநேர பிழைத்திருத்தத்தைத் தடுக்கிறது.

வழக்கு 3 - வருமானம் படிப்படியாக. ஒரு டெவலப்பர் ஒரே நேரத்தில் 150 வரி இறக்குமதி தொகுதியை அச்சிடுகிறார்; அவர் ஒரு தவறைக் கண்டறிந்தால், அது எங்கிருந்து வந்தது என்பதைக் கண்டுபிடிக்க முடியாது. மற்றொரு டெவலப்பர் அதே வேலையை 5 சிறிய படிகளாகப் பிரித்து, ஒவ்வொரு அடியையும் 2 நிமிடங்களில் சோதித்து, 3வது படியில் உடனடியாகப் பிழையைப் பிடிக்கிறார்.

பொதுவான தவறுகள்

  • ஒரு கோரிக்கையில் பெரிய தொகுதிகளை அச்சிடுதல். புரிந்துகொள்வது மற்றும் பிழைத்திருத்தம் செய்வது கடினம் என்று ஆபத்தான குறியீடு பிறக்கிறது.
  • ஒப்பந்தம் கொடுக்காமல் குறியீடு கேட்பது. உள்ளீடு-வெளியீடு-பிழை தெளிவற்றதாக இருந்தால், AI யூகித்து தவறாக இருக்கும்.
  • மகிழ்ச்சியான சூழ்நிலையை சோதிக்கிறேன். வெற்று, பூஜ்ய, எதிர்மறை மற்றும் பெரிய உள்ளீடு முயற்சிக்கப்படாவிட்டால், பிழை உற்பத்திக்கு விடப்படும்.
  • புரியாமல் ஏற்றுக்கொள்வது. நீங்கள் வெளிப்படுத்தாத குறியீடு நீங்கள் பாதுகாக்க முடியாத கடனாகும்.
  • பக்க விளைவுகள் மற்றும் பணம்/தேதி போன்ற முக்கியமான வகைகளைப் புறக்கணித்தல். காலமற்ற வரலாற்றைக் கொண்ட ஃப்ளோட் பணம் என்பது பிழையின் உன்னதமான ஆதாரமாகும்.

சுருக்கமாக

AI உடன் குறியீட்டை எழுதுவது ஒழுங்குபடுத்தப்பட்ட ஜோடி நிரலாக்கமாகும்: தெளிவான ஒப்பந்தம், சிறிய படிகள், ஒவ்வொரு படியிலும் உருவாக்க மற்றும் சோதனை. தொடக்கத்திலிருந்தே உள்ளீடு-வெளியீடு-பிழை-கட்டுப்பாடு நால்வர் வழங்குவது குறியீட்டின் தரத்தை தீர்மானிக்கிறது. அது உருவாக்கும் குறியீட்டை விளக்கி, விளிம்பு நிலைகளுடன் கட்டாயப்படுத்துவது மகிழ்ச்சியான சூழ்நிலையில் மறைந்திருக்கும் பிழைகளை மேற்பரப்பிற்குக் கொண்டுவருகிறது. வேகத்தின் ஆதாரம் குருட்டுத்தனமாக ஏற்றுக்கொள்வது அல்ல; விரைவான வரைவு மற்றும் விரைவான சரிபார்ப்பு.

விண்ணப்ப பணி

சிறிய ஆனால் உண்மையான செயல்பாட்டைத் தேர்ந்தெடுக்கவும் (எ.கா. கூடை மொத்த, தேதி வேறுபாடு, உரை பாகுபடுத்தல்). ஒப்பந்தம் செய்யப்பட்ட செயல்பாடு வரியில் பயன்படுத்தி அச்சிட; அதற்கு அடுத்ததாக குறைந்தது 5 சோதனைக் காட்சிகளைச் சேர்க்கவும். குறியீட்டை இயக்கி, அட்டவணையை வழிகாட்டியாகப் பயன்படுத்தி, 5 எட்ஜ் கேஸ்களை உணர்வுப்பூர்வமாக முயற்சிக்கவும். குறைந்தபட்சம் ஒரு விளிம்பில் பிழையைக் கண்டறியவும் (இல்லையென்றால், செயல்பாட்டை கட்டாயப்படுத்த புதிய உள்ளீட்டை வடிவமைக்கவும்), அதை AI மூலம் சரிசெய்து, சரிசெய்தல் வேலை செய்ததா என்பதை மீண்டும் சரிபார்க்கவும்.

சரிபார்ப்பு பட்டியல்

  • [ ] உள்ளீடு, வெளியீடு, பிழைகள் மற்றும் கட்டுப்பாடுகளை உள்ளடக்கிய ஒரு ஒப்பந்தத்தை எழுதினேன்.
  • [ ] ஒரு பெரிய தொகுதிக்கு பதிலாக சிறிய படிகளில் குறியீட்டை உருவாக்கினேன்.
  • [ ] குறியீட்டிற்கு அடுத்ததாக ஒரு சோதனை/மாதிரி ஓட்டத் தொகுதியைச் சேர்த்துள்ளேன்.
  • [ ] நான் உணர்வுபூர்வமாக குறைந்தது 5 விளிம்பு வழக்குகளை சோதித்துள்ளேன்.
  • [ ] நான் AI க்கு குறியீட்டை விளக்கி அதன் அனுமானங்களை மதிப்பாய்வு செய்தேன்.
  • [ ] கண்டறியப்பட்ட பிழையை நான் சரிசெய்தேன் மற்றும் மறுபரிசீலனை செய்வதன் மூலம் திருத்தத்தை உறுதி செய்தேன்.