ใช้เครื่องหมายขีดล่างในชื่อไฟล์หรือไม่


26

ฉันใช้บรรทัดคำสั่งบ่อยครั้งเพื่อสำรวจไฟล์ของฉันดังนั้นฉันจึงพยายามไม่ให้มีช่องว่างในชื่อไฟล์ โดยทั่วไปฉันใช้ขีดล่างเพื่อเชื่อมต่อคำ แต่เมื่อไม่นานมานี้มีข้อเสนอแนะว่าฉันควรใช้เครื่องหมายขีดกลาง มีข้อเสียใด ๆ ในการใช้ขีดเส้นใต้ในชื่อไฟล์หรือไม่? ฉันควรเปลี่ยนไปใช้ประหรือไม่? ระบบของฉันใช้งาน Xubuntu และฉันเกือบจะใช้เปลือก bash เป็นพิเศษ

ขอบคุณ



1
หากคุณจะใช้ LaTeX คุณอาจต้องปกป้องชื่อไฟล์ในวงเล็บ{...}สองอัน ในกรณีของสคริปต์อัตโนมัติคุณควรพิจารณา _ใช้ในการสร้างห้อยและจะต้องมีการรวมเช่นใน $...$ข้อผิดพลาดหลีกเลี่ยง แต่มันจะสร้างความแตกต่างกันข้อความจากสิ่งที่คุณจะคาดหวังว่า ใน terminal ที่ปรับปรุงแล้วของ gnuplot ด้วย ..
Hastur

คำตอบ:


23

เท่าที่ระบบปฏิบัติการมีความกังวลพวกเขาทั้งสองจะสามารถใช้งานได้เหมือนกัน

สิ่งหนึ่งที่ฉันจะทราบ - ซอฟต์แวร์บางตัว (เช่นระบบเล่นวิดีโอ - XBMC ฯลฯ ) จะแทนที่ขีดล่างด้วยช่องว่างโดยอัตโนมัติเมื่อแสดงไฟล์เพื่อให้ดูดีขึ้น

ด้วยเหตุผลเพียงอย่างเดียวฉันถูกล่อลวงให้ติดกับขีดเส้นใต้

นอกจากนี้ยังใช้เครื่องหมายยัติภังค์เพื่อเปลี่ยนเป็นคำสั่งดังนั้นจึงอาจมีความสับสนเล็กน้อยในการใส่ยัติภังค์ในชื่อไฟล์ของคุณเช่นเดียวกับในสวิตช์คำสั่งของคุณ

นอกเหนือจากนั้นมันหมดจดเพื่อตัวเลือกส่วนบุคคล


1
ฉันใช้ยัติภังค์ แต่นั่นก็เพราะฉันชอบหน้าตาดีกว่า เพื่อเหตุผลทางเทคนิคที่อยู่เบื้องหลังมัน
beatgammit

ขอบคุณ! นั่นคือสิ่งที่ฉันสงสัย แต่ฉันก็พบว่าการทำตามข้อสงสัยของฉันเพียงอย่างเดียวสามารถทำให้ฉันมีปัญหาได้
DQdlM

16

เส้นประไม่ต้องการให้คุณกด SHIFT ซึ่งหมายความว่าคุณพิมพ์เร็วขึ้น นั่นคือประโยชน์อื่น ๆ เท่านั้นที่ฉันสามารถนึกได้เหนือสิ่งที่นายเจนกินส์แนะนำ

ดูเหมือนว่าคนที่ทำข้อเสนอแนะนั้นเป็นผู้ใช้กลุ่มที่ต้องการและต้องการทำทุกอย่างด้วยการเคลื่อนไหวของแป้นพิมพ์จำนวนน้อยที่สุด


7
หากเป็นเช่นนั้นพวกเขาจะใช้viแทน - การกดแป้นน้อยกว่าหนึ่งครั้ง)
Majenko

4
@Matt มันalias'ed to vอย่างไรก็ตาม ;-)
Daniel Beck

