DEV Community

Davy CHHOUK
Davy CHHOUK

Posted on • Updated on

គោលការណ៍មួយដែលធ្វើឲ្យកូដខ្ញុំប្រសើរឡើង

សួស្ដីទាំងអស់គ្នា!​ ថ្ងៃនេះខ្ញុំចង់លើករឿងមួយដែលខ្ញុំគិតថាវាបានជួយឲ្យជំនាញសរសេរកូដរបស់ខ្ញុំប្រសើរឡើង ហើយខ្ញុំគិតថាវាអាចនឹងជាប្រយោជន៍ដល់គ្នាយើងផងដែរ។

បញ្ហាស្មុកស្មាញ

រូបភាពពី Gerd Altmann ក្នុង Pixabay.

ទាំងអស់គ្នាដឹងហើយថាពេលសរសេរកូដ ជៀសមិនផុតទេយើងនឹងជួបបញ្ហាស្មុកស្មាញជាច្រើន។ ជាឧទាហរណ៍ពេលយើងធ្វើមុខងារមួយ យើងតែងតែប្រើ OSS ជាទម្រង់ Package ក្តី ឫជាកូដចម្លងមកដោយផ្ទាល់។ ជាទូទៅយើងជឿជាក់ថាវានឹងដំណើរការល្អដោយើងមិនចាំបាច់យល់លម្អិតពីវាទេ (Abstraction)។ បើសិនជាវាដើរ ល្អណាស់មុខងារហ្នឹងមួយហើយស្រេចមិនចាំបាច់ចំណាយពេលច្រើន ហើយមិនចាំបាច់សរសេរខ្លួងឯង។

ប៉ុន្តែវាមិនបែបហ្នឹងរហូតទេ វាអាចនឹងដើរហើយតែមិនទាន់ដូចអ្វីដែលយើងចង់បាននៅឡើយ ឬក៏យើងចង់កែវាដោយប្រើផ្នែកខ្លះប៉ុណ្ណោះដើម្បីឲ្យចេញមកដូចអ្វីដែលយើងចង់បាន។ ពេលហ្នឹងហើយដែលយើងជួបបញ្ហា។ កូដដែលចម្លងមក ឫ Package ដែលយើងប្រើភាគច្រើនសរសេរមកពិបាកយល់មែនទែន។ ដើម្បីអាចកែផ្នែកណាមួយបាន យើងត្រូវយល់ផ្នែកលម្អិតសិន។

ចំណុចនេះហើយដែលខ្ញុំតែងតែប្រើគោលការណ៍មួយគេហៅវាថា First Principles Reasoning។ ខ្ញុំបានលឺពីគោលការណ៍នេះដំបូងក្នុងកិច្ចសម្ភាសន៍រវាងលោក Chris Anderson និងលោក Elon Musk កាលពីឆ្នាំ 2013។

លោក Elon Musk បានពន្យល់ថា៖

Well, I do think there is a good framework of thinking. It’s Physics. You know, the sort of first principles reasoning. Generally, there are — what I mean by that is — boil things down to their fundamental truths and reason up from there as opposed to reasoning by analogy. Through most of our life, we get through life by reasoning by analogy, which essentially means kinda copying what other people do with slight variations. And you have to do that. Otherwise, mentally, you won’t be able to get through the day. But when you want to do something new, you have to apply the Physics approach. Physics is really sort of figuring out how to discover new things that are counterintuitive, like quantum mechanics.

បើយើងពន្យល់បែបខ្លីៗ គាត់ចង់បានន័យថាបើរឿងហ្នឹងវាស្មុកស្មាញពិបាកយល់យើងត្រូវបំបែកវាជាផ្នែកតូចៗដែលយើងអាចយល់វាបាន ហើយចាប់ផ្តើមផ្គុំវាបញ្ចូលគ្នាឡើងវិញ នោះយើងនឹងយល់ ហើយអាចប្រើវាដើម្បីបង្កើតអ្វីថ្មីៗដែលយើងចង់ធ្វើបានហើយ។

នេះហើយជាគោលការណ៍ដែលខ្ញុំតែងតែយកមកប្រើ។ ខ្ញុំនឹងព្យាយាមយល់នៅផ្នែកតូចៗនៃកូដនោះ ពេលបានយល់ល្មមគួរសមហើយ ខ្ញុំនឹងបូកវាបញ្វូលគ្នាចេញមកជាកូដទាំងមូលវិញ ពេលនោះហើយដែលខ្ញុំអាចកែរវា ឫក៏ប្រើវាទៅតម្រូវការបាន។ ខ្ញុំគិតថាការគិតបែបនេះវាសំខាន់ ហើយវាបានជួយឲ្យខ្ញុំក្លាយជាវិស្វរករសូហ្វវែរ៍ល្អជាងមុនមួយកម្រិតទៀតជារឿយៗ។


មើលកិច្ចសម្ភាសន៍លោក Chris Anderson និងលោក Elon Musk នៅ TED Talks កាលពីឆ្នាំ 2013៖ https://www.youtube.com/embed/IgKWPdJWuBQ?start=1095

Top comments (0)