ប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើ
TL;DR: ការឆ្លងកាត់ប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែល។
TL;DR: ការឆ្លងកាត់ប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែលជាប្រហែល។
ការបញ្ហានេះ
- អ្នកប្រើប្រាស់លក្ខខណ្ឌ
- មានបទពិសោធន៍ទាប
- ពេលវេលាមិនគួរឱ្យចាប់អារម្មណ៍
- ការចាប់ផ្តើមមិនពេញលេញ
- ការផ្លាស់ប្តូរគោលបំណង
- ការគ្រប់គ្រងគោលបំណង
- ការជឿទុកចិត្ត
- ការផ្លាស់ប្តូរការផ្លាស់ប្តូរ Backward Compatibility
លក្ខខណ្ឌ
- គោលបំណងគ្រប់គ្រងកូដ
- ការប្រើប្រាស់ឧបករណ៍ទិន្នន័យ default
- ការធ្វើតេស្ត EDGE CASES ដោយត្រឹមត្រូវ
- គោលនយោបាយ refactor គោលនយោបាយ refactor refactor
- ការធ្វើតេស្តប្រសិទ្ធភាព
- ការដឹកជញ្ជូនប្រព័ន្ធផ្សព្វផ្សាយខាងក្រៅ
លក្ខខណ្ឌ
នៅពេលដែលអ្នកបន្ថែមលក្ខណៈសម្បត្តិសម្បត្តិ (ដូចជាគោលបំណងក្រុម) ទៅកូដការចាប់ផ្តើម, ការបាត់បន្ថយដំណោះស្រាយសំខាន់ដូចជាពាក្យសំរាប់ការរក្សាទុកធ្វើឱ្យប្រព័ន្ធទូទៅមានការបាត់បន្ថយ។
ទំហំ Edge គឺជាទំហំធម្មតាដែលកើតឡើងនៅខាងក្រៅពីទំហំប្រតិបត្តិការធម្មតា។
ប្រសិនបើអ្នកមិនដោះស្រាយប្រសិនបើបញ្ហានេះបានត្រឹមត្រូវ, កូដរបស់អ្នកអាចធ្វើឱ្យប្រសិនបើអ្នកមិនអាចធ្វើឱ្យប្រាកដ។
នេះមាតិកា Microsoftគំនិតមួយដែលមានការបាត់បង់ការដោះស្រាយបញ្ហានេះប្រព័ន្ធ ប្រព័ន្ធ ប្រតិបត្តិការ Windows 7 បានមានពេលដំណើរការលឿនជាងមុននៅពេលដែលអ្នកប្រើបានជ្រើសរើសរូបថតរូបថតរូបថតដែលមានតម្រូវការ.
លេខកូដដែលគ្រប់គ្រងសម្រាប់ការផ្ទុករូបថតកុំព្យូទ័រសាកល្បងបាន "រៀបចំ" នៅពេលដែលវាមានការផ្ទុករូបថតកុំព្យូទ័រសាកល្បង។
ប៉ុន្តែនៅពេលដែលអ្នកប្រើបានជ្រើសរើសរូបថតរាងកាយ (ប្រហែលជាប្រហែល margine) នេះកូដនេះមិនបានកាត់បន្ថយការបញ្ជាក់ "រៀបចំ" ។
ដូច្នេះប្រព័ន្ធនេះបានរក្សាទុកពេលវេលា 30 វិនាទីមុនពេលដំណើរការជាមួយដំណើរការដំណើរការ login ។
ទិន្នន័យនេះបង្ហាញពីរបៀបដែលការបាត់បង់ទំហំទំហំទំហំទំហំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលាយ។
អ្វីដែលគួរតែជាដំណើរការចុះឈ្មោះ 5 វិនាទីបានក្លាយទៅជាការរដូវការ 30 វិនាទីសម្រាប់អ្នកប្រើដែលបានជ្រើសរើសជម្រើសកំណត់រចនាសម្ព័ន្ធងាយស្រួល។
ទោះជាយ៉ាងណាក៏ដោយអ្នកប្រើប្រាស់ទាំងអស់ដែលមានប្រព័ន្ធប្រតិបត្តិការនេះមានការរំលែកពេលវេលា 30 វិនាទីដែលមិនមានសុវត្ថិភាពនេះ។ អ្វីដែលជាការរំលែកពេលវេលារបស់មនុស្ស!
ការរចនាសម្ព័ន្ធកម្មវិធីល្អគួរឱ្យអ្នករៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀបរៀប
នៅពេលដែលអ្នកបាត់បន្ថយការដោះស្រាយបញ្ហានេះអ្នកបង្កើតប្រាក់ចំណេញបច្ចេកទេសដែលបង្ហាញថាជាបញ្ហានេះជាបញ្ហានៅក្នុងការសម្តែងទិសដៅនិងបទពិសោធន៍អ្នកប្រើទិសដៅ។
លេខកូដ
ឱសថ
public static class WallpaperInitializer
{
private static bool wallpaperWasDefined = false;
public static void InitializeWallpaper()
{
if (wallpaperWasDefined)
// Assume this was defined previously
// and PLEASE DON'T use NULLs in case you hadn't
{
LoadWallpaperBitmap();
Report(WallpaperReady); // Missed if wallpaper is undefined
}
// No default report, causing delays
}
private static void LoadWallpaperBitmap()
{
}
private static void Report(string status)
{
// The Asynchronous loading keeps on
}
}
public static class WallpaperInitializer
{
private static bool wallpaperWasDefined = false;
public static void InitializeWallpaper()
{
if (wallpaperWasDefined)
{
LoadWallpaperBitmap();
}
Report(WallpaperReady);
// Always report, regardless of condition
}
private static void LoadWallpaperBitmap()
{
}
}
ពិនិត្យឡើងវិញ
- [x] ដោយស្វ័យប្រវត្តិ
ប្រើឧបករណ៍វិញ្ញាបនប័ត្រស្ដង់ដារដើម្បីបង្វិលស្ដង់ដារដែលរក្សាទុកការទូទាត់សំខាន់។
ការធ្វើតេស្តកូដគួរតែត្រួតពិនិត្យថានៅក្នុងការធ្វើតេស្តថានៅក្នុងការបញ្ចប់ការចាប់ផ្តើមទាំងអស់។
សត្វ ️
- សមត្ថភាព
លក្ខខណ្ឌ
- [x] ការអភិវឌ្ឍន៍
ហេតុអ្វីវាជាការសំខាន់ ️
ការប្រវត្តិសាស្រ្តពិភពលោកពិតប្រាកដនៃប្រព័ន្ធនេះ (ដូចជាល្បឿនការចុះឈ្មោះ) ត្រូវបានផ្អែកលើការរចនាសម្ព័ន្ធត្រឹមត្រូវនៃស្ថានភាពត្រឹមត្រូវ។
កម្មវិធីនេះគួរតែរក្សាទុកការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃកម្មវិធី។
ប្រសិនបើអ្នកប្រើប្រាស់បានជ្រើសរើសរូបថតរឹងនៅក្នុង Windows, ការជ្រើសរើសនេះបង្ហាញឱ្យមានប្រសិទ្ធិភាពក្នុងពិភពលោកពិតប្រាកដ។
(តម្រូវការផ្ទាល់ខ្លួនរបស់ខ្ញុំនៅពេលនេះផងដែរ)
កម្មវិធីនេះគួរតែរៀបចំនៃការជ្រើសរើសនេះយ៉ាងត្រឹមត្រូវជាមួយនឹងស្ថានភាពកម្មវិធីដែលអនុវត្តយ៉ាងត្រឹមត្រូវ។
នៅពេលដែលអ្នកបាត់បន្ថយការផ្លាស់ប្តូរនេះដោយមិនដោះស្រាយបញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្ហាសម្រាប់បញ្
ការផ្លាស់ប្តូរដែលមិនមានបានបង្កើតភាពខុសគ្នានៃការគេស្គាល់: "ខ្ញុំបានធ្វើការជ្រើសរើសងាយស្រួល, ហេតុអ្វីដែលកុំព្យូទ័ររបស់ខ្ញុំធ្វើឱ្យប្រសើរណាស់?" ការផ្លាស់ប្តូរនេះកាត់បន្ថយអាជីវកម្មរបស់អ្នកនិងការពេញចិត្តរបស់អ្នក។
រាល់ bijection បានបាត់បន្ថយបានធ្វើឱ្យប្រព័ន្ធនេះមានការកាត់បន្ថយនៅក្នុងគំរូសុវត្ថិភាពរបស់ខ្លួនដែលធ្វើឱ្យវាមានភាពមិនគួរឱ្យចាប់អារម្មណ៍ចំពោះពេលវេលា។
ការបាត់បន្ថយការតភ្ជាប់នេះធ្វើឱ្យការមិនត្រឹមត្រូវរវាងការចាប់អារម្មណ៍របស់អ្នកនិងការដំណើរការកម្មវិធីដែលធ្វើឱ្យមានការបាត់បន្ថយនិងការបាត់បន្ថយមិនគិតថ្លៃ។សៀវភៅលក្ខខណ្ឌនៃពិភពលោកពិតណាស់
ម៉ាស៊ីនបង្កើត AI អាចបង្កើតគួរឱ្យចាប់អារម្មណ៍នេះដោយការកាត់បន្ថយកូដអាសអាភាសនៅក្នុងការកាត់បន្ថយដោយគ្មានការត្រួតពិនិត្យទាំងអស់។
ការរកឃើញ
សំរាប់ AI ដើម្បី "សុវត្ថិភាពការធ្វើតេស្តស្ថានភាពធ្វើតេស្តនៅក្នុងបណ្តុះបណ្តាលទាំងអស់" ហើយវានឹងធ្វើតេស្តឬកាត់បន្ថយអារម្មណ៍នេះដោយផ្លាស់ប្តូរ Report() ពីខាងក្រៅនៃបណ្តុះបណ្តាល។
ពិនិត្យឡើងវិញ!
សូមអរគុណ: អ្នកជំនួយ AI បានធ្វើទំហំជាច្រើន
សៀវភៅអាសអាភាស: Find missing other reports
សៀវភៅអាសអាភាស: Find missing other reports
Without Proper Instructions |
With Specific Instructions |
---|---|
លក្ខណៈពិសេស
សញ្ញាបនប័ត្របញ្ចប់ដោយមិនគួរតែបញ្ជាក់នៅក្នុងកូដ initialization ។
លក្ខខណ្ឌគោលបំណងគោលបំណងគោលបំណងគោលបំណងគោលបំណងគោលបំណងគោលបំណងគោលបំណងគោលបំណងគោលបំណងគោលបំណងគោលបំណង
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxxx
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xviii
លក្ខណៈពិសេស
លក្ខខណ្ឌ
គំនូរកូដគឺរបស់ខ្ញុំអារម្មណ៍.
ការធ្វើតេស្តធ្វើឱ្យមានការជោគជ័យ និងការជោគជ័យធ្វើឱ្យមានការយល់ដឹង។
ការធ្វើតេស្តធ្វើឱ្យមានការជោគជ័យ និងការជោគជ័យធ្វើឱ្យមានការយល់ដឹង។
លោក Burt Rutan
អត្ថបទនេះគឺជាផ្នែកមួយនៃ Series CodeSmell ។