+1 ด้วยเหตุผลเดียวกันนี้ฉันใช้เครื่องหมายขีดล่างกับชื่อตัวพิมพ์ใหญ่ทั้งหมดเช่นFOO_BAR(ฉันไม่ได้ใช้ตัวพิมพ์ใหญ่ดังนั้นจึงเป็นเรื่องดีที่สามารถกด Shift ค้างไว้ตลอดเวลา)
Richard Hansen

@DanielBeck ที่จริงผมมีนามแฝงว่าในทุบตีฉันเช่นเดียวกับgสำหรับgit:)
ม.ค. Warchoł

ฉันเชื่อว่า vim พิจารณาคำสองคำที่คั่นด้วยเครื่องหมายยัติภังค์เป็นคำเดียวดังนั้นนี่อาจเป็นเหตุผลที่ใช้ขีดเส้นใต้ในชื่อไฟล์เป็นผู้ใช้ vim
oddRaven

8

คำแนะนำของฉันคือการใช้ขีดล่างแทนการเว้นวรรค ขีดเส้นใต้มักจะเป็นแบบแผนที่ผู้คนใช้เมื่อแทนที่ช่องว่างแม้ว่ายัติภังค์ก็ดีเช่นกัน แต่เนื่องจากยัติภังค์อาจปรากฏในรูปแบบอื่นเช่นคำที่ใส่ยัติภังค์คุณจะประสบความสำเร็จมากขึ้นในการรักษาคุณค่าของชื่อโดยใช้เครื่องหมายขีดล่าง ตัวอย่างเช่นหากคุณมีไฟล์ชื่อ "รูปภาพที่ถ่ายใน Winston-Salem, NC.jpg" และคุณต้องการแปลงช่องว่างเป็นขีดล่างคุณสามารถรักษายัติภังค์ไว้ในชื่อและรักษาความหมายไว้ได้

ช่องว่างทำให้เกิดปัญหาสำหรับผู้ที่ต้องการใช้บรรทัดคำสั่งด้วยวิธีการขั้นสูงเช่นในการวนซ้ำเช่นนี้:

for file in *.mp3 ; do mpg321 $file -w - | oggenc -o ${file%%.mp3}.ogg - ; done

หากไฟล์ mp3 ใด ๆ ที่ตรงกับ wildcard นั้นมีช่องว่างในชื่อไฟล์นั้นจะทำให้ชื่อไฟล์แตกออกเป็นส่วน ๆ แทนที่จะเป็นทั้งไฟล์ คุณสามารถแก้ไขได้โดยการเปลี่ยนตัวแปร IFS ของเชลล์ BASH หรือใช้คำสั่ง find แต่มันน่ารำคาญและผู้คนจำนวนมากไม่รู้เรื่องนี้ดังนั้นมันอาจทำให้เกิดปัญหาได้

ฉันสงสัยว่าแคมเปญนี้หรือแม้กระทั่งสติกเกอร์กันชนจะป้องกันไม่ให้ผู้คนใส่ช่องว่างในชื่อไฟล์ แต่ถ้าคุณต้องการที่จะช่วยตัวเองมีพลังมากขึ้นสำหรับคุณและขอบคุณในนามของพวกเราที่สนใจ


1
ฉันเห็นด้วยอย่างยิ่ง ชื่อไฟล์ที่สร้างมาอย่างดีไม่จำเป็นต้องมีช่องว่าง
DQdlM

4
@ KennyPeanuts - แต่โปรแกรมที่เขียนได้ดีไม่สำลักช่องว่าง
detly

2
@detly - touche '
DQdlM

1
@detly ไม่โปรแกรมเมอร์ที่ดีเข้าใจดีว่าต้องมีข้อ จำกัด ในสิ่งที่คุณสามารถทำได้และควรทำ ถ้าคุณบอกว่ามันไม่ควรทำให้หายใจไม่ออกจากช่องว่างใครบางคนสามารถรวมมันเข้าด้วยกันและพูดว่ามันไม่ควรทำให้หายใจไม่ออกจากท้ายแถวแล้วใครบางคนก็บอกว่ามันไม่ควรทำให้หายใจไม่ออก / ในตอนท้ายของไฟล์ มีคำพูดเก่า ๆ ที่ว่า "สูตรสำหรับความล้มเหลว: พยายามทำให้ทุกคนพอใจ"
deltaray

