ควรตั้งชื่อไฟล์ some-with-hyphens.js, camelCased.js หรืออย่างอื่น?
ควรตั้งชื่อไฟล์ some-with-hyphens.js, camelCased.js หรืออย่างอื่น?
คำตอบ:
ระเบียบการตั้งชื่อที่เป็นไปได้ข้อหนึ่งคือใช้สิ่งที่คล้ายกับรูปแบบการตั้งชื่อ jQuery ใช้ มันไม่ได้นำมาใช้ในระดับสากล แต่เป็นเรื่องธรรมดา
product-name.plugin-ver.sion.filetype.js
ที่product-name+ pluginคู่ยังสามารถเป็นตัวแทนของnamespaceและโมดูล versionและfiletypeมักจะมีตัวเลือก
filetypeสามารถเป็นสิ่งที่สัมพันธ์กับเนื้อหาของไฟล์ มักจะเห็นคือ:
min สำหรับไฟล์ที่ย่อเล็กสุดcustom สำหรับไฟล์ที่สร้างหรือแก้ไขเองตัวอย่าง:
jquery-1.4.2.min.jsjquery.plugin-0.1.jsmyapp.invoice.jsฉันไม่ได้ตระหนักถึงการประชุมเฉพาะสำหรับไฟล์จาวาสคริปต์เพราะพวกเขาไม่ได้เป็นเอกลักษณ์จริง ๆ บนเว็บเมื่อเทียบกับไฟล์ css หรือไฟล์ html หรือไฟล์ประเภทอื่น ๆ เช่นนั้น มีบางสิ่งที่ "ปลอดภัย" ที่คุณสามารถทำได้ทำให้มีโอกาสน้อยที่คุณจะเจอกับปัญหาข้ามแพลตฟอร์ม:
various-scripts.jsกับเครื่องหมายยัติภังค์เป็นตัวคั่นที่ปลอดภัยและมีประโยชน์และใช้กันทั่วไปไม่มีอย่างเป็นทางการเป็นสากลการประชุมสำหรับการตั้งชื่อไฟล์ JavaScript
มีตัวเลือกต่าง ๆ :
scriptName.jsscript-name.jsscript_name.jsเป็นแบบแผนการตั้งชื่อที่ถูกต้องทั้งหมด แต่ฉันชอบแบบแผนการตั้งชื่อที่แนะนำ jQuery (สำหรับปลั๊กอิน jQuery แม้ว่ามันจะใช้ได้กับ JS ใด ๆ )
jquery.pluginname.jsความงามที่จะตั้งชื่อนี้เป็นที่ชัดเจนอธิบายมลพิษ namespace โลกที่เพิ่มเข้ามา
foo.js เพิ่ม window.foofoo.bar.js เพิ่ม window.foo.barเพราะฉันออกเวอร์ชัน: มันควรมาหลังจากชื่อเต็มคั่นด้วยยัติภังค์โดยมีจุดระหว่างรุ่นหลักและรุ่นรอง:
foo-1.2.1.jsfoo-1.2.2.jsfoo-2.1.24.jsThe beauty to this naming convention is that it explicitly describes the global namespace pollution being added.ไม่เคยสังเกตว่า
FooหรือmyFooคุณจะตั้งชื่อไฟล์Foo.jsหรือmyFoo.jsตามลำดับ?
คำถามในลิงก์ที่คุณพูดถึงเกี่ยวกับการตั้งชื่อตัวแปร JavaScript ไม่ใช่เกี่ยวกับการตั้งชื่อไฟล์ดังนั้นลืมเกี่ยวกับสิ่งนั้นสำหรับบริบทที่คุณถามคำถามของคุณ
สำหรับการตั้งชื่อไฟล์มันเป็นเรื่องของความชอบและรสนิยมอย่างหมดจด ฉันชอบตั้งชื่อไฟล์ด้วยยัติภังค์เพราะฉันไม่ต้องไปถึงปุ่ม shift อย่างที่เคยทำเมื่อจัดการกับชื่อไฟล์ camelCase และเนื่องจากฉันไม่ต้องกังวลเกี่ยวกับความแตกต่างระหว่างชื่อไฟล์ Windows และ Linux (ชื่อไฟล์ Windows ไม่ตรงตามตัวพิมพ์เล็ก - ใหญ่อย่างน้อยต้องผ่าน XP)
ดังนั้นคำตอบก็เหมือนกับ "ขึ้นอยู่กับ" หรือ "ขึ้นอยู่กับคุณ"
กฎข้อหนึ่งที่คุณควรปฏิบัติตามคือให้สอดคล้องในการประชุมที่คุณเลือก
ฉันชอบยัติภังค์ที่มีตัวพิมพ์เล็ก แต่สิ่งหนึ่งที่ยังไม่ได้กล่าวถึงคือบางครั้งมันก็ดีที่มีชื่อไฟล์ตรงกับชื่อของโมดูลเดียวหรือฟังก์ชั่นที่ใช้งานได้ทันทีที่อยู่ภายใน
ตัวอย่างเช่นฉันมีโมดูลที่เปิดเผยพร้อมกับประกาศvar knockoutUtilityModule = function() {...}ภายในไฟล์ของตัวเองที่ชื่อว่า knockoutUtilityModule.js แม้ว่าในทางวัตถุฉันจะชอบ knockout-utility-module.js
ในทำนองเดียวกันเนื่องจากฉันใช้กลไกการรวมเพื่อรวมสคริปต์ฉันจึงใช้เพื่อกำหนดฟังก์ชั่นที่ใช้งานได้ทันที (ดูรุ่นของเทมเพลตเป็นต้น) ในไฟล์ของตัวเองสไตล์ C # เพื่อการบำรุงรักษา ตัวอย่างเช่น ProductDescriptorViewModel มีชีวิตอยู่ในตัวมันเองภายใน ProductDescriptorViewModel.js (ฉันใช้ตัวพิมพ์ใหญ่สำหรับฟังก์ชันที่ใช้งานได้ทันที)
MyPluginส่วนประกอบตอบสนองจะไปใน devs อื่น ๆ จะต้องนำเข้า / 'ของคุณเย็นโมดูล' และใช้สัญลักษณ์หลายรายการจากมันเพื่อให้ชื่อมัน -MyPlugin.jsMenuItemMenuItem.jscool-module.js