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

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

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

រូបភាពពី 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
ចែករំលែក៖
រូបភាពជ្រើសរើស
កំពុងឡូដ...
អត្ថបទ​ថ្មីៗ
Article's thumbnail

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

Article's thumbnail

គំនូរសិល្បៈឌីជីថលដែលមានតម្លៃជិត 70 លានដុល្លា

Article's thumbnail

Hermes Engine សម្រាប់ React Native

Article's thumbnail

ការប្រើប្រាស់ Dependency ក្នុងការ​សរសេរសូហ្វវែរ៍

Article's thumbnail

លាហើយបណ្ដាញសង្គម

You've reached singularity, the beginning of time!