1
ข้อมูลจำเพาะของระบบไฟล์บอกให้คุณรู้ว่าต้องใช้รหัสอะไรมากไม่น้อย บน Ext2 / 3/4 ตัวอย่างเช่นชื่อไฟล์อาจมีอักขระใด ๆ ยกเว้น\0หรือ\\\`. Coding to anything less than that is broken by design. So, no, it shouldn't choke on spaces, or EOL, or non-ASCII characters, or anything that isn't \ 0` หรือ `\ ' การใช้ฟังก์ชั่นห้องสมุดสำหรับการจัดการเส้นทางไฟล์เป็นวิธีที่จะไปเพราะคนอื่น ๆ ได้แก้ไขปัญหาเหล่านี้แล้ว
detly

5

เหตุผลเดียวที่คุณควรพิจารณาใช้ยัติภังค์แทนขีดล่างเพื่อความสามารถในการอ่านขั้นพื้นฐาน การขีดเส้นใต้บ่อยครั้งทำให้เกิดการบิดเบือนการอ่านเนื่องจากจะเปลี่ยนแนวการมองเห็นของคุณจากจุดศูนย์กลางของแกน y ไปยังด้านล่าง ยัติภังค์ทำให้ง่ายขึ้นในสายตา

เท่าที่ระบบปฏิบัติการมีความชัดเจนตัวละครทั้งสองนั้นใช้ได้อย่างเท่าเทียมกันและไม่จำเป็นต้องมีการหลบหนี (ช่องว่างใดที่ต้องทำ


2
ฉันพบว่าเหตุผลในการอ่านขั้นพื้นฐานทำให้เป็นเรื่องส่วนตัว ฉันพบว่าการอ่านเครื่องหมายขีดล่างง่ายขึ้นเพราะฉันสามารถเพิกเฉยต่อการมองเห็นได้ - ไม่ได้อ่าน - ในขณะที่ขีดกลางฉันต้องอ่าน
goliatone

3

ฉันชอบยัติภังค์มากกว่าเพราะคุณไม่จำเป็นต้องกดปุ่ม Shift ค้างไว้ แต่สิ่งหนึ่งที่ต้องจำคือถ้าคุณกำลังทำการเขียนโค้ดของไพ ธ อนเป็นหลัก - และทรีโค้ดของคุณมีไฟล์ / ไดเรกทอรีที่มียัติภังค์อยู่ในนั้นและคุณตั้งใจจะใช้มันเป็นโมดูล (ทำชื่อไฟล์นำเข้าในรหัสของคุณ) ในฐานะที่เป็นโมดูลหลามไม่สามารถมียัติภังค์ในพวกเขา แน่นอนว่ามีวิธีการนำเข้าโมดูลที่มีเครื่องหมายยัติภังค์ แต่ฉันก็เน้นย้ำเพราะมันเป็นไปตามแนวทาง PEP-8

ดังนั้นสำหรับ bin / โปรแกรมหรือนามแฝงส่วนใหญ่ของฉันฉันใช้เครื่องหมายขีดคั่น แต่เมื่อพูดถึงการเขียนโปรแกรม / โมดูลหลาม - ฉันใช้เครื่องหมายขีดล่าง


2

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

URL               What search indexes see
foo-baz-bang      foo baz bang
foo_baz_bang      foobazbang

ในฐานะนักพัฒนาเว็บฉันบังคับให้ฉันต้องใช้เครื่องหมายยัติภังค์เมื่อแยกคำ


1
บริบทที่กล่าวถึงข้างต้นอาจเกี่ยวข้องกับสิ่งอื่น ๆ - โพสต์บล็อกของ Matt Cutts ในปี 2005 ที่เกี่ยวข้องกับการตั้งค่าอัลกอริทึมของ Google สำหรับการใช้เครื่องหมายขีดกลางและขีดล่างเพื่อเป็นตัวบ่งชี้ที่ดีขึ้นของพื้นที่สีขาว
jmmygoggle
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.