3D Talk [2011-08-07] ว่าด้วยหลักการตั้งชื่อสิ่งต่างๆในการทำงานบนคอมพิวเตอร์

วันนี้เขียนเรื่องที่มีประโยชน์กับการทำงานเป็นทีมเสียหน่อย
ว่าด้วยหลักการตั้งชื่อสิ่งต่างๆในการทำงานบนคอมพิวเตอร์


"Naming Convention" คำนี้แปลไทยได้ประมาณว่า "แบบแผนในการตั้งชื่อ"

เป็นสิ่งที่มีประโยชน์มากสำหรับการทำงานในคอมฯ และก็มักจะถูกละเลยบ่อย
ไม่ว่าจะเป็น

ชื่อ file

ชื่อ folder

ชื่อ layer

ชื่อ object ต่างๆใน scene

และอื่นๆ


การตั้งชื่อไฟล์ทำนองนี้บ่อยๆ สร้างปัญหาในการทำงาน

Untitled-1 copy.jpg

1.jpg , 2.jpg

ก็ไม่ใช่เรื่องคอขาดบาดตายอะไรที่จะปล่อยชื่อมันตาม default
แต่รวบรวมไฟล์ชื่อแบบนี้เยอะๆเข้า มันเกิดปัญหาความซ้ำซ้อน เขียนทับกันขึ้นมาได้


วิธีแก้ปัญหาเบื้องต้นของผมคือ

เติม ปี-เดือน-วัน ใส่ข้างหน้าเป็น prefix

20110805_Untitled-1 copy.jpg
20110805_Untitled-2 copy.jpg
20110806_Untitled-1 copy.jpg

แบบนี้เป็นต้น
ก็จะได้ลำดับไฟล์จากเก่าไปใหม่เรียงกันลงมาเป็นระเบียบ
และได้ชื่อไฟล์ที่ unique ไม่ซ้ำทับกัน

ตัวเลข 8 หลักข้างหน้า อาจจะเติมขีดคั่นให้อ่านง่ายขึ้นก็ได้
แต่ชื่อไฟล์ก็จะยาวขึ้นด้วย >> 2011-08-06_Untitled-1 copy.jpg


** ถ้าคิดชื่อไฟล์ไม่ออก อย่างน้อยเติม ปี-เดือน-วัน เป็น prefix นำหน้าไปก่อนเลยก็ได้ ไม่เสียหาย


เจาะจงว่าต้องเรียง ปี-เดือน-วัน ด้วยนะ ถ้าใช้ วัน-เดือน-ปี จะมีปัญหาไฟล์เรียงลำดับกันมั่ว เช่นกรณีนี้

07-03-2007_Untitled-1 copy.jpg
15-07-2011_Untitled-1 copy.jpg
25-08-2005_Untitled-1 copy.jpg

ไฟล์ปี 2005 แซงหน้าไฟล์ปี 2011 ลงมาอยู่ล่างสุดเสียฉิบ

เพราะคอมพิวเตอร์จะเรียงลำดับไฟล์ตามอักขระหน้าสุดไปหลังสุดเสมอ
เลยถูกเรียงตามเลขวันที่ไปก่อน ซะงั้น

คุณอาจสงสัยว่า "จะใส่วันที่ทำไม? ก็คลิกขวาดูเอาใน Properties ก็ได้นี่"
คืออย่างนี้ ไฟล์ของเรานี่มันอาจมีการ copy paste edit ไปมาได้เสมอ
ในระยะยาวแล้ว Date Modified มันไม่น่าเชื่อถือนักหรอก


** จงตั้งชื่อโดยเรียงลำดับรายละเอียดจาก "หยาบไปย่อย-ใหญ่ไปเล็ก"

หลักการนี้ไม่จำกัดอยู่ที่ ปี-เดือน-วัน เท่านั้น แต่ใช้ได้กับการตั้งชื่อทุกอย่างเลย
แบบนี้จะช่วยให้เกิดการจัดหมวดหมู่อย่างมีระเบียบโดยอัตโนมัติ
ตัวอย่างเช่น

Apple_iOS_iPad2
Apple_iOS_iPhone4
Apple_OSX_MacBookAir
HTC_Android_DesireS
HTC_WP7_HD2
Samsung_Android_GalaxyS2
Samsung_WP7_Omnia7

ทั้งหมดนี้เป็น smart device เรียงลำดับตาม แบรนด์-ระบบปฏิบัติการ-ชื่อรุ่น
ถ้าใส่ชื่อมี prefix  midfix suffix ดีเสียอย่าง
ไฟล์หรือ folder ก็จะเรียงจับกลุ่มกันมีระเบียบ ง่ายต่อการแยกแยะ

นี่แค่ยกตัวอย่างนะ บางกรณีทำเป็น directory ย่อยลงไปดีกว่า
ให้ชื่อไฟล์ไม่ยาวมาก ดูความเหมาะสมด้วย


** ไฟล์ที่มีการรันตัวเลขจำนวนมาก ควรใส่เลข 0 จองหลักข้างหน้าเอาไว้

อย่างเช่นไฟล์ชื่อ DualCoreApple_###.jpg
ถ้าเราประเมินแล้วนะ ว่าจะมีไฟล์นี้จำนวนหลักร้อยไฟล์

