ចម្លើយខ្លី៖ កូដដែលមានជំនួយពី AI ជារឿយៗត្រូវបានអានថាមានសណ្តាប់ធ្នាប់មិនធម្មតា និងជា "សៀវភៅសិក្សា"៖ ការធ្វើទ្រង់ទ្រាយដែលស៊ីសង្វាក់គ្នា ការដាក់ឈ្មោះទូទៅ សារកំហុសគួរសម និងមតិយោបល់ដែលបញ្ជាក់ឡើងវិញនូវអ្វីដែលជាក់ស្តែង។ ប្រសិនបើវាបាត់ភាពរឹងមាំក្នុងពិភពពិត - ភាសាដែន ការរឹតបន្តឹងឆ្គង ករណីគែម - វាជាសញ្ញាព្រមាន។ នៅពេលដែលអ្នកភ្ជាប់វានៅក្នុងលំនាំ repo របស់អ្នក ហើយសាកល្បងវាប្រឆាំងនឹងហានិភ័យផលិតកម្ម វាក្លាយជាគួរឱ្យទុកចិត្ត។
ចំណុចសំខាន់ៗ៖
ការត្រួតពិនិត្យបរិបទ៖ ប្រសិនបើពាក្យដូមេន រូបរាងទិន្នន័យ និងការរឹតបន្តឹងមិនត្រូវបានឆ្លុះបញ្ចាំងទេ សូមចាត់ទុកវាថាមានហានិភ័យ។
ការប៉ូលាខ្លាំងពេក៖ ឯកសារច្រើនហួសហេតុ រចនាសម្ព័ន្ធឯកសណ្ឋាន និងឈ្មោះសាមញ្ញៗអាចជាសញ្ញានៃការបង្កើតទូទៅ។
វិន័យកំហុស៖ ប្រយ័ត្នចំពោះការចាប់បានករណីលើកលែងទូលំទូលាយ ការបរាជ័យដែលបានលេបត្របាក់ និងការកត់ត្រាមិនច្បាស់លាស់។
ការកាត់បន្ថយអរូបី៖ លុបជំនួយ និងស្រទាប់ដែលអាចស្មានទុកបាន រហូតដល់មានតែកំណែត្រឹមត្រូវតូចបំផុតប៉ុណ្ណោះដែលនៅសល់។
ការធ្វើតេស្តភាពពិត៖ បន្ថែមការធ្វើតេស្តសមាហរណកម្ម និងការធ្វើតេស្តគែមករណី; ពួកវាលាតត្រដាងការសន្មត់ "ពិភពលោកស្អាត" យ៉ាងឆាប់រហ័ស។

