ข้อตกลงการตั้งชื่อไฟล์ Unix [ปิด]


61

ฉันสงสัยว่าอะไรคือหลักการตั้งชื่อไฟล์ใน Unix? ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ แต่ฉันคิดว่าอาจมีแบบแผนการตั้งชื่อสากลที่ควรปฏิบัติตาม?

ตัวอย่างเช่นฉันต้องการตั้งชื่อไฟล์ว่า: backupด้วยpart 2และrandom

ฉันควรทำเช่นนี้:

backup_part2_random

หรือ

backup-part2-random

หรือ

backup.part2.random

ฉันหวังว่าคำถามจะชัดเจน โดยพื้นฐานแล้วฉันต้องการเลือกรูปแบบที่สอดคล้องกับปรัชญา Unix


4
ตามความคิดเห็นทั่วไปเรื่อง "อนุสัญญา" ... ฉันเพิ่งอ่านคำตอบทั้งหมดและมันทำให้ฉันรู้สึกแปลก ๆ ว่ามันเกือบจะเต็มไปด้วยการใช้เพียงกรณีเดียวในระบบที่ (ฉันคิดว่า) จุดแข็งอย่างหนึ่งของมันคือความสามารถในการใช้ทั้งสองกรณีอย่างมีความหมาย ... เป็นการออกแบบดั้งเดิม (ตรงตามตัวพิมพ์ใหญ่ - เล็ก) และการออกแบบที่เหนือชั้น) ... เพียงแค่ musing
Peter.O

ความคิดเห็นของฉัน: ไม่มีการประชุม ชื่อไฟล์เป็นเพียงสตริง เลือกสไตล์ที่คุณชื่นชอบ
เกล็นแจ็คแมน

1
เป็นเพราะไม่มีใครต้องการจดจำการใช้อักษรตัวใหญ่ของคำสั่งดังนั้นพวกเขาจึงใช้เหมือนกัน
LtWorf

คำตอบ:


57

.จะใช้ในการแยกส่วนขยาย filetype foo.txtเช่น

-หรือ_จะใช้ในการแยกคำตรรกะเช่นหรือบางครั้ง my-big-file.txt ดีกว่าเพราะคุณไม่จำเป็นต้องกดปุ่ม Shift (อย่างน้อยก็ใช้แป้นพิมพ์มาตรฐานภาษาอังกฤษแบบพีซีของสหรัฐอเมริกา) คนอื่น ๆ ก็ชอบเพราะดูเหมือนว่ามีพื้นที่มากกว่าmy_big_file.txt-_

ดังนั้นถ้าฉันเข้าใจตัวอย่างของคุณbackup-part2-randomหรือbackup_part2_randomจะใกล้เคียงกับการประชุม Unix ปกติ


โดยปกติแล้ว CamelCase จะไม่ใช้กับระบบ Linux / Unix มีลักษณะที่ชื่อไฟล์ในและ/bin /usr/binCamelCase เป็นข้อยกเว้นมากกว่ากฎบนระบบ Unix และ Linux

( NetworkManagerเป็นเพียงตัวอย่างเดียวที่ฉันสามารถนึกได้ว่าใช้ CamelCase และเขียนโดยนักพัฒนา Mac หลายคนบ่นเรื่องตัวเลือกชื่อนี้บน Ubuntu พวกเขาได้เปลี่ยนชื่อสคริปต์เป็นnetwork-managerจริง)

ตัวอย่างเช่น/usr/binบนระบบของฉัน:

$ ls -d [A-Z]* | wc -w    # files starting with a capital
6
$ ls -d *_* | wc -w       # files containing an underscore
178
$ ls -d *-* | wc -w       # files containing a minus/dash
409

และถึงแม้จะไม่มีไฟล์ใดที่เริ่มต้นด้วยตัวพิมพ์ใหญ่ใช้ CamelCase:

$ ls -d [A-Z]*
GET  HEAD  POST  X11  Xvnc  Xvnc4