ไฟล์แรกๆควรจะตั้งชื่อว่า

DualCoreApple_001.jpg
DualCoreApple_002.jpg
DualCoreApple_003.jpg
...

มี "0" สองตัว จองที่เผื่อสำหรับหลักร้อยข้างหน้านะครับ

เพราะบางโปรแกรมไม่ค่อยฉลาดเรื่องการเรียงลำดับไฟล์นัก
ถ้าไม่เติม 0 เผื่อเอาไว้ มันจะเรียงไฟล์งั่งๆแบบนี้

DualCoreApple_1.jpg
DualCoreApple_10.jpg
DualCoreApple_11.jpg
....
DualCoreApple_2.jpg
DualCoreApple_20.jpg
DualCoreApple_21.jpg
....

OS ยอดนิยมปัจจุบันไม่ค่อยมีปัญหานี้แล้ว แต่กันไว้ดีกว่าแก้


มาถึงตรงนี้ ผมขอสรุปแนวทางที่ควรปฏิบัติไว้ 3 อย่าง
** ถ้าคิดชื่อไฟล์ไม่ออก อย่างน้อยเติม ปี-เดือน-วัน เป็น prefix นำหน้าไปก่อน
** จงตั้งชื่อโดยเรียงลำดับรายละเอียดจาก "หยาบไปย่อย-ใหญ่ไปเล็ก"
** ไฟล์ที่มีการรันตัวเลขจำนวนมาก ควรใส่เลข 0 จองหลักข้างหน้าเอาไว้


ต่อไปจะกล่าวถึงสิ่งที่ไม่ควรทำบ้าง ยกตัวอย่างสัก 3 ข้อ สั้นๆ


** อย่าพิมพ์เคาะเว้นวรรค spacebar ในชื่อ
ให้ใช้เครื่องหมาย _ แทน
(อ่านว่า underscore http://en.wikipedia.org/wiki/Underscore )

ตัวอย่างเช่น dualcore apple.jpg
บางครั้งคอมพิวเตอร์มันจะมองข้อมูลนี้แยกเป็น "dualcore" กับ "apple.jpg"
เวลาทำงานในบางโปรแกรมจะมีปัญหา โดยเฉพาะพวกเอนจิ้นเกมทั้งหลายอาจจะ import fail เลยทีเดียว


** อย่าตั้งชื่อเป็นภาษาไทย
บางโปรแกรมมันไม่ support พาลจะเปิดไม่ได้เอาด้วยซ้ำ เลี่ยงได้ก็เลี่ยงเถิด
บางครั้งจะทำให้เกิด url ยาวๆ ทุเรศๆ เช่นแบบนี้
http://www.virus-studios.com/forum/showthread.php?4321-%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B8%AD%E0%B8%94%E0%B9%84%E0%B8%81%E0%B9%88%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%A5%E0%B8%B4%E0%B8%87%E0%B8%94%E0%B8%B9%E0%B8%84%E0%B8%A3%E0%B8%B1%E0%B8%9A-gm-%E0%B8%96%E0%B9%89%E0%B8%B2%E0%B9%81%E0%B8%99%E0%B9%88%E0%B8%88%E0%B8%A3%E0%B8%B4%E0%B8%87-%E0%B9%81%E0%B8%9A%E0%B8%99%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%AB%E0%B8%A1%E0%B8%94%E0%B9%80%E0%B8%A5%E0%B8%A2%E0%B8%AA%E0%B8%B4%E0%B8%84%E0%B8%A3%E0%B8%B1%E0%B8%9A
 
 
** อย่าใช้คำว่า ล่าสุด, new , latest ฯลฯ
มันจะล่าสุดจริงหรือเปล่า.. ไม่คิดจะอัพเดทเลยเหรอ... จะล่าสุดไปได้สักกี่วัน...
ใส่เลข ปี-เดือน-วัน เป็น prefix หรือ suffix เข้าท่ากว่าน่า

นึกถึงสมัยที่ออก patch เกมอาทิตย์ละครั้ง เขาชอบก๊อปใส่ folder ชื่อ New Release ...
"กูจะรู้มั้ยว่า New ของมึงน่ะวันไหน?!" มัน new มาเดือนนึงแล้ว ต้องเดินถามให้แน่ใจอีกที เหอๆๆ
 
 
 
ทั้งหมดนี่ก็คือหลักการตั้งชื่อจากประสบการณ์ทำงานของผม ช่วงหนึ่งที่อยู่ตรงจุดคอขวดของโปรดัคชั่น
ต้องทำการจัดระเบียบไฟล์จากคนทั้งแผนก น่าจะเป็นแนวทางที่ใช้การได้ระดับหนึ่งล่ะ
เจอข้อผิดพลาดไม่เห็นด้วยประการใด ฝากติเพื่อก่อด้วยนะครับ
Tags: 3d 2 Comments

Comment

Comment:

Tweet

I will recommend not to hold back until you earn enough amount of money to buy goods! You can just get the <a href="http://goodfinance-blog.com">loan</a> or just student loan and feel fine

#2 By LillieMarquez (91.212.226.143) on 2011-10-07 10:41

ว้าว ดีจีงบทความนี้Hot! Hot!