Dynamics 365 Business Central: แนวทางการตั้งชื่อ Object และ Field ด้วย Prefix ใน AL Programming

ใน AL Programming ซึ่งเป็นภาษาสำหรับพัฒนาโซลูชันใน Dynamics 365 Business Central การใช้ Prefix ใน Object และ Field เป็นเทคนิคสำคัญที่ช่วยให้เราสามารถจัดการโค้ดได้ง่ายขึ้นและป้องกันปัญหาการชนกันของชื่อระหว่าง Object หรือ Field ที่อาจซ้ำกันได้ ในบทความนี้ เราจะมาดูความสำคัญและการใช้ Prefix ทั้งใน Object และ Field พร้อมด้วยตัวอย่างการใช้งานแบบละเอียด เพื่อช่วยให้คุณเข้าใจและสามารถนำไปประยุกต์ใช้ในการพัฒนาโค้ดของคุณได้

ความสำคัญของการใช้ Prefix

Prefix คือตัวอักษรที่เรานำหน้าชื่อ Object หรือ Field เพื่อระบุถึงความเป็นส่วนหนึ่งของโซลูชันใด ๆ โดยเฉพาะ รวมถึงการป้องกันการชนกันของชื่อระหว่างโค้ดที่สร้างขึ้นเองและโค้ดที่มาจากระบบมาตรฐาน ซึ่งช่วยให้โค้ดดูมีโครงสร้างและเข้าใจง่ายขึ้น โดย Prefix ควรจะเป็นคำย่อที่สื่อความหมายหรือระบุถึงฟังก์ชันของ Object หรือ Field นั้น ๆ อย่างชัดเจน

ตัวอย่าง Prefix

  • ชื่อบริษัท เช่น MCS สำหรับ MyCompanySolution
  • ชื่อโมดูล เช่น HR สำหรับโมดูลทรัพยากรบุคคล

การใช้ Prefix ใน Object

การใช้ Prefix กับ Object เช่น Codeunit, Table, Page, Report หรือ Query เป็นวิธีที่ดีในการทำให้ Object ต่าง ๆ ในโซลูชันของเรามีความแตกต่างจาก Object ในระบบมาตรฐาน และสามารถค้นหาและจัดการได้ง่ายขึ้น โดย Prefix จะช่วยให้เราสามารถจัดการกับ Object ที่เกี่ยวข้องได้อย่างมีระเบียบ

ตัวอย่าง: การใช้ Prefix ใน Codeunit

codeunit 50100 MCS_CustomerManagement
{
    procedure ManageCustomer(CustomerNo: Code[20])
    var
        CustomerRec: Record Customer;
    begin
        if CustomerRec.Get(CustomerNo) then
            Message('Managing customer: %1', CustomerRec.Name)
        else
            Error('Customer %1 not found', CustomerNo);
    end;
}

ในตัวอย่างนี้ Codeunit MCS_CustomerManagement ถูกตั้งชื่อด้วย Prefix MCS ซึ่งหมายถึงว่าเป็นส่วนหนึ่งของโซลูชัน MyCompanySolution ซึ่งจะทำให้เราแยกแยะได้ง่ายเมื่อโซลูชันมีการเพิ่ม Object มากขึ้นเรื่อย ๆ

การใช้ Prefix ใน Field

นอกจาก Object แล้ว การใช้ Prefix ใน Field ก็มีความสำคัญไม่น้อย เช่น ในกรณีที่เราต้องการเพิ่ม Field ใหม่ลงใน Table ที่มีอยู่แล้ว เช่น Customer การใช้ Prefix จะช่วยให้เราสามารถระบุได้ว่า Field ใดเป็นส่วนหนึ่งของโซลูชันของเรา และป้องกันการชนกันกับ Field อื่นที่อาจถูกเพิ่มจากโซลูชันอื่น

ตัวอย่าง: การใช้ Prefix ใน Field ของ Table

tableextension 50100 MCS_CustomerExtension extends Customer
{
    fields
    {
        field(50000; MCS_AdditionalInfo; Text[250])
        {
            Caption = 'Additional Info';
            DataClassification = ToBeClassified;
        }
    }
}

ในตัวอย่างนี้ เราได้สร้าง Field ใหม่ใน Table Customer ชื่อว่า MCS_AdditionalInfo ซึ่ง Prefix MCS ทำให้เราทราบได้ว่า Field นี้เป็นส่วนหนึ่งของโซลูชันของเราและไม่ใช่ Field ที่มาจากระบบมาตรฐาน

แนวทางปฏิบัติที่ดีสำหรับการใช้ Prefix

  1. สั้นและสื่อความหมาย: Prefix ควรเป็นตัวอักษรสั้น ๆ ที่สื่อความหมายถึงโซลูชันหรือโมดูลนั้น ๆ เช่น ตัวอักษรย่อของชื่อบริษัทหรือชื่อโครงการ
  2. ใช้ Prefix อย่างสม่ำเสมอ: ใช้ Prefix เดียวกันใน Object และ Field ที่เกี่ยวข้องกันทั้งหมดในโซลูชันเพื่อให้โค้ดของคุณดูเป็นระเบียบ
  3. ป้องกันการชนกันของชื่อ: การใช้ Prefix จะช่วยลดความเสี่ยงของการชนกันของชื่อระหว่างโซลูชันต่าง ๆ โดยเฉพาะอย่างยิ่งเมื่อมีการรวมโซลูชันหลายตัวใน Business Central

ตัวอย่างการใช้งาน Prefix ทั้งใน Object และ Field

ต่อไปนี้เป็นตัวอย่างของการใช้ Prefix ในหลาย ๆ Object รวมทั้งใน Field เพื่อแสดงถึงการจัดการโซลูชันที่เป็นระบบและชัดเจน

การใช้ Prefix ใน Page และ Field

pageextension 50100 MCS_CustomerCard extends "Customer Card"
{
    layout
    {
        addlast(Content)
        {
            group(MCS_Group)
            {
                field(MCS_AdditionalInfo; Rec.MCS_AdditionalInfo)
                {
                    ApplicationArea = All;
                }
            }
        }
    }
}

ในตัวอย่างนี้เราได้สร้าง Page ที่ขยายจาก “Customer Card” และเพิ่ม Field ที่มี Prefix MCS เพื่อให้ชัดเจนว่า Field นั้นเป็นของโซลูชัน MyCompanySolution และเราสามารถแยกได้ว่ามาจากส่วนไหนของระบบ

สรุป

การใช้ Prefix ใน Object และ Field ใน AL Programming เป็นเทคนิคที่สำคัญในการพัฒนาโค้ดใน Dynamics 365 Business Central เพราะช่วยให้การจัดการโค้ดเป็นระเบียบ ป้องกันการชนกันของชื่อ และเพิ่มความสะดวกในการค้นหาและแก้ไขโค้ดในอนาคต การใช้ Prefix ที่สื่อความหมายและสม่ำเสมอจะช่วยให้โซลูชันของคุณดูมืออาชีพและใช้งานได้อย่างมีประสิทธิภาพ

Leave a comment