.ถ่านยังสามารถใช้ในการหมุนสิ่งที่ไม่เพียง แต่จะระบุนามสกุล my.log my.log.1 my.log.2.gzเช่น
Depado

ดังนั้นเครื่องหมายยัติภังค์ / เครื่องหมายขีด / จึงเป็นเรื่องธรรมดาที่ขีดล่าง
Hugo

@Hugo ใช่ ด้านบนแสดงเครื่องหมายลบ (409) และขีดล่าง (178)
Mikel

ขอบคุณ คุณมีการอ้างอิงใด ๆ สำหรับการประชุมเหล่านี้หรือไม่?
ชนชั้น

3
+1 สำหรับการอ้างอิง (@Proletariat ที่lsส่งออกมา/usr/bin เป็น . อ้างอิงนี้เป็นคำถามเกี่ยวกับการประชุม. )
Wildcard

35

ห่างไกลสิ่งสำคัญมากที่การประชุมโดยเฉพาะอย่างยิ่งคือความสอดคล้องกัน เลือกสไตล์และติดกับมัน


19

ข้อตกลงการใช้ชื่อไฟล์ Unix / Linux ของฉัน:

  • ระบบไฟล์ Unix / Linux ไม่รองรับความคิดของนามสกุล แนวคิดของนามสกุลไฟล์สมบูรณ์อยู่เป็นสิ่งที่ได้รับการสนับสนุนโดยสาธารณูปโภคเช่นcp, lsหรือเปลือกที่คุณกำลังใช้ ฉันเชื่อว่านี่เป็นวิธีการของ NTFS เช่นกัน แต่ฉันคิดผิด

  • ไฟล์เรียกทำงานได้รวมถึงเชลล์สคริปต์โดยทั่วไปจะไม่มีส่วนขยายใด ๆ สคริปต์จะมีบรรทัด hashbang (เช่น#!/bin/bash) ที่ระบุโปรแกรมที่ควรตีความ

  • ปฏิบัติการใด ๆ ที่มีความยาวสองตัวอักษรมีความสำคัญมาก ดังนั้นอย่าตั้งชื่อไฟล์สองตัวอักษรที่สามารถเรียกใช้งานได้ของคุณ ไฟล์ใด ๆ ใน/etcที่ลงท้ายด้วยtabนอกจากนี้ยังเป็นสิ่งสำคัญที่สุดเช่นfstab, ,mtabinittab
  • บางครั้ง.dมีการต่อท้ายชื่อไดเรกทอรีโดยเฉพาะอย่างยิ่งใน/etcแต่ยังไม่แพร่หลาย (อัปเดต: https://serverfault.com/questions/240181/what-does-the-suffix-d-mean-in-linux )
  • rcใช้กันอย่างแพร่หลายสำหรับสคริปต์การกำหนดค่าหรือไฟล์ไม่ว่าจะเป็นการเตรียม (เช่นrc.local) หรือการต่อท้าย ( .vimrc)
  • ชุมชน Unix / Linux ไม่เคยมีข้อ จำกัด สามอักขระสำหรับส่วนขยายและขมวดคิ้วเมื่อตัดทอนส่วนขยายที่เหมาะสม ยกตัวอย่างเช่นไม่ได้ใช้.htmในตอนท้ายของไฟล์ HTML บน Unix / Linux, .htmlการใช้งาน
  • ในชุดของไฟล์ชื่อไฟล์บางครั้งจะเป็นตัวพิมพ์ใหญ่หรือในตัวพิมพ์ใหญ่ทั้งหมดดังนั้นจึงปรากฏที่ส่วนหัวของรายการไดเรกทอรี ตัวอย่างคลาสสิกอยู่Makefileในซอร์สแพ็กเกจ ทำสิ่งนี้เพื่อสิ่งที่ชอบREADMEเท่านั้น
  • ~จะใช้เพื่อระบุแฟ้มสำรองข้อมูลหรือไดเรกทอรีเช่นในหรือimportant_stuff~ /etc~เปลือกหอยจำนวนมากจะขยายตัวคนเดียวไป ~$HOME
  • libไฟล์ห้องสมุดมักจะเริ่มต้นด้วย มีข้อยกเว้นzlibและอาจเป็นเพียงบางส่วน
  • สคริปที่มีการเรียกโดย inetd บางครั้งติดแท็กด้วยชั้นนำเช่นin.in.tftpd
  • การลงท้ายด้วย z vmlinuzหมายถึงการบีบอัดข้อมูล แต่ฉันไม่เคยเห็นไฟล์อื่น ๆ

2
ฉันมักจะเห็นเชลล์สคริปต์ด้วย.sh"ส่วนขยาย" ในพวกเขา ผมเองพบว่ามันน่ารำคาญบ้าง .shแต่ผมต้องยอมรับว่าผมอาจจะไม่รู้เหตุผลที่ดีบางอย่างสำหรับการใช้
Dan Molding

4
สิ่งหนึ่งอยู่ในใจว่ามันมีประโยชน์ที่จะเน้นความจริงที่ว่ามันเป็นสคริปต์แบบข้อความและไม่ใช่ไบนารี
LawrenceC

1
@DanMoulding โดยส่วนตัวแล้วฉันใช้.shกับสคริปต์ที่ (1) ไม่ได้ตั้งใจให้เรียกใช้แบบโต้ตอบ แต่เฉพาะจากสคริปต์ / โปรแกรมอื่น ๆ หรือ (2) ถูกออกแบบมาเพื่อการจัดหามากกว่าการดำเนินการ ก่อนหน้านี้พวกเขาจะต้องปฏิบัติการได้; สำหรับตอนหลังฉันปล่อยให้บิตที่สามารถเรียกทำงานออกได้และใช้บรรทัด shebang เฉพาะสำหรับการจัดทำเอกสารของฟังก์ชั่นที่เชลล์เขียนไว้
สัญลักษณ์แทน

3
@ Wildcard ฉันมีมาตั้งแต่ (6 ปีที่แล้ว) เข้าสู่นิสัยเดียวกันนี้ ส่วนขยายนั้นสมเหตุสมผลมากสำหรับการจัดหาบิตสคริปต์ ตัวอย่างเช่นจากสคริปต์ปฏิบัติการที่เขียนขึ้นสำหรับ zsh (เช่น#!/bin/zshที่ด้านบน) คุณรู้ว่าคุณสามารถแหล่งไฟล์อื่นอย่างปลอดภัยด้วยนามสกุล. zsh และต้องแน่ใจว่ามันมีรหัส zsh ตามกฎหมาย หากสคริปต์ที่ใช้งานได้ของคุณนั้นสอดคล้องกับ Bourne Shell อย่างเคร่งครัด (เช่น#!/bin/shที่ด้านบน) คุณจะรู้ว่าการจัดหาไฟล์. zsh นั้นจะเป็นปัญหา
Dan Molding เมื่อ

4
ฉันพบว่าการใช้ ".sh", ".py", ".pl" ฯลฯ สะดวกและโปรแกรมแก้ไขข้อความ (เช่น Geany) ใช้สิ่งเหล่านั้นเพื่อคาดเดาคำแรกในรูปแบบการเน้นไวยากรณ์ที่เหมาะสม
bgvaughan

7

ในชื่อไฟล์ unix เป็นเพียงสตริงซึ่งแตกต่างจาก DOS ที่ชื่อไฟล์ประกอบด้วยจากชื่อและนามสกุล ดังนั้นชื่อไฟล์ใด ๆ ก็ตามจึงเป็นที่ยอมรับอย่างสมบูรณ์

แต่หลายโปรแกรมยังคงใช้คำต่อท้ายไฟล์ที่ขึ้นต้นด้วย dot เพื่อแยกประเภทไฟล์ที่แตกต่างเช่น Apache Web Server ใช้คำต่อท้ายเพื่อตั้งค่าประเภท MIME ที่ถูกต้องในส่วนหัวของคำตอบ


5
ในขณะที่ gelraen นั้นถูกต้อง 100%: Unix / Linux เช่นนั้นไม่สนใจเกี่ยวกับนามสกุลของไฟล์ แต่รสชาติที่ทันสมัยของ Linux จะสนใจตราบใดที่ shell shell บางตัวมีการระบุพิเศษ (สีหรืออื่น ๆ ) ของไฟล์บางประเภทและตัวจัดการไฟล์ ด้วยโปรแกรม แต่สิ่งที่สำคัญสำหรับผู้ใช้คือมนุษย์ต้องรู้ว่าไฟล์ประเภทใด ด้วยเหตุนี้จึงสะดวกที่จะยึดติดกับรูปแบบมาตรฐานไม่เพียง แต่สอดคล้องกับตัวคุณเอง แต่กับผู้อื่น ในแง่นี้สิ่งต่าง ๆ ไม่ควรแตกต่างจาก MS Windows (หรือ MIME) มากเกินไป
asoundmove

ที่กล่าวว่าบางครั้งสไตล์การขยายที่แตกต่างกันสามารถตรงกับวัตถุประสงค์เดียวกัน ดังนั้น. tar.gz จึงเท่ากับ. tgz, .tar.bz2 = .tbz, .ps.gz มักย่อให้เป็น. ps (สับสน) และฉันมั่นใจว่ามีอีกมากมาย
asoundmove

@asoundmove .ps.gz หมายความว่าเป็นไฟล์. ps ที่บีบอัด เช่นเดียวกับ. tar.gz หมายถึงไฟล์. tar ที่ถูกบีบอัด
jonescb

1
@ jonescb ใช่แน่นอน จุดของฉันเกี่ยวกับความสับสนคือเมื่อฉันเห็น. ps ฉันคาดหวังว่าไฟล์ที่ไม่บีบอัด (ซึ่งฉันควรจะสามารถ cat หรือน้อยกว่า) แต่บ่อยครั้งที่ไฟล์. ps ถูกบีบอัดและควรเป็น. ps.gz เพื่อความชัดเจน ( เนื่องจากต้องการ zcat หรือ zless สำหรับการดูซอร์สโค้ด) บางคนตัดสินใจที่จะต่อท้ายไฟล์ PostScript ที่บีบอัดด้วย. ps ต่อไปเพราะผู้ชม ps ทั่วไปบางคนไม่สนใจว่าจะถูกบีบอัดหรือไม่
asoundmove

6

สองความคิด:

  1. ในNaming Variables, Functions, and Filesส่วนของมาตรฐานการเข้ารหัสของGNUคุณจะพบกับ:

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

    ในขณะที่ IMO พูดว่า "คุณควรใช้_เพราะ emacs" ดูเก่าไปหน่อย แต่มันก็อยู่ในเอกสาร 'มาตรฐาน' ของพวกเขา

  2. เราสมมติว่าสักครู่ที่เราทุกคนเห็นพ้องต้องกันว่าเคอร์เนลลินุกซ์เป็นโครงการแบบลินุกซ์และแบบ end-all-and-end-all * และการประชุมที่ใช้นั้นมีสิ่งที่อาจถือได้ว่าเป็นการประชุมแบบ 'มาตรฐาน'

    grepไอเอ็นจีแหล่งสำหรับเคอร์เนลลินุกซ์คุณจะพบต่อไปนี้:

    • 44.6%ของเวลาที่ใช้เส้นประเท่านั้น
    • 54.1%ของเวลานั้นขีดเส้นใต้เท่านั้น
    • 1.2%ของเวลาที่ไฟล์ใช้ทั้งคู่

ที่น่าสนใจแหล่งที่มาของ git นั้นมีน้ำหนักอยู่ที่85%สำหรับขีดกลาง, 3.8%สำหรับขีดล่างและ11.1%สำหรับทั้งคู่

ทางเลือกนั้นชัดเจนถกเถียงกัน ;)

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

* หรือ "be_all และ end_all" หากคุณต้องการ


4

ตัวละครที่คุณไม่ควรใช้ในชื่อไฟล์:

| ; ,! @ # $ () <> / \ "'` ~ {} [] = + & ^

ตัวคั่นอักขระที่คุณควรใช้เพื่อทำให้ชื่ออ่านง่ายขึ้น:

_ -. :

(ในบางกรณี ":" มีความหมายพิเศษแม้ว่า)


5
แน่นอนคุณไม่สามารถใช้ "/" ในชื่อไฟล์ได้ ทุกอย่างเป็นไปได้ และถ้าคุณต้องการทำให้เข้าถึงได้ยากมีประโยชน์ ;-)
Jürgen A. Erhard

รายการมีความยาวมากกว่าจริงรวมถึงตัวควบคุมและอักขระที่ไม่ใช่ ASCII ใช่คุณสามารถมี backspace เป็นส่วนหนึ่งของชื่อไฟล์ * nix
l0b0

1
จนถึงจุดนี้ระบบ * nix ส่วนใหญ่ไม่อนุญาตเฉพาะอักขระสองตัวเท่านั้นในชื่อไฟล์: /ตัวคั่นพา ธ และตัวคั่นสตริง \ 0 (ASCII ศูนย์)
CVn

4

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

  • คุณแชร์ระบบไฟล์ของคุณกับคอมพิวเตอร์เครื่องอื่นโดยเฉพาะกับระบบปฏิบัติการที่แตกต่างกัน
  • คุณแชร์ไฟล์กับคนอื่น ๆ (และแม้ว่าอีเมลจะค่อนข้างดีกับการแปลง แต่บางครั้งมันก็ไม่ได้ผล)
  • คุณใช้เชลล์สคริปต์เพื่อทำงานบางอย่างโดยอัตโนมัติ (ช่องว่างเป็นปัญหาโดยเฉพาะแม้ว่าจะมีหลายวิธีในการจัดการกับมัน)
  • คุณใช้การแชร์ไฟล์จากคอมพิวเตอร์เครื่องอื่น

...


3

ติดกับชื่อไฟล์ตัวอักษรและตัวเลข หลีกเลี่ยงช่องว่างหรือแทนที่ช่องว่างด้วยเครื่องหมายขีดล่าง (_) จำกัด เครื่องหมายวรรคตอนในชื่อไฟล์เป็นจุด (.), ขีดล่าง (_) และเครื่องหมายขีดกลาง (-) โดยทั่วไปชื่อไฟล์จะเป็นตัวพิมพ์เล็ก แต่ฉันใช้ CamelCase เมื่อฉันมีหลายคำในชื่อไฟล์

ใช้นามสกุลที่ระบุประเภทของไฟล์ โปรแกรมไม่ต้องการส่วนขยายเนื่องจากบิตรันไทม์ใช้เพื่อระบุโปรแกรมและเชลล์รู้วิธีเรียกใช้โปรแกรมประเภทต่าง ๆ เป็นเรื่องปกติ แต่ไม่จำเป็นต้อง (.sh) สำหรับเชลล์สคริปต์และ (.pl) สำหรับสคริปต์ Perl นามสกุล. executable Windows .bat, .com, .scr และ. exe ระบุว่าไฟล์ปฏิบัติการ Windows บน Unix

เลือกมาตรฐานและติดมัน แต่มันจะไม่แตกหักหากคุณหลีกเลี่ยง

ไฟล์ที่ซ่อน (หรือจุด) มีชื่อขึ้นต้นด้วยจุด โดยปกติแล้วสิ่งเหล่านี้จะไม่ปรากฏในรายชื่อไดเรกทอรี ใช้ 'ls -a' เพื่อรวมไฟล์จุดในรายการ


5
CamelCase เป็นรูปแบบการต่อต้านใน Unix OP ได้ถามเกี่ยวกับการประชุม
มิเคล

2
มันไม่ได้ "เลวร้าย" กับ "ดี" มันคือ "นี่เป็นวิธีการทำตามปกติ" มันเป็นการประชุมที่ OP ขอมา เหตุผล? อาจเป็นเพราะคนที่ Unix ไม่ชอบกด Shift อาจเป็นเพราะระบบเก่ามีเพียง UPPERCASE หรือด้วยเหตุผลอื่น ฉันไม่แน่ใจ.
มิเคล

@ Mikel ฉันยังโปรแกรม Java ที่ CamelCase เป็นแบบแผน บางครั้งรูปแบบและการประชุมขัดแย้งกัน
BillThor

.scr ยังเป็นส่วนขยายที่ปฏิบัติการได้ของ Windows
LawrenceC

1
@ultrasawblade ขอบคุณแสดงให้เห็นว่าฉันสคริปต์ Windows บ่อยแค่ไหน ฉันพยายามข้ามส่วนขยายที่รันได้ยากกว่าเช่น cmd, pif, vb *, wsh และส่วนที่เหลือ
BillThor

2

แบบแผนหนึ่งคือการใช้ "_" เพื่อแทนที่ช่องว่างเป็นตัวคั่นระหว่างคำ สามารถใช้อักขระอื่นเพื่อแทนที่ช่องว่างได้ แต่มีการใช้งานทั่วไปที่เข้มงวดกว่าสำหรับ "-" และ " ในชื่อพา ธ ดังนั้น "_" จึงเป็นที่ต้องการ

ช่องว่างถูกต้องตามกฎหมายในชื่อพา ธ แต่จะหลีกเลี่ยงตามอัตภาพเนื่องจากต้องระบุชื่อพา ธ ("foo bar") หรือหนีช่องว่าง (foo \ bar) เชลล์สคริปต์ที่เขียนอย่างถูกต้องจะอ้างอิงตัวแปรที่อาจรวมถึงช่องว่างโดยเฉพาะชื่อพา ธ แต่การไม่ทำเช่นนั้นเป็นเรื่องการกำกับดูแลทั่วไปและเป็นเรื่องที่ต้องพิมพ์เพิ่มอีกมากเมื่อทำการป้อนคำสั่งครั้งเดียวที่บรรทัดคำสั่ง

การใช้ "-" เพื่อแยกกลุ่มของตัวเลขเช่นเดียวกับในเวลาประทับหรือหมายเลขซีเรียลเป็นข้อตกลงที่ใช้กันโดยทั่วไปนอกบริบทของระบบไฟล์ ใช้ "." เพื่อแยก "นามสกุลไฟล์" ที่ระบุประเภทของไฟล์เป็นเรื่องธรรมดามากและเครื่องมือสำคัญบางอย่างก็ขึ้นอยู่กับมัน ตัวอย่างเช่นระบบการจัดการบรรจุภัณฑ์บน Red Hat Enterprise Linux และ RPM คาดการณ์ว่าไฟล์แพ็กเกจจะลงท้ายด้วย ".rpm" tarball แบบดั้งเดิมเป็นไฟล์ tar (".tar") ที่ได้รับการ gzipped (".gz") และสิ้นสุดใน ".tar.gz"

ดังนั้นเมื่อรวมเข้าด้วยกันคุณมักจะเจอชื่อไฟล์ที่ดูเหมือนว่า "home_backup_2017-07-01.tar.gz"


2

ใช้-หรือ_สำหรับการตั้งชื่อไฟล์
_สำหรับฟังก์ชั่น
.สำหรับส่วนขยาย

cat << EOF > foo-bar.sh  
foo_bar() {  
echo baz  
}  
EOF  

0

ฉันเห็นด้วยกับ David Oneill ว่าคุณควรไปกับอะไรซักอย่าง

แต่มันก็ดีถ้าไฟล์นั้นเรียงได้ใน dir เดียวกันดังนั้นอย่าเลข0 ..10 แต่เลข00 ..10

เมื่อใช้วันที่ในชื่อไปกับรูปแบบวันที่มาตรฐานเช่นISO8601

และอย่ากลัวที่จะใช้ตัวอักษรหลายตัวเพื่อแยกส่วนตรรกะในชื่อ หากคุณใช้_ (นั่นคือ 3 _) คุณสามารถทำให้ regexps ในชื่อไฟล์ง่ายขึ้นในภายหลัง

ดังนั้นตัวอย่างของคุณอาจเป็นดังนี้:

backup_2011-06-19T114012___part002___random

ง่ายต่อการอ่านและง่ายต่อการแยกวิเคราะห์ด้วยสคริปต์


0

คำในชื่อไฟล์สามารถแยกด้วย_หรือ-ตามการประชุม Unix

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

ในการเขียนสคริปต์เปลือกและการเขียนโปรแกรมคอมพิวเตอร์อื่น ๆที่ใช้สำหรับตัวแปรหลายคำเช่น_ MY_ENVIRONMENT_FILEทำให้ชื่อไฟล์ใช้_เช่นกันทำให้มันสอดคล้องกัน: MY_ENVIRONMENT_FILE=~/my_environment_file.

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

ในบรรณาธิการและเว็บเพจส่วนใหญ่this_long_wordสามารถเลือกได้อย่างสมบูรณ์ด้วยการคลิกสองครั้ง แต่ไม่สามารถthis-long-wordเลือกได้


อืมทำไมคุณถึงอ่านชื่อไฟล์ของคุณในแบบอักษรที่มีความกว้างตัวแปร เปิดเทอร์มินัลของคุณ-และ_ใช้พื้นที่เท่ากันทั้งหมด! :)
สัญลักษณ์แทน