ការសរសេរកូដដែលមានជំនួយពី AI មាននៅគ្រប់ទីកន្លែងឥឡូវនេះ (ការស្ទង់មតិអ្នកអភិវឌ្ឍន៍ Stack Overflow ឆ្នាំ ២០២៥; GitHub Octoverse (ថ្ងៃទី ២៨ ខែតុលា ឆ្នាំ ២០២៥))។ ពេលខ្លះវាអស្ចារ្យណាស់ ហើយជួយសន្សំសំចៃពេលវេលារបស់អ្នកមួយរសៀល។ ពេលខ្លះទៀតវា… ប៉ូលាគួរឱ្យសង្ស័យ ទូទៅបន្តិច ឬវា "ដំណើរការ" រហូតដល់នរណាម្នាក់ចុចប៊ូតុងមួយដែលគ្មាននរណាម្នាក់សាកល្បង 🙃។ នោះនាំឱ្យមានសំណួរដែលមនុស្សបន្តលើកឡើងនៅក្នុងការពិនិត្យកូដ ការសម្ភាសន៍ និងការផ្ញើសារឯកជន៖
កូដ AI មានទំនោរមើលទៅដូចអ្វី
ចម្លើយត្រង់ៗគឺ៖ វាអាចមើលទៅដូចអ្វីក៏បាន។ ប៉ុន្តែមានលំនាំ - សញ្ញាទន់ៗ មិនមែនភស្តុតាងក្នុងតុលាការទេ។ សូមគិតថាវាដូចជាការទាយថាតើនំមួយមកពីហាងនំប៉័ង ឬផ្ទះបាយរបស់នរណាម្នាក់។ ការលាបក្រែមអាចនឹងល្អឥតខ្ចោះពេក ប៉ុន្តែអ្នកដុតនំនៅផ្ទះខ្លះក៏ល្អខ្លាំងណាស់ដែរ។ អារម្មណ៍ដូចគ្នា។.
ខាងក្រោមនេះគឺជាការណែនាំជាក់ស្តែងសម្រាប់ការសម្គាល់ស្នាមម្រាមដៃ AI ទូទៅ ការយល់ដឹងពីមូលហេតុដែលវាកើតឡើង និង - សំខាន់ - របៀបប្រែក្លាយកូដដែលបង្កើតដោយ AI ទៅជាកូដដែលអ្នកទុកចិត្តក្នុងផលិតកម្ម ✅។.
🔗 តើ AI ព្យាករណ៍និន្នាការយ៉ាងដូចម្តេច?
ពន្យល់ពីការរៀនគំរូ សញ្ញា និងការព្យាករណ៍ក្នុងការប្រើប្រាស់ជាក់ស្តែង។.
🔗 តើ AI រកឃើញភាពមិនប្រក្រតីយ៉ាងដូចម្តេច?
គ្របដណ្តប់លើវិធីសាស្ត្ររកឃើញចំណុចខ្វះខាត និងកម្មវិធីអាជីវកម្មទូទៅ។.
🔗 តើ AI ប្រើទឹកប៉ុន្មាន?
វិភាគផលប៉ះពាល់នៃការប្រើប្រាស់ទឹក និងការបណ្តុះបណ្តាលនៅមជ្ឈមណ្ឌលទិន្នន័យ។.
🔗 តើ AI លំអៀងគឺជាអ្វី?
កំណត់ប្រភពនៃការលំអៀង គ្រោះថ្នាក់ និងវិធីជាក់ស្តែងដើម្បីកាត់បន្ថយវា។.
១) ទីមួយ តើមនុស្សចង់មានន័យយ៉ាងណានៅពេលពួកគេនិយាយថា "កូដ AI" 🤔
នៅពេលដែលមនុស្សភាគច្រើននិយាយថា "កូដ AI" ពួកគេច្រើនតែមានន័យថាមួយក្នុងចំណោមទាំងនេះ៖
-
កូដដែលព្រាងដោយជំនួយការ AI ពីប្រអប់បញ្ចូលទិន្នន័យ (មុខងារ ការកែកំហុស ការកែសម្រួល)។
-
កូដត្រូវបានបំពេញដោយ autocomplete យ៉ាងច្រើនដែលអ្នកអភិវឌ្ឍន៍បានជំរុញ ប៉ុន្តែមិនបាននិពន្ធពេញលេញទេ។
-
កូដដែលត្រូវបានសរសេរឡើងវិញដោយ AI សម្រាប់ពាក្យ “cleanup”, “performance” ឬ “style”។
-
កូដដែលមើលទៅដូចជាវាមកពី AI ទោះបីជាវាមិនបានមកពី AI ក៏ដោយ (រឿងនេះកើតឡើងច្រើនជាងអ្វីដែលមនុស្សទទួលស្គាល់)។
ហើយនេះជាចំណុចសំខាន់មួយ៖ បញ្ញាសិប្បនិម្មិត (AI) មិនមានរចនាប័ទ្មតែមួយទេ។ វាមាន ទំនោរ។ ទំនោរជាច្រើនទាំងនោះកើតចេញពីការព្យាយាមធ្វើឱ្យត្រឹមត្រូវជាទូទៅ អាចអានបានយ៉ាងទូលំទូលាយ និងមានសុវត្ថិភាពជាទូទៅ... ដែលហួសចិត្តអាចធ្វើឱ្យលទ្ធផលមានអារម្មណ៍ដូចគ្នាបន្តិច។
២) អ្វីដែលកូដ AI មើលទៅដូច៖ រូបភាពរហ័សប្រាប់ 👀
ចូរយើងឆ្លើយចំណងជើងឲ្យច្បាស់៖ តើលេខកូដ AI មើលទៅដូចអ្វី។
ជារឿយៗវាមើលទៅដូចជាលេខកូដដែល៖
-
សៀវភៅសិក្សាមានរបៀបរៀបរយខ្លាំង - ការចូលបន្ទាត់ដែលស៊ីសង្វាក់គ្នា ការធ្វើទ្រង់ទ្រាយដែលស៊ីសង្វាក់គ្នា និងអ្វីៗគ្រប់យ៉ាងដែលស៊ីសង្វាក់គ្នា។
-
និយាយច្រើនដោយអព្យាក្រឹត - មានមតិយោបល់ «មានប្រយោជន៍» ច្រើនដែលមិនជួយអ្វីច្រើនទេ។
-
ធ្វើឱ្យទូទៅពេក - បង្កើតឡើងដើម្បីដោះស្រាយសេណារីយ៉ូស្រមើស្រមៃចំនួនដប់ជំនួសឱ្យសេណារីយ៉ូពិតពីរ។
-
មានរចនាសម្ព័ន្ធហួសហេតុបន្តិច - មុខងារជំនួយបន្ថែម ស្រទាប់បន្ថែម ភាពអរូបីបន្ថែម... ដូចជាការវេចខ្ចប់សម្រាប់ដំណើរកម្សាន្តចុងសប្តាហ៍ជាមួយវ៉ាលីបី 🧳។
-
នឹកកាវបិទគែមប្រអប់ដែលឆ្គងៗ ដែលប្រព័ន្ធពិតប្រមូលផ្តុំ (ទង់លក្ខណៈពិសេស ភាពចម្លែកៗរបស់វាចាស់ៗ ការរឹតត្បិតមិនងាយស្រួល) (Martin Fowler: Feature Toggles)។
ប៉ុន្តែក៏ - ហើយខ្ញុំនឹងបន្តនិយាយរឿងនេះម្តងទៀតព្រោះវាសំខាន់ - អ្នកអភិវឌ្ឍន៍មនុស្សពិតជាអាចសរសេរដូចនេះបានដែរ។ ក្រុមខ្លះអនុវត្តវា។ មនុស្សខ្លះគ្រាន់តែជាមនុស្សចម្លែកៗប៉ុណ្ណោះ។ ខ្ញុំនិយាយបែបនោះដោយក្តីស្រឡាញ់ 😅។.
ដូច្នេះជំនួសឱ្យការ «រកឃើញ AI» វាជាការប្រសើរក្នុងការសួរថា តើកូដនេះមានឥរិយាបទដូចជាវាត្រូវបានសរសេរជាមួយនឹងបរិបទពិតប្រាកដដែរឬទេ? បរិបទគឺជាកន្លែងដែល AI ជារឿយៗរអិល។
៣) ផ្លាកសញ្ញា "ជ្រលងភ្នំចម្លែក" - នៅពេលដែលវា ពេក 😬
កូដដែលបង្កើតដោយ AI ជារឿយៗមាន "ភាពរលោង" ជាក់លាក់មួយ។ មិនមែនជានិច្ចទេ ប៉ុន្តែជាញឹកញាប់។.
សញ្ញាទូទៅ "ស្អាតពេក"
-
អនុគមន៍នីមួយៗមាន docstring ទោះបីជាវាច្បាស់ក៏ដោយ។
-
អថេរទាំងអស់មានឈ្មោះសមរម្យ ដូចជា
result,data,items,payload,responseData។ -
សារកំហុស ដែលស្តាប់ទៅដូចជាសៀវភៅណែនាំ៖ "មានកំហុសកើតឡើងពេលកំពុងដំណើរការសំណើ"។
-
លំនាំឯកសណ្ឋានទូទាំងម៉ូឌុលដែលមិនទាក់ទងគ្នាដូចអ្វីៗទាំងអស់ត្រូវបានសរសេរដោយបណ្ណារក្សដ៏ប្រុងប្រយ័ត្នដូចគ្នា។
ការផ្តល់ជូនដ៏ស្រទន់
កូដ AI អាចមានអារម្មណ៍ថាវាត្រូវបានរចនាឡើងសម្រាប់ការបង្រៀន មិនមែនសម្រាប់ផលិតផលទេ។ វាដូចជា… ស្លៀកឈុតដើម្បីលាបពណ៌របង។ សកម្មភាពត្រឹមត្រូវណាស់ ប៉ុន្តែខុសបន្តិចបន្តួចសម្រាប់សម្លៀកបំពាក់។.
៤) តើអ្វីទៅដែលធ្វើឲ្យកូដ AI មានកំណែល្អ? ✅
ចូរយើងប្តូរវាទៅ។ ដោយសារតែគោលដៅមិនមែនជា "ចាប់ AI" ទេ វាគឺជា "គុណភាពកប៉ាល់"។
កំណែ ល្អ នៃកូដដែលមានជំនួយពី AI គឺ៖
-
បោះយុថ្កានៅក្នុងដែនពិតរបស់អ្នក (ការដាក់ឈ្មោះរបស់អ្នក រូបរាងទិន្នន័យរបស់អ្នក ការរឹតបន្តឹងរបស់អ្នក)។
-
តម្រឹមជាមួយស្ថាបត្យកម្មរបស់អ្នក (លំនាំត្រូវគ្នានឹង repo មិនមែនជាគំរូទូទៅទេ)។
-
បានសាកល្បងប្រឆាំងនឹងហានិភ័យរបស់អ្នក (មិនមែនគ្រាន់តែការធ្វើតេស្តឯកតាផ្លូវរីករាយទេ) (វិស្វកម្មកម្មវិធីនៅ Google៖ ការធ្វើតេស្តឯកតា; ពីរ៉ាមីតតេស្តជាក់ស្តែង)។
-
បានពិនិត្យឡើងវិញដោយមានចេតនា (មាននរណាម្នាក់បានសួរថា "ហេតុអ្វីបានជាធ្វើបែបនេះ?" មិនត្រឹមតែ "ថាតើវាចងក្រងឬអត់") (ការអនុវត្តវិស្វកម្ម Google៖ ស្តង់ដារនៃការពិនិត្យឡើងវិញកូដ)។
-
កាត់បន្ថយ ទៅតាមអ្វីដែលអ្នកត្រូវការ (មិនសូវមានការស្រមើស្រមៃអំពីអនាគត)។
ម្យ៉ាងទៀត កូដ AI ដ៏អស្ចារ្យមើលទៅដូចជា… ក្រុមរបស់អ្នកបានសរសេរវា។ ឬយ៉ាងហោចណាស់ ក្រុមរបស់អ្នកបានទទួលយកវាឱ្យបានត្រឹមត្រូវ។ ដូចជាឆ្កែជួយសង្គ្រោះដែលឥឡូវនេះដឹងថាសាឡុងនៅឯណា 🐶។.
៥) បណ្ណាល័យគំរូ៖ ស្នាមម្រាមដៃ AI បុរាណ (និងមូលហេតុដែលវាកើតឡើង) 🧩
ខាងក្រោមនេះជាលំនាំដែលខ្ញុំបានឃើញម្តងហើយម្តងទៀតនៅក្នុងមូលដ្ឋានកូដដែលមានជំនួយពី AI - រួមទាំងលំនាំដែលខ្ញុំបានសម្អាតដោយផ្ទាល់ផងដែរ។ លំនាំទាំងនេះខ្លះល្អ។ លំនាំខ្លះមានគ្រោះថ្នាក់។ ភាគច្រើនគ្រាន់តែជា… សញ្ញាប៉ុណ្ណោះ។.
ក) ការត្រួតពិនិត្យភាពគ្មានប្រសិទ្ធភាពហួសហេតុនៅគ្រប់ទីកន្លែង
អ្នកនឹងឃើញស្រទាប់នៃ៖
-
ប្រសិនបើ x គ្មាន៖ ត្រឡប់... -
សាកល្បង/លើកលែង ករណីលើកលែង -
លំនាំដើមបម្រុងច្រើន
មូលហេតុ៖ បញ្ញាសិប្បនិម្មិត (AI) ព្យាយាមជៀសវាងកំហុសពេលដំណើរការជាទូទៅ។
ហានិភ័យ៖ វាអាចលាក់បាំងការបរាជ័យពិតប្រាកដ និងធ្វើឱ្យការបំបាត់កំហុសកាន់តែអាក្រក់។
ខ) មុខងារជំនួយទូទៅដែលមិនទទួលបានអត្ថិភាពរបស់វា
ដូចជា៖
-
ទិន្នន័យដំណើរការ() -
សំណើដោះស្រាយ() -
validate_input()
មូលហេតុ៖ ស្នាដៃអរូបីមានអារម្មណ៍ថា "វិជ្ជាជីវៈ"។
ហានិភ័យ៖ អ្នកបញ្ចប់ដោយមុខងារដែលធ្វើអ្វីៗគ្រប់យ៉ាង ហើយមិនពន្យល់អ្វីទាំងអស់។
គ) មតិយោបល់ដែលបញ្ជាក់ឡើងវិញនូវលេខកូដ
ឧទាហរណ៍ថាមពល៖
-
"បង្កើន i ដោយ 1"
-
«ឆ្លើយតបមកវិញ»
មូលហេតុ៖ បញ្ញាសិប្បនិម្មិត (AI) ត្រូវបានបណ្តុះបណ្តាលឱ្យពន្យល់។
ហានិភ័យ៖ មតិយោបល់រលួយលឿន និងបង្កើតសំឡេងរំខាន។
ឃ) ជម្រៅនៃព័ត៌មានលម្អិតមិនស៊ីសង្វាក់គ្នា
ផ្នែកមួយមានលម្អិតខ្លាំង ចំណែកផ្នែកមួយទៀតមានអាថ៌កំបាំងមិនច្បាស់លាស់។.
មូលហេតុ៖ ការរសាត់បាត់ការផ្តោតអារម្មណ៍ភ្លាមៗ... ឬបរិបទមិនពេញលេញ។
ហានិភ័យ៖ ចំណុចខ្សោយលាក់ខ្លួននៅក្នុងតំបន់មិនច្បាស់លាស់។
ង) រចនាសម្ព័ន្ធស៊ីមេទ្រីគួរឱ្យសង្ស័យ
អ្វីៗទាំងអស់ដើរតាមគ្រោងឆ្អឹងដូចគ្នា សូម្បីតែពេលដែលតក្កវិជ្ជាអាជីវកម្មមិនគួរធ្វើតាមក៏ដោយ។.
មូលហេតុ៖ បញ្ញាសិប្បនិម្មិត (AI) ចូលចិត្តធ្វើរូបរាងដែលបានបញ្ជាក់រួចជាស្រេចម្តងទៀត។
ហានិភ័យ៖ តម្រូវការមិនស៊ីមេទ្រីទេ - ពួកវាមានរាងដុំៗ ដូចជាគ្រឿងទេសដែលវេចខ្ចប់មិនបានល្អ 🍅📦។
៦) តារាងប្រៀបធៀប - វិធីដើម្បីវាយតម្លៃថាតើកូដ AI មានទំនោរមើលទៅដូចអ្វី 🧪
ខាងក្រោមនេះជាការប្រៀបធៀបឧបករណ៍ជាក់ស្តែង។ មិនមែន "ឧបករណ៍ចាប់សញ្ញា AI" ទេ ដូចជា ការត្រួតពិនិត្យការពិតនៃកូដ។ ពីព្រោះវិធីល្អបំផុតដើម្បីកំណត់អត្តសញ្ញាណកូដដែលគួរឱ្យសង្ស័យគឺត្រូវសាកល្បងវា ពិនិត្យវា និងសង្កេតវាក្រោមសម្ពាធ។
| ឧបករណ៍ / វិធីសាស្រ្ត | ល្អបំផុតសម្រាប់ (ទស្សនិកជន) | តម្លៃ | ហេតុអ្វីបានជាវាដំណើរការ (និងចំណុចតូចមួយ) |
|---|---|---|---|
| បញ្ជីត្រួតពិនិត្យការពិនិត្យលេខកូដ 📝 | ក្រុម, អ្នកដឹកនាំ, មនុស្សចាស់ | ឥតគិតថ្លៃ | បង្ខំឲ្យមានសំណួរ “ហេតុអ្វី”; ចាប់យកលំនាំទូទៅ… ពេលខ្លះមានអារម្មណ៍ថារើសអើងបន្តិច (ការអនុវត្តវិស្វកម្ម Google៖ ការពិនិត្យកូដ) |
| ការធ្វើតេស្តឯកតា + សមាហរណកម្ម ✅ | លក្ខណៈពិសេសនៃការដឹកជញ្ជូនរបស់មនុស្សគ្រប់គ្នា | សេរី | បង្ហាញពីករណីគែមដែលបាត់; កូដ AI ជារឿយៗខ្វះគ្រឿងបរិក្ខារក្នុងផលិតកម្ម (វិស្វកម្មកម្មវិធីនៅ Google: ការធ្វើតេស្តឯកតា; ពីរ៉ាមីតតេស្តជាក់ស្តែង) |
| ការវិភាគឋិតិវន្ត / ការចងខ្សែ 🔍 | ក្រុមដែលមានស្តង់ដារ | ឥតគិតថ្លៃ / បង់ប្រាក់ | សម្គាល់ភាពមិនស៊ីសង្វាក់គ្នា; នឹងមិនចាប់កំហុស "គំនិតខុស" ទេ (ឯកសារ ESLint; ការស្កេនកូដ GitHub CodeQL) |
| ការត្រួតពិនិត្យប្រភេទ (កន្លែងដែលអាចអនុវត្តបាន) 🧷 | មូលដ្ឋានកូដធំជាង | ឥតគិតថ្លៃ / បង់ប្រាក់ | បង្ហាញរូបរាងទិន្នន័យមិនច្បាស់លាស់; អាចរំខានបាន ប៉ុន្តែវាមានតម្លៃ (TypeScript: Static Type Checking; mypy documentation) |
| ការធ្វើគំរូគំរាមកំហែង / ករណីរំលោភបំពាន 🛡️ | ក្រុមដែលមានគំនិតសុវត្ថិភាព | ឥតគិតថ្លៃ | បញ្ញាសិប្បនិម្មិត (AI) អាចមិនអើពើនឹងការប្រើប្រាស់បែបប្រឆាំង។ នេះបង្ខំវាឱ្យចូលទៅក្នុងពន្លឺ (សន្លឹកបន្លំគំរូការគំរាមកំហែង OWASP) |
| ការវិភាគទម្រង់ការអនុវត្ត ⏱️ | ការងារផ្នែកខាងក្រោយ ដែលប្រើប្រាស់ទិន្នន័យច្រើន | ឥតគិតថ្លៃ / បង់ប្រាក់ | បញ្ញាសិប្បនិម្មិត (AI) អាចបន្ថែមរង្វិលជុំបន្ថែម ការបម្លែង ការបែងចែក - ការធ្វើទម្រង់មិនកុហកទេ (ឯកសារ Python៖ The Python Profilers) |
| ទិន្នន័យសាកល្បងផ្តោតលើដែន 🧾 | ផលិតផល + វិស្វកម្ម | ឥតគិតថ្លៃ | “ការធ្វើតេស្តក្លិន” លឿនបំផុត; ទិន្នន័យក្លែងក្លាយបង្កើតទំនុកចិត្តក្លែងក្លាយ (ឯកសារ pytest fixtures) |
| ការពិនិត្យឡើងវិញ / ការណែនាំអំពីគូ 👥 | ការណែនាំ + ទំនាក់ទំនងសាធារណៈសំខាន់ៗ | ឥតគិតថ្លៃ | សុំឱ្យអ្នកនិពន្ធពន្យល់ពីជម្រើសនានា; កូដដែលស្រដៀងនឹង AI ជារឿយៗខ្វះរឿងរ៉ាវ (វិស្វកម្មសូហ្វវែរនៅ Google: ការពិនិត្យឡើងវិញកូដ) |
មែនហើយ ជួរឈរ "តម្លៃ" គឺគួរឱ្យអស់សំណើចបន្តិច - ពីព្រោះផ្នែកដែលថ្លៃជាធម្មតាគឺជាការយកចិត្តទុកដាក់ មិនមែនឧបករណ៍ទេ។ ការយកចិត្តទុកដាក់ធ្វើឱ្យខាតបង់... អ្វីៗទាំងអស់ 😵💫។.
៧) តម្រុយរចនាសម្ព័ន្ធនៅក្នុងកូដដែលមានជំនួយពី AI 🧱
ប្រសិនបើអ្នកចង់បានចម្លើយកាន់តែស៊ីជម្រៅអំពីអ្វីដែលកូដ AI មានទំនោរមើលទៅដូច សូមពង្រីកចេញ ហើយមើលរចនាសម្ព័ន្ធ។.
១) ការដាក់ឈ្មោះដែលត្រឹមត្រូវតាមបច្ចេកទេស ប៉ុន្តែខុសខាងវប្បធម៌
បញ្ញាសិប្បនិម្មិត (AI) ច្រើនតែជ្រើសរើសឈ្មោះដែល "មានសុវត្ថិភាព" នៅទូទាំងគម្រោងជាច្រើន។ ប៉ុន្តែក្រុមនានាបង្កើតភាសាផ្ទាល់ខ្លួនរបស់ពួកគេ៖
-
អ្នកហៅវា
ថា AccountIdហើយ AI ហៅវាថា userId។ -
អ្នកហៅវាថា
LedgerEntryហើយ AI ហៅវាថាtransaction។ -
អ្នកហៅវាថា
FeatureGateវាហៅវាថាconfigFlag។
គ្មានអ្វីមួយក្នុងចំណោមទាំងនេះ "អាក្រក់" ទេ ប៉ុន្តែវាជាតម្រុយមួយដែលអ្នកនិពន្ធមិនបានរស់នៅក្នុងដែនរបស់អ្នកយូរទេ។.
២) ការធ្វើម្តងទៀតដោយមិនប្រើឡើងវិញ ឬប្រើឡើងវិញដោយគ្មានហេតុផល
ពេលខ្លះ AI៖
-
ធ្វើតក្កវិជ្ជាស្រដៀងគ្នាម្តងទៀតនៅកន្លែងច្រើន ពីព្រោះវា "មិនចាំ" បរិបទ repo ទាំងមូលក្នុងពេលតែមួយ ឬ
-
បង្ខំឱ្យប្រើប្រាស់ឡើងវិញតាមរយៈអរូបីដែលសន្សំសំចៃបន្ទាត់បី ប៉ុន្តែត្រូវចំណាយអស់បីម៉ោងក្រោយមក។.
នោះហើយជាការដោះដូរ៖ វាយអក្សរតិចឥឡូវនេះ គិតច្រើននៅពេលក្រោយ។ ហើយខ្ញុំមិនប្រាកដថាវាជាការដោះដូរល្អជានិច្ចនោះទេ… វាអាស្រ័យលើសប្តាហ៍ 😮💨។.
៣) ម៉ូឌុល "ល្អឥតខ្ចោះ" ដែលមិនអើពើនឹងព្រំដែនពិតប្រាកដ
អ្នកនឹងឃើញកូដត្រូវបានបែងចែកជាម៉ូឌុលស្អាត៖
-
ឧបករណ៍ផ្ទៀងផ្ទាត់/ -
សេវាកម្ម/ -
អ្នកដោះស្រាយ/ -
ប្រយោជន៍/
ប៉ុន្តែព្រំដែនអាចមិនត្រូវគ្នានឹងស្នាមប្រេះនៃប្រព័ន្ធរបស់អ្នក។ មនុស្សច្រើនតែឆ្លុះបញ្ចាំងពីចំណុចឈឺចាប់នៃស្ថាបត្យកម្ម។ បញ្ញាសិប្បនិម្មិត (AI) ច្រើនតែឆ្លុះបញ្ចាំងដ្យាក្រាមដ៏ស្អាតមួយ។.
៨) ការដោះស្រាយកំហុស - កន្លែងដែលលេខកូដ AI ទទួលបាន… រអិល 🧼
ការដោះស្រាយកំហុសគឺជាការចង្អុលបង្ហាញដ៏ធំបំផុតមួយ ពីព្រោះវាតម្រូវឱ្យ មានការវិនិច្ឆ័យមិនមែនគ្រាន់តែភាពត្រឹមត្រូវនោះទេ។
លំនាំដែលត្រូវមើល
-
ការចាប់ករណីលើកលែងទូលំទូលាយ ជាមួយនឹងការកត់ត្រាមិនច្បាស់លាស់ (ឯកសារ Pylint៖ bare-except)
-
ការលេបកំហុស និងការត្រឡប់លំនាំដើម
-
ការបង្ហាញពាក្យ “ជោគជ័យ៖ មិនពិត” ជំនួសឲ្យការលើកឡើងពីការបរាជ័យដែលមានន័យ
-
ព្យាយាមឡើងវិញនូវរង្វិលជុំ ដោយគ្មានការថយក្រោយ ឬគ្មានការកំណត់ (ឬការកំណត់ដែលត្រូវបានជ្រើសរើសយ៉ាងចម្លែកដូចជា 3 ព្រោះ 3 មានអារម្មណ៍ល្អ) (ការណែនាំណែនាំ AWS៖ ព្យាយាមឡើងវិញជាមួយការថយក្រោយ; បណ្ណាល័យ AWS Builders'៖ ការអស់ពេល ការព្យាយាមឡើងវិញ និងការថយក្រោយជាមួយការញ័រ)
មើលទៅល្អយ៉ាងណា
-
ការបរាជ័យមាន លក្ខណៈជាក់លាក់
-
កំហុសអាច អនុវត្តបាន
-
ការកត់ត្រារួមមាន បរិបទ (លេខសម្គាល់ ធាតុចូល ស្ថានភាពពាក់ព័ន្ធ)
-
ទិន្នន័យរសើប មិនត្រូវបានចាក់ចូលទៅក្នុងកំណត់ហេតុទេ (ពេលខ្លះ AI ភ្លេចរឿងនេះ 😬) (សន្លឹកបន្លំកំណត់ហេតុ OWASP; OWASP Top 10 2025: ការបរាជ័យក្នុងការកត់ត្រាសុវត្ថិភាព និងការជូនដំណឹង)
ចរិតលក្ខណៈមួយរបស់មនុស្សគឺការសរសេរសារកំហុសដែលរំខានបន្តិច។ មិនតែងតែទេ ប៉ុន្តែអ្នកដឹងវានៅពេលអ្នកឃើញវា។ សារកំហុស AI ច្រើនតែស្ងប់ស្ងាត់ដូចកម្មវិធីធ្វើសមាធិ។.
៩) ករណីគែម និងការពិតនៃផលិតផល - «ភាពរឹងមាំដែលបាត់» 🧠🪤
ប្រព័ន្ធពិតប្រាកដមិនសូវស្អាត។ លទ្ធផលនៃ AI ច្រើនតែខ្វះលក្ខណៈបែបនោះ។.
ឧទាហរណ៍នៃ "ភាពក្លាហាន" ដែលក្រុមមាន៖
-
ទង់សម្គាល់មុខងារ និងការដាក់ឱ្យប្រើប្រាស់ដោយផ្នែក (Martin Fowler: បិទ/បើកមុខងារ)
-
ការ hack ភាពឆបគ្នាថយក្រោយ
-
ការអស់ពេលរបស់ភាគីទីបីចម្លែក
-
ទិន្នន័យចាស់ដែលបំពានលើគ្រោងការណ៍របស់អ្នក
-
បញ្ហានៃការដាក់ស្រោមមិនស៊ីសង្វាក់គ្នា ការអ៊ិនកូដ ឬបញ្ហាមូលដ្ឋាន
-
ច្បាប់អាជីវកម្មដែលមានអារម្មណ៍ថាខុសច្បាប់ព្រោះវាជាច្បាប់
បញ្ញាសិប្បនិម្មិត (AI) អាចដោះស្រាយករណីគែមៗបាន ប្រសិនបើអ្នកប្រាប់វា ប៉ុន្តែប្រសិនបើអ្នកមិនបញ្ចូលវាឱ្យច្បាស់លាស់ទេ ជារឿយៗវាបង្កើតដំណោះស្រាយ "ពិភពលោកស្អាត"។ ពិភពលោកស្អាតគឺគួរឱ្យស្រឡាញ់។ ពិភពលោកស្អាតក៏មិនមានដែរ។.
ពាក្យប្រៀបធៀបដែលតានតឹងបន្តិចកំពុងចូលមក៖ កូដ AI គឺដូចជាអេប៉ុងថ្មីស្រឡាង - វាមិនទាន់ស្រូបយកគ្រោះមហន្តរាយផ្ទះបាយនៅឡើយទេ។ នោះហើយជាវា ខ្ញុំបាននិយាយវាហើយ 🧽។ មិនមែនជាការងារដ៏ល្អបំផុតរបស់ខ្ញុំទេ ប៉ុន្តែវាជាការពិត។.
១០) របៀបធ្វើឱ្យកូដដែលមានជំនួយពី AI មានអារម្មណ៍ដូចមនុស្ស - ហើយសំខាន់ជាងនេះទៅទៀត ត្រូវមានភាពអាចទុកចិត្តបាន 🛠️✨
ប្រសិនបើអ្នកកំពុងប្រើ AI ដើម្បីព្រាងកូដ (ហើយមនុស្សជាច្រើនកំពុងប្រើ) អ្នកអាចធ្វើឱ្យលទ្ធផលកាន់តែប្រសើរឡើងយ៉ាងខ្លាំងជាមួយនឹងទម្លាប់មួយចំនួន។.
ក) បញ្ចូលការរឹតបន្តឹងរបស់អ្នកនៅខាងមុខ
ជំនួសឲ្យការសរសេរមុខងារដែល… សូមសាកល្បង៖
-
ធាតុចូល/ទិន្នផលដែលរំពឹងទុក
-
តម្រូវការដំណើរការ
-
គោលការណ៍កំហុស (ដំឡើងថ្មី, ត្រឡប់ប្រភេទលទ្ធផល, កំណត់ហេតុ + បរាជ័យ?)
-
អនុសញ្ញាដាក់ឈ្មោះ
-
លំនាំដែលមានស្រាប់នៅក្នុង repo របស់អ្នក
ខ) ស្នើសុំការសម្របសម្រួល មិនមែនគ្រាន់តែដំណោះស្រាយនោះទេ
ជំរុញជាមួយ៖
-
«ផ្តល់វិធីសាស្រ្តពីរ ហើយពន្យល់ពីការសម្របសម្រួល»។
-
«តើអ្នកនឹងជៀសវាងធ្វើអ្វីនៅទីនេះ ហើយហេតុអ្វី?»
-
«តើការឈប់សម្រាកនេះនឹងធ្វើឡើងនៅកន្លែងណា?»
បញ្ញាសិប្បនិម្មិត (AI) កាន់តែប្រសើរឡើង នៅពេលដែលអ្នកបង្ខំវាឱ្យគិតក្នុងហានិភ័យ។.
គ) ធ្វើឱ្យវាលុបលេខកូដ
និយាយឲ្យចំទៅ។ សួរ៖
-
«លុបចោលរាល់ការអរូបីដែលមិនចាំបាច់»។
-
«កាត់វាចុះមកត្រឹមកំណែតូចបំផុតត្រឹមត្រូវ»។
-
«តើផ្នែកណាខ្លះដែលជាការស្មានទុកមុន?»
បញ្ញាសិប្បនិម្មិត (AI) មានទំនោរបន្ថែម។ វិស្វករដ៏អស្ចារ្យមានទំនោរដក។.
ឃ) បន្ថែមការធ្វើតេស្តដែលឆ្លុះបញ្ចាំងពីការពិត
មិនត្រឹមតែ៖
-
"ត្រឡប់ទិន្នផលដែលរំពឹងទុក"
ប៉ុន្តែ៖
-
ការបញ្ចូលចម្លែក
-
វាលដែលបាត់
-
ការកើតឡើងក្នុងពេលដំណាលគ្នា
-
ការបរាជ័យដោយផ្នែក
-
ឥរិយាបថកម្រិតសមាហរណកម្ម (វិស្វកម្មកម្មវិធីនៅ Google៖ ការធ្វើតេស្តធំជាង; ពីរ៉ាមីតតេស្តជាក់ស្តែង)
បើអ្នកមិនធ្វើអ្វីផ្សេងទេ ចូរធ្វើបែបនេះ។ ការធ្វើតេស្តគឺជាឧបករណ៍ចាប់ការកុហក ហើយពួកគេមិនខ្វល់ថាអ្នកណាជាអ្នកសរសេរកូដនោះទេ 😌។.
១១) កំណត់ចំណាំបិទ + សង្ខេបរហ័ស 🎯
ដូច្នេះ អ្វីដែល AI Code មើលទៅដូច៖ ជារឿយៗវាមើលទៅស្អាត ទូទៅ ពន្យល់ច្រើនពេក ហើយចង់ផ្គាប់ចិត្តពេក។ ចំណុចសំខាន់ជាងនេះមិនមែនជាការធ្វើទ្រង់ទ្រាយ ឬមតិយោបល់ទេ - វាខ្វះបរិបទ៖ ការដាក់ឈ្មោះដូមេន ករណីគែមឆ្គង និងជម្រើសជាក់លាក់នៃស្ថាបត្យកម្មដែលកើតចេញពីការរស់នៅជាមួយប្រព័ន្ធ។
សង្ខេបរហ័ស
-
កូដ AI មិនមែនជារចនាប័ទ្មតែមួយទេ ប៉ុន្តែវាជារឿយៗមាននិន្នាការស្អាតបាត លម្អិត និងទូទៅពេក។.
-
សញ្ញាដ៏ល្អបំផុតគឺថាតើកូដឆ្លុះបញ្ចាំងពីឧបសគ្គពិតប្រាកដ និងភាពរឹងមាំនៃផលិតផលរបស់អ្នកឬអត់។.
-
កុំគិតច្រើនពេកលើការរកឃើញ - ត្រូវគិតច្រើនពេកលើគុណភាព៖ ការធ្វើតេស្ត ការពិនិត្យ ភាពច្បាស់លាស់ និងចេតនា (ការអនុវត្តវិស្វកម្មរបស់ Google៖ ការពិនិត្យកូដ; វិស្វកម្មកម្មវិធីនៅ Google៖ ការធ្វើតេស្តឯកតា)។
-
បញ្ញាសិប្បនិម្មិត (AI) គឺល្អសម្រាប់សេចក្តីព្រាងដំបូង។ វាមិនល្អសម្រាប់សេចក្តីព្រាងចុងក្រោយទេ។ នោះហើយជាហ្គេមទាំងមូល។.
ហើយប្រសិនបើនរណាម្នាក់ព្យាយាមធ្វើឱ្យអ្នកអាម៉ាស់មុខចំពោះការប្រើប្រាស់ AI និយាយឱ្យត្រង់ទៅ… កុំអើពើនឹងសំឡេងរំខានទាំងនោះ។ គ្រាន់តែផ្ញើកូដរឹងមាំ។ កូដរឹងមាំគឺជាភាពបត់បែនតែមួយគត់ដែលស្ថិតស្ថេរ 💪🙂។.
ឧទាហរណ៍ជាក់ស្តែង៖ ការពិនិត្យឡើងវិញនូវការជួសជុលកំហុសទូទាត់ប្រាក់ដែលព្រាងដោយ AI 🛒
សេណារីយ៉ូ
ស្រមៃមើលក្រុមពាណិជ្ជកម្មអេឡិចត្រូនិកតូចមួយដែលប្រើប្រាស់ជំនួយការ AI ដើម្បីរៀបចំការកែកំហុសសម្រាប់បញ្ហាទូទាត់ប្រាក់៖ អតិថិជនពេលខ្លះត្រូវបានគិតប្រាក់ពីរដងនៅពេលដែលអ្នកផ្តល់សេវាទូទាត់ប្រាក់អស់ពេល ហើយប៊ូតុងសាកល្បងម្តងទៀតត្រូវបានចុច។.
សេចក្តីព្រាង AI ដំបូងមើលទៅស្អាត។ វាបន្ថែមជំនួយការសាកល្បងឡើងវិញ រុំការហៅទូទាត់ដោយដោះស្រាយកំហុសទូលំទូលាយ និងប្រគល់សារគួរសមនៅពេលដែលមានអ្វីមួយបរាជ័យ។ ដោយក្រឡេកមើលមួយភ្លែត វាមានអារម្មណ៍ថាមានលក្ខណៈវិជ្ជាជីវៈ។ ប៉ុន្តែហានិភ័យស្ថិតនៅខាងក្រោមផ្ទៃ៖ កូដមិនពិនិត្យមើលថាតើការប៉ុនប៉ងទូទាត់លើកដំបូងអាចទទួលបានជោគជ័យរួចហើយឬអត់នោះទេ។.
នោះហើយជាកន្លែងដែលកូដដែលមានជំនួយពី AI ត្រូវការសម្ពាធផលិតកម្ម។ បញ្ហាមិនមែនថាកូដមើលទៅដូចជា "សរសេរដោយ AI" នោះទេ។ បញ្ហាគឺថាវាសន្មតថាពិភពលោកស្អាតស្អំមួយដែលការអស់ពេលមានន័យថា "គ្មានអ្វីកើតឡើង"។.
អ្វីដែលជំនួយការត្រូវការ
មុននឹងសុំឲ្យ AI ជួសជុលកំហុស សូមផ្តល់ព័ត៌មានលម្អិតឲ្យវាជាមុនសិន៖
-
អ្នកផ្តល់សេវាទូទាត់អាចអស់ពេលបន្ទាប់ពី 8 វិនាទី។.
-
ការអស់ពេលមិនបញ្ជាក់ថាការសាកថ្មបរាជ័យទេ។.
-
ការទូទាត់ប្រាក់នីមួយៗមាន orderId និង idempotencyKey តែមួយគត់។.
-
ឃ្លាំងទិញលក់ទំនិញដែលមានស្រាប់ប្រើប្រាស់ PaymentAttempt មិនមែនប្រតិបត្តិការទេ។.
-
ការទូទាត់ដែលបរាជ័យត្រូវតែកត់ត្រាជាមួយ orderId, providerRequestId និង retryCount។.
-
មិនគួរមានព័ត៌មានលម្អិតអំពីកាត ឬទិន្នន័យផ្ទាល់ខ្លួនលេចឡើងក្នុងកំណត់ហេតុឡើយ។.
-
ការជួសជុលនេះត្រូវតែរួមបញ្ចូលការធ្វើតេស្តសម្រាប់ការចុចពីរដង ការអស់ពេលរបស់អ្នកផ្តល់សេវា និងការបរាជ័យដោយផ្នែក។.
ឧទាហរណ៍នៃការណែនាំ
ប្រើគំរូសេវាកម្មទូទាត់ប្រាក់ដែលមានស្រាប់ ដើម្បីជួសជុលកំហុសការគិតថ្លៃទ្វេដង។ កុំបង្កើតការរុំឡើងវិញទូទៅ លុះត្រាតែវាត្រូវបានទាមទារ។ ចាត់ទុកការអស់ពេលរបស់អ្នកផ្តល់សេវាទូទាត់ប្រាក់ជាស្ថានភាពមិនស្គាល់ មិនមែនជាការទូទាត់ដែលបរាជ័យនោះទេ។ ប្រើការដាក់ឈ្មោះ PaymentAttempt ដែលមានស្រាប់។ បន្ថែមការត្រួតពិនិត្យ idempotency ដោយប្រើ orderId និង idempotencyKey។ រួមបញ្ចូលការធ្វើតេស្តសម្រាប់៖ ការទូទាត់ដែលទទួលបានជោគជ័យមួយ ការអស់ពេល បន្ទាប់មកដោយការព្យាយាមម្តងទៀត ការចុចប៊ូតុងស្ទួន ភាពជោគជ័យរបស់អ្នកផ្តល់សេវាបន្ទាប់ពីការអស់ពេលរបស់អតិថិជន និង providerRequestId ដែលបាត់។ រក្សាដំណោះស្រាយឱ្យតូចតាមដែលអាចធ្វើទៅបាន ហើយពន្យល់ពីកន្លែងដែលវានៅតែអាចបរាជ័យក្នុងការផលិត។.
របៀបសាកល្បងវា
អ្នកពិនិត្យអាចដំណើរការការត្រួតពិនិត្យសាមញ្ញចំនួនប្រាំមុនពេលអនុម័តលេខកូដដែលមានជំនួយពី AI៖
-
ដាក់ស្នើសំណើទូទាត់ប្រាក់ដូចគ្នាពីរដងជាមួយ idempotencyKey ដូចគ្នា។.
-
ក្លែងធ្វើការអស់ពេលរបស់អ្នកផ្តល់សេវា ដែលអ្នកផ្តល់សេវាបញ្ជាក់ពីភាពជោគជ័យនៅពេលក្រោយ។.
-
ធ្វើត្រាប់តាមការព្យាយាមម្តងទៀតបន្ទាប់ពីអស់ពេល ហើយបញ្ជាក់ថាមិនមានការសាកលើកទីពីរត្រូវបានបង្កើតឡើងទេ។.
-
ពិនិត្យមើលកំណត់ហេតុសម្រាប់វាលកែកំហុសត្រឹមត្រូវដោយមិនលេចធ្លាយទិន្នន័យរសើប។.
-
សុំឱ្យអ្នកនិពន្ធពន្យល់ពីមូលហេតុដែលតក្កវិជ្ជា retry ជាកម្មសិទ្ធិរបស់ស្រទាប់នេះជាជាងឧបករណ៍ប្រើប្រាស់ទូទៅ។.
សេចក្តីព្រាង AI ខ្សោយអាចឆ្លងកាត់ផ្លូវរីករាយ ប៉ុន្តែបរាជ័យក្នុងករណីដែលការអស់ពេលបន្ទាប់មកដោយជោគជ័យ។ នោះគឺជាការសន្មត់ "ពិភពលោកស្អាត" ដែលបង្ហាញក្នុងទម្រង់សាកល្បង។.
លទ្ធផល
លទ្ធផលជាឧទាហរណ៍៖ ដោយផ្អែកលើពេលវេលានៃលំហាត់ពិនិត្យឡើងវិញចំនួនប្រាំករណីសម្រាប់កំហុសទូទាត់ប្រាក់ប្រឌិតនេះ សេចក្តីព្រាង AI បានចំណាយពេលប្រហែល 20 នាទីដើម្បីបង្កើត ប៉ុន្តែកំណែដំបូងបានខកខានការធ្វើតេស្តចំនួន 2 ក្នុងចំណោមការធ្វើតេស្តចំនួន 5 ដែលត្រូវការ៖ ការដោះស្រាយការចុចស្ទួន និងការដោះស្រាយភាពជោគជ័យរបស់អ្នកផ្តល់សេវាបន្ទាប់ពីការអស់ពេល។.
បន្ទាប់ពីបន្ថែមការរឹតបន្តឹងដូមេនខាងលើ សេចក្តីព្រាងដែលបានកែសម្រួលបានគ្របដណ្តប់លើករណីសាកល្បងទាំង ៥ ហើយត្រូវការមតិយោបល់ពិនិត្យដោយដៃតិចជាងមុន៖ មតិយោបល់ចំនួន ៩ លើសេចក្តីព្រាងដំបូងធៀបនឹងមតិយោបល់ចំនួន ៣ លើសេចក្តីព្រាងដែលមានការរឹតបន្តឹង។ ពេលវេលាពិនិត្យ និងកែសម្រួលសរុបបានធ្លាក់ចុះពីការប៉ាន់ស្មាន ៥៥ នាទីមកត្រឹម ៣២ នាទី។.
នេះមិនមែនជាស្តង់ដារដែលបង្ហាញឱ្យឃើញនោះទេ។ វាគឺជាឧទាហរណ៍នៃការប៉ាន់ស្មានដែលក្រុមអាចផ្ទៀងផ្ទាត់ដោយតាមដានលេខបីក្នុងអំឡុងពេលសំណើទាញផ្ទាល់៖ ពេលវេលាពីសេចក្តីព្រាងរហូតដល់ PR ដែលត្រូវបានអនុម័ត ចំនួនមតិយោបល់របស់អ្នកពិនិត្យ និងចំនួននៃការធ្វើតេស្តករណីគែមដែលបរាជ័យ។.
អ្វីដែលអាចខុសបាន
កំហុសដ៏គ្រោះថ្នាក់បំផុតគឺការអនុញ្ញាតឱ្យ AI ចាត់ទុក "ការអស់ពេល" ថាជា "ការបរាជ័យ"។ នៅក្នុងប្រព័ន្ធទូទាត់ ការចែកចាយអ៊ីមែល វេទិកាកក់ ការអាប់ដេតសារពើភ័ណ្ឌ និងការងារផ្ទៃខាងក្រោយ ការសន្មត់នោះអាចបង្កើតសកម្មភាពស្ទួន។.
បញ្ហាទូទៅផ្សេងទៀត៖
-
បញ្ញាសិប្បនិម្មិត (AI) បង្កើតពាក្យថ្មីមួយដូចជា ប្រតិបត្តិការ នៅពេលដែល repo ប្រើ PaymentAttempt។.
-
វាចាប់កំហុសធំៗ ហើយប្រគល់សារដែលងាយស្រួលប្រើ ខណៈពេលលាក់ការបរាជ័យមូលដ្ឋាន។.
-
វាបន្ថែមជំនួយការសាកល្បងឡើងវិញដែលអាចប្រើឡើងវិញបាន ដែលអ្នកអភិវឌ្ឍន៍ផ្សេងទៀតអាចចម្លងទៅកន្លែងដែលការសាកល្បងឡើងវិញមិនមានសុវត្ថិភាព។.
-
វាកត់ត្រាបរិបទច្រើនពេក ហើយដោយចៃដន្យរួមបញ្ចូលទិន្នន័យអតិថិជន ឬទិន្នន័យទូទាត់ដែលងាយរងគ្រោះ។.
-
វាសរសេរការធ្វើតេស្តដែលបញ្ជាក់ថាកូដដំណើរការលុះត្រាតែការពឹងផ្អែកនីមួយៗមានឥរិយាបថល្អឥតខ្ចោះ។.
សម្ភារៈសិក្សាជាក់ស្តែង
វិធីល្អបំផុតដើម្បីធ្វើឱ្យកូដដែលមានជំនួយពី AI មានសុវត្ថិភាពជាងមុន គឺត្រូវផ្តល់ឱ្យវានូវការពិតដ៏ច្បាស់លាស់ជាមុនសិន៖ ឈ្មោះពិត របៀបបរាជ័យពិត កំណត់ហេតុពិត ករណីសាកល្បងពិត និងការរឹតបន្តឹងពិត។ AI អាចព្រាងកំណែដ៏ស្អាតបានយ៉ាងឆាប់រហ័ស។ ការងាររបស់អ្នកគឺបន្ថែមភាពច្បាស់លាស់នៃផលិតកម្មមុនពេលវាត្រូវបានបញ្ចូលគ្នា។.
សំណួរដែលសួរញឹកញាប់
តើអ្នកអាចដឹងដោយរបៀបណាថាកូដត្រូវបានសរសេរដោយ AI?
កូដដែលមានជំនួយពី AI ជារឿយៗមើលទៅស្អាតពេក ស្ទើរតែដូចជា "សៀវភៅសិក្សា"៖ ការធ្វើទ្រង់ទ្រាយស្របគ្នា រចនាសម្ព័ន្ធឯកសណ្ឋាន ការដាក់ឈ្មោះទូទៅ (ដូចជា ទិន្នន័យធាតុ លទ្ធផល) ។វាក៏អាចមកដល់ជាមួយនឹង docstrings ឬមតិយោបល់ជាច្រើនដែលគ្រាន់តែបញ្ជាក់ឡើងវិញនូវតក្កវិជ្ជាជាក់ស្តែង។ សញ្ញាធំជាងនេះមិនមែនជារចនាប័ទ្មទេ - វាគឺជាអវត្តមាននៃភាពរឹងមាំនៅក្នុងធម្មជាតិ៖ ភាសាដែន អនុសញ្ញា repo ការរឹតបន្តឹងឆ្គង និងកាវបិទគែមដែលធ្វើឱ្យប្រព័ន្ធកាន់។
តើអ្វីទៅជាសញ្ញាគ្រោះថ្នាក់ធំៗបំផុតក្នុងការដោះស្រាយកំហុសដែលបង្កើតឡើងដោយ AI?
សូមប្រយ័ត្នចំពោះការចាប់បានករណីលើកលែងទូលំទូលាយ (លើកលែងតែ Exception) ការបរាជ័យដែលលេបត្របាក់ដែលត្រឡប់លំនាំដើមដោយស្ងាត់ៗ និងការកត់ត្រាមិនច្បាស់លាស់ដូចជា "មានកំហុសកើតឡើង"។ គំរូទាំងនេះអាចលាក់កំហុសពិតប្រាកដ និងធ្វើឱ្យការបំបាត់កំហុសមានការលំបាក។ ការដោះស្រាយកំហុសដ៏រឹងមាំគឺជាក់លាក់ អាចអនុវត្តបាន និងមានបរិបទគ្រប់គ្រាន់ (លេខសម្គាល់ ការបញ្ចូល ស្ថានភាព) ដោយមិនចាំបាច់ចាក់ទិន្នន័យរសើបទៅក្នុងកំណត់ហេតុ។ ការការពារហួសហេតុអាចមានហានិភ័យដូចការការពារមិនគ្រប់គ្រាន់ដែរ។
ហេតុអ្វីបានជាកូដ AI ជារឿយៗមានអារម្មណ៍ថាត្រូវបានរចនាហួសហេតុពេក ឬសង្ខេបពេក?
ទំនោរទូទៅមួយរបស់ AI គឺការ "មើលទៅមានលក្ខណៈវិជ្ជាជីវៈ" ដោយបន្ថែមមុខងារជំនួយ ស្រទាប់ និងថតដែលព្យាករណ៍ពីអនាគតសម្មតិកម្ម។ អ្នកនឹងឃើញជំនួយទូទៅដូចជា process_data() ឬ handle_request() និងព្រំដែនម៉ូឌុលដ៏ស្អាតដែលសមស្របនឹងដ្យាក្រាមច្រើនជាងថ្នេររបស់ប្រព័ន្ធរបស់អ្នក។ ការជួសជុលជាក់ស្តែងមួយគឺការដក៖ កាត់ស្រទាប់ស្មានរហូតដល់អ្នកមានកំណែត្រឹមត្រូវតូចបំផុតដែលត្រូវនឹងតម្រូវការដែលអ្នកមាន មិនមែនស្រទាប់ដែលអ្នកអាចទទួលមរតកនៅពេលក្រោយទេ។
តើកូដដែលមានជំនួយពី AI ល្អមើលទៅដូចអ្វីនៅក្នុង repo ពិតប្រាកដ?
កូដដែលមានជំនួយពី AI ល្អបំផុតអានដូចជាក្រុមរបស់អ្នកអះអាងវា៖ វាប្រើពាក្យដូមេនរបស់អ្នក ផ្គូផ្គងរាងទិន្នន័យរបស់អ្នក ធ្វើតាមគំរូឃ្លាំងរបស់អ្នក និងតម្រឹមជាមួយស្ថាបត្យកម្មរបស់អ្នក។ វាក៏ឆ្លុះបញ្ចាំងពីហានិភ័យរបស់អ្នកផងដែរ - លើសពីផ្លូវរីករាយ - ជាមួយនឹងការធ្វើតេស្តដែលមានអត្ថន័យ និងការពិនិត្យឡើងវិញដោយចេតនា។ គោលដៅមិនមែនដើម្បី "លាក់ AI" ទេ វាគឺដើម្បីបោះយុថ្កាសេចក្តីព្រាងនៅក្នុងបរិបទ ដើម្បីឱ្យវាមានឥរិយាបទដូចជាកូដផលិតកម្ម។.
តើការធ្វើតេស្តអ្វីខ្លះដែលបង្ហាញពីការសន្មត់ "ពិភពលោកស្អាត" លឿនបំផុត?
ការធ្វើតេស្តសមាហរណកម្ម និងការធ្វើតេស្តគែមករណី ច្រើនតែបង្ហាញបញ្ហាយ៉ាងឆាប់រហ័ស ពីព្រោះទិន្នផល AI ជារឿយៗសន្មតថាមានការបញ្ចូលដ៏ល្អ និងការពឹងផ្អែកដែលអាចព្យាករណ៍បាន។ ប្រើឧបករណ៍ដែលផ្តោតលើដែន ហើយរួមបញ្ចូលការបញ្ចូលចម្លែក វាលដែលបាត់ ការបរាជ័យដោយផ្នែក ការអស់ពេល និងការធ្វើដំណាលគ្នានៅកន្លែងដែលវាសំខាន់។ ប្រសិនបើកូដមានតែការធ្វើតេស្តឯកតាផ្លូវរីករាយ វាអាចមើលទៅត្រឹមត្រូវ ខណៈពេលដែលនៅតែបរាជ័យ នៅពេលដែលនរណាម្នាក់ចុចប៊ូតុងមួយដែលមិនទាន់បានសាកល្បងនៅក្នុងផលិតកម្ម។.
ហេតុអ្វីបានជាឈ្មោះដែលសរសេរដោយ AI មានអារម្មណ៍ថា "ត្រឹមត្រូវតាមបច្ចេកទេស ប៉ុន្តែខុសខាងវប្បធម៌"?
ជារឿយៗ AI ជ្រើសរើសឈ្មោះទូទៅដែលមានសុវត្ថិភាព ដែលដំណើរការលើគម្រោងជាច្រើន ប៉ុន្តែក្រុមនានាបង្កើតគ្រាមភាសាជាក់លាក់មួយតាមពេលវេលា។ នោះហើយជារបៀបដែលអ្នកបញ្ចប់ដោយភាពមិនស៊ីគ្នាដូចជា userId ទល់នឹង AccountIdឬ transaction ទល់នឹង LedgerEntryទោះបីជាតក្កវិជ្ជាល្អក៏ដោយ។ ភាពរសាត់បាត់នៃការដាក់ឈ្មោះនេះគឺជាតម្រុយមួយដែលថាកូដមិនត្រូវបានសរសេរខណៈពេលដែល "រស់នៅខាងក្នុង" ដែន និងការរឹតបន្តឹងរបស់អ្នក។
តើវាសមនឹងព្យាយាមរកឃើញកូដ AI នៅក្នុងការពិនិត្យកូដដែរឬទេ?
ជាធម្មតាវាមានផលិតភាពជាងក្នុងការពិនិត្យគុណភាពជាជាងភាពជាអ្នកនិពន្ធ។ មនុស្សក៏អាចសរសេរកូដដែលស្អាត និងមានមតិយោបល់ច្រើនពេកផងដែរ ហើយ AI អាចបង្កើតសេចក្តីព្រាងដ៏ល្អឥតខ្ចោះនៅពេលដែលត្រូវបានណែនាំ។ ជំនួសឱ្យការដើរតួជាអ្នកស៊ើបអង្កេត សូមចុចលើហេតុផលនៃការរចនា និងចំណុចដែលទំនងជាបរាជ័យក្នុងការផលិត។ បន្ទាប់មកផ្ទៀងផ្ទាត់ជាមួយនឹងការធ្វើតេស្ត ការតម្រឹមស្ថាបត្យកម្ម និងវិន័យកំហុស។ ការធ្វើតេស្តសម្ពាធល្អជាងការធ្វើតេស្ត vibe។.
តើអ្នកជំរុញ AI យ៉ាងដូចម្តេចដើម្បីឱ្យកូដចេញមកកាន់តែគួរឱ្យទុកចិត្ត?
ចាប់ផ្តើមដោយការចាក់បញ្ចូលការរឹតបន្តឹងនៅខាងមុខ៖ ធាតុចូល/ទិន្នផលដែលរំពឹងទុក រូបរាងទិន្នន័យ តម្រូវការប្រតិបត្តិការ គោលការណ៍កំហុស អនុសញ្ញាដាក់ឈ្មោះ និងគំរូដែលមានស្រាប់នៅក្នុង repo របស់អ្នក។ សួររកការសម្របសម្រួល មិនមែនគ្រាន់តែជាដំណោះស្រាយនោះទេ - "តើវានឹងបំបែកនៅឯណា?" និង "តើអ្នកនឹងជៀសវាងអ្វី ហើយហេតុអ្វី?" ជាចុងក្រោយ ការដកដោយបង្ខំ៖ ប្រាប់វាឱ្យលុបការអរូបីដែលមិនចាំបាច់ចេញ ហើយបង្កើតកំណែត្រឹមត្រូវតូចបំផុត មុនពេលអ្នកពង្រីកអ្វីមួយ។.
ឯកសារយោង
-
Stack Overflow - ការស្ទង់មតិអ្នកអភិវឌ្ឍន៍ Stack Overflow ឆ្នាំ ២០២៥ - survey.stackoverflow.co
-
GitHub - GitHub Octoverse (ថ្ងៃទី 28 ខែតុលា ឆ្នាំ 2025) - github.blog
-
Google - ការអនុវត្តវិស្វកម្ម Google៖ ស្តង់ដារនៃការពិនិត្យឡើងវិញនូវកូដ - google.github.io
-
Abseil - វិស្វកម្មកម្មវិធីនៅ Google: ការធ្វើតេស្តឯកតា - abseil.io
-
Abseil - វិស្វកម្មកម្មវិធីនៅ Google៖ ការពិនិត្យឡើងវិញអំពីកូដ - abseil.io
-
Abseil - វិស្វកម្មកម្មវិធីនៅ Google: ការធ្វើតេស្តធំជាង - abseil.io
-
ម៉ាទីន ហ្វូលលើរ - ម៉ាទីន ហ្វូលលើរ៖ បិទ/បើកមុខងារ - martinfowler.com
-
ម៉ាទីន ហ្វូលលើ - ពីរ៉ាមីតសាកល្បងជាក់ស្តែង - martinfowler.com
-
OWASP - សន្លឹកបន្លំសម្រាប់ការបង្កើតគំរូគំរាមកំហែង OWASP - cheatsheetseries.owasp.org
-
OWASP - សន្លឹកបន្លំកំណត់ហេតុ OWASP - cheatsheetseries.owasp.org
-
OWASP - កំពូលទាំង ១០ របស់ OWASP ឆ្នាំ ២០២៥៖ ការកត់ត្រាសុវត្ថិភាព និងការបរាជ័យនៃការជូនដំណឹង - owasp.org
-
ESLint - ឯកសារ ESLint - eslint.org
-
ឯកសារ GitHub - ការស្កេនកូដ GitHub CodeQL - docs.github.com
-
TypeScript - TypeScript៖ ការត្រួតពិនិត្យប្រភេទឋិតិវន្ត - www.typescriptlang.org
-
mypy - ឯកសារ mypy - mypy.readthedocs.io
-
Python - ឯកសារ Python៖ កម្មវិធីបង្កើតទម្រង់ Python - docs.python.org
-
pytest - ឯកសារឧបករណ៍ pytest - docs.pytest.org
-
Pylint - ឯកសារ Pylint៖ លើកលែងតែ - pylint.pycqa.org
-
សេវាកម្មគេហទំព័រ Amazon - ការណែនាំអំពីវេជ្ជបញ្ជា AWS៖ សាកល្បងម្តងទៀតជាមួយនឹងការបិទផ្លូវ - docs.aws.amazon.com
-
សេវាកម្មគេហទំព័រ Amazon - បណ្ណាល័យអ្នកបង្កើត AWS៖ ការអស់ពេល ការព្យាយាមឡើងវិញ និងការថយក្រោយជាមួយនឹងភាពច្របូកច្របល់ - aws.amazon.com