ฉันได้เห็นกฎต่างๆสำหรับการตั้งชื่อกระบวนงานที่เก็บไว้
บางคนนำหน้าชื่อ sproc ด้วย usp_ คนอื่น ๆ ใช้ตัวย่อของชื่อแอปและคนอื่น ๆ ยังมีชื่อเจ้าของ คุณไม่ควรใช้ sp_ ใน SQL Server เว้นแต่คุณจะตั้งใจจริง
บางคนเริ่มต้นชื่อ proc ด้วยคำกริยา (Get, Add, Save, Remove) อื่น ๆ เน้นชื่อเอนทิตี
ในฐานข้อมูลที่มี sprocs หลายร้อย sprocs อาจเป็นเรื่องยากมากที่จะเลื่อนดูและค้นหา sproc ที่เหมาะสมเมื่อคุณคิดว่ามีอยู่แล้ว รูปแบบการตั้งชื่อสามารถทำให้การค้นหา sproc ง่ายขึ้น
คุณใช้หลักการตั้งชื่อหรือไม่? โปรดอธิบายและอธิบายเหตุผลที่คุณชอบมากกว่าตัวเลือกอื่น ๆ
สรุปคำตอบ:
- ดูเหมือนว่าทุกคนจะสนับสนุนความสอดคล้องของการตั้งชื่อซึ่งอาจสำคัญกว่าที่ทุกคนจะต้องใช้รูปแบบการตั้งชื่อแบบเดียวกันมากกว่าที่จะใช้
- คำนำหน้า: ในขณะที่ผู้คนจำนวนมากใช้ usp_ หรือสิ่งที่คล้ายกัน (แต่ไม่ค่อยมี sp_) แต่คนอื่น ๆ ก็ใช้ฐานข้อมูลหรือชื่อแอป DBA ที่ชาญฉลาดตัวหนึ่งใช้ gen, rpt และ tsk เพื่อแยกความแตกต่างของ CRUD sprocs ทั่วไปจากที่ใช้สำหรับการรายงานหรืองาน
- Verb + Noun น่าจะได้รับความนิยมมากกว่า Noun + Verb เล็กน้อย บางคนใช้คำหลัก SQL (เลือกแทรกอัปเดตลบ) สำหรับคำกริยาในขณะที่บางคนใช้คำกริยาที่ไม่ใช่ SQL (หรือคำย่อสำหรับพวกเขา) เช่น Get and Add บางคนแยกความแตกต่างระหว่างคำนามเอกพจน์และคำนามพหูพจน์เพื่อระบุว่ากำลังเรียกข้อมูลหนึ่งหรือหลายรายการ
- มีการแนะนำวลีเพิ่มเติมในตอนท้ายตามความเหมาะสม GetCustomerById, GetCustomerBySaleDate
- บางคนใช้เครื่องหมายขีดล่างระหว่างส่วนของชื่อและบางคนก็หลีกเลี่ยงการขีดล่าง app_ Get_Customer กับ appGetCustomer - ฉันเดาว่ามันเป็นเรื่องของการอ่าน
- คอลเล็กชัน sprocs จำนวนมากสามารถแยกออกเป็นแพ็คเกจ Oracle หรือโซลูชันและโครงการ Management Studio (SQL Server) หรือสคีมาของ SQL Server
- ควรหลีกเลี่ยงตัวย่อที่แทรกซึมได้
ทำไมฉันถึงเลือกคำตอบที่ฉันทำ:มีคำตอบที่ดีมากมาย ขอบคุณทุกคน! อย่างที่คุณเห็นมันยากมากที่จะเลือกเพียงอย่างเดียว สิ่งที่ฉันเลือกสะท้อนกับฉัน ฉันได้ทำตามเส้นทางเดียวกับที่เขาอธิบาย - พยายามใช้คำกริยา + คำนามแล้วไม่พบ sprocs ทั้งหมดที่เกี่ยวข้องกับลูกค้า
ความสามารถในการค้นหา sproc ที่มีอยู่หรือเพื่อตรวจสอบว่ามีอยู่หรือไม่นั้นสำคัญมาก ปัญหาร้ายแรงอาจเกิดขึ้นได้หากมีคนสร้าง sproc ที่ซ้ำกันโดยไม่ได้ตั้งใจด้วยชื่ออื่น
เนื่องจากโดยทั่วไปฉันทำงานกับแอปขนาดใหญ่ที่มี sprocs หลายร้อยรายการฉันจึงชอบวิธีการตั้งชื่อที่ง่ายที่สุดในการค้นหา สำหรับแอปขนาดเล็กฉันอาจสนับสนุน Verb + Noun เนื่องจากเป็นไปตามรูปแบบการเข้ารหัสทั่วไปสำหรับชื่อเมธอด
นอกจากนี้เขายังสนับสนุนการเติมคำนำหน้าด้วยชื่อแอปแทน usp_ ที่ไม่เป็นประโยชน์ ตามที่หลายคนชี้ให้เห็นบางครั้งฐานข้อมูลมี sprocs สำหรับหลายแอพ ดังนั้นการขึ้นต้นด้วยชื่อแอปจึงช่วยแยก sprocs และช่วย DBA และอื่น ๆ ในการพิจารณาว่าจะใช้ sproc สำหรับแอปใด