ฮ่าฮ่าคุณพูดถูก ฉันใช้แบบอักษรที่แก้ไขแล้ว SourceCodePro + Powerline + Awesome ปกติ ถึงแม้จะมีแบบอักษร monospace, ดูสะอาดแม้ว่ามันจะใช้พื้นที่เดียวกับ_ -ฉันควรใช้คำว่า "ชัดเจน" เกี่ยวกับ_และ-เมื่อใช้แบบอักษร monospace ความแตกต่างสามารถอธิบายได้ดีที่สุดด้วยภาพอะนาล็อกนี้: evsc.net/v8/wp/wp-content/uploads/2010/09/ …
GMaster

-1

มีมาตรฐานสำหรับ Linux แน่นอน หากคุณดูชื่อไฟล์ในระบบ Linux ใด ๆ พวกเขาจะเป็นตัวพิมพ์เล็กด้วยขีดกลาง: / usr / bin / ssh-keygen มีการระบุไว้ในหนึ่งในเอกสารฐานมาตรฐาน Linux ที่ฉันไม่สามารถหาได้ในตอนนี้ มันถูกระบุโดย GNU ซึ่งบอกว่าใช้ขีดล่างสำหรับชื่อตัวแปรและขีดกลางสำหรับชื่อไฟล์


-2

หากต้องการเพิ่มสิ่งที่ทุกคนพูด:

1- แม้ว่า Linux จะไม่สนใจเกี่ยวกับส่วนขยาย แต่อย่างใด Windows จึงควรตรวจสอบให้แน่ใจว่าไฟล์ใด ๆ ที่คุณวางแผนที่จะให้ทุกคนมีส่วนขยายที่เหมาะสม

ดูเหมือนว่าหมวก 2-Camel นั้นเป็นสคริปต์ที่ใช้งานง่ายที่สุดไม่มีตัวอักษรพิเศษที่ต้องกังวลเกี่ยวกับลำดับการหลีกเลี่ยง


5
-1 CamelCase ไม่ได้ใช้บน Linux
มิเคล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.