ស្វែងយល់អំពីការ Maintenance នៅក្នុង Symfony3

ក្នុងកំឡុងពេលពេញមួយជីវិតនៃ minor version, ការកែប្រែថ្មី​(patch versions) គឺត្រូវបានចេញផ្សាយជាសាធារណៈជារៀងរាល់ខែ។ ឯកសារទាំងអស់នោះគឺត្រូវបានពណ៏នាអំពី ការផ្លាស់ប្ដូរដែលអាចទទួលយកបាន។

Bug fixes ជាការទទួលយកនូវលក្ខខណ្ឌដូចខាងក្រោម៖

ទី១​៖ ការកែប្រែគឺមិនត្រូវបានចាកចេញពី unit tests ដែលត្រឹមត្រូវ

ទី២៖ Unit Tests ថ្មីក្ដោបទៅលើ bug fix

ទី៣៖ លក្ខណៈសម្បត្តិនៃ buggy ថ្មីៗមិនត្រូវបានប្រើប្រាស់ទូលំទូលាយដូចទៅនឹង feature នោះទេ

ក្រៅពី bug fixes គឺមាន minor ផ្សេងទៀតដែលបានកែប្រែអាចនឹងទទួលយកបានក្នុង patch version៖

ទី១៖ ការបង្កើននូវដំណើរការ៖ ត្រូវតែបានទទួលនូវការកែប្រែប្រសិនបើស្ថិតក្នុង local (ស្ថិតក្នុង class តែមួយ) និងត្រឹមតែសម្រាប់បញ្ហា algorithmic ។

ទី២៖ ជំនាន់ថ្មីនៃ PHP/HHVM៖ ជួសជុលនូវការបន្ថែមនូវការផ្គត់ផ្គង់សម្រាប់ជំនាន់ថ្មីនៃ PHP រឺក៏ HHVM សម្រាប់ការទទួលយកប្រសិនបើពួកគេមិនចាកចេញអំពី unit test។

ទី៣៖ ជំនាន់ថ្មីនៃ OSes ដ៏ពេញនិយម៖ ជួសជុលនូវការបន្ថែមនូវការផ្គត់ផ្គង់សម្រាប់ជំនាន់ថ្មីនៃ OSes ដ៏ពេញនិយម (Linux, MacOS និង Windows) គឺទទួលយកប្រសិនបើពួកគេមិនចាកចេញពី unit test។

ទី៤៖ Translations៖ ធ្វើការ updates និងការបន្ថែមដែលអាចទទួលយកបាន។

ទី៥៖ ទិន្នន័យខាងក្រៅ៖ Updates សម្រាប់ទិន្នន័យខាងក្រៅដែលបានបញ្ចូលក្នុង Symfony អាចនឹងត្រូវបាន updated ។

ទី៦៖ Version updates សម្រាប់ Composer dependencies៖ ធ្វើការកែប្រែនូវ ជំនាន់ដែលទាបបំផុតនៃ dependency គឺអាចទៅរួច ធ្វើការបញ្ចូលទៅជាផ្នែកសំខាន់ណាមួយរឺក៏បង្កើននូវ PHP ដែលជាជំនាន់ទាបបើមិនមែន។

ទី៧៖ ស្តង់ដារនៃកូដនិង refactor៖ ការសរសេរកូដស្តង់ដាររឺក៏កូដ refactor គឺមិនមែនជាការណែនាំនោះទេតែអាចទទួលយកបានសម្រាប់មូលដ្ឋានគ្រឹះនៃកូដដែលមានស្រាប់ ប្រសិនបើពួកគេមិនត្រូវបានរាតត្បាតខ្លាំងនោះ និងប្រសិនបើការបញ្ចូលគ្នារបស់ពួកគេស្ថិតលើ master គឺមិនគួរធ្វើអោយការបញ្ចូល branch រញ៉េរញ៉ៃនោះទេ។

ទី៨៖ ការសាកល្បង៖ សាកល្បងនូវការបង្កើននូវកូដគួរតែបន្ថែម។

អ្វីផ្សេងទៀតដែលមិនបានបញ្ជាក់នូវខាងលើ គួរតែបញ្ចប់នៅ minor បន្ទាប់រឺក៏ កំណែ version ជំនួសវិញ។ សម្រាប់ឧទាហរណ៏ ការកែប្រែខាងក្រោមគឺមិនដែលធ្លាប់បានទទួលយកក្នុង patch version នោះទេ៖

ទី១៖ features ថ្មី

ទី២៖ ការបំបែកនូវភាពត្រលប់ក្រោយស្របគ្នា៖ បញ្ជាក់ថាការបំបែកនូវការត្រលប់ក្រោយស្របគ្នាអាចនឹងបញ្ចប់ពេលដែលកំពុងជួសជុលនូវបញ្ហាសុវត្ថិភាព ប្រសិនបើវាមិនត្រូវបានជួសជុល។

ទី៣៖ ការ support សម្រាប់ platform ពីខាងក្រៅ៖ ការបន្ថែមនូវ support សម្រាប់ platforms ថ្មី (ដូចជា Google App Engine) អាចនឹងមិនបញ្ចប់ក្នុង patch versions។

ទី៤៖ Exception messages៖ គឺមិនគួរកែប្រែដូចទៅនឹង automated system ដែលអាចនឹងពឹងផ្អែកលើពួកគេ។

ទី៥៖ ការបន្ថែមនូវ Composer dependencies ថ្មី

ទី៦៖ ការ Support សម្រាប់ major verisons នៃ Composer dependencies ដែលថ្មីជាងគេ៖ ដាក់វាទៅកាន់ account support សម្រាប់ versions ថ្មីជាងគេបង្អស់នៃ dependency ដែលមានស្រាប់គឺមិនត្រូវបានទទួលយក។

ទី៧៖ Web design៖ ការកែប្រែនូវ web design នៃ built-in pages ដូចជា exceptions, toolbar រឺក៏ profiler មិនត្រូវបានអនុញ្ញាត។