คำถามติดแท็ก naming-conventions

ระเบียบการตั้งชื่อหมายถึงกฎทั่วไปที่ควบคุมชื่อที่กำหนดให้กับการสร้างโปรแกรมมิงเช่นตัวแปรและวิธีการ อนุสัญญาเหล่านี้อำนวยความสะดวกในการอ่านและปรับปรุงความสามารถในการบำรุงรักษาของรหัสโดยบังคับใช้การตั้งชื่อที่สอดคล้องกันระหว่างโมดูลที่แตกต่างกัน

2
หลักการตั้งชื่อสำหรับไฟล์คลาสบางส่วน
ฉันกำลังสร้างรหัสนั่งร้าน ASP.NET MVC จำนวนมาก ไฟล์ที่สร้างขึ้นทั้งหมดเป็นคลาสบางส่วนซึ่งใช้หลักการตั้งชื่อมาตรฐาน ตัวอย่างเช่นไฟล์ตัวควบคุมพนักงานของฉันชื่อ EmployeeController.cs หากฉันต้องการขยาย EmployeeController ด้วยตรรกะที่กำหนดเองและไม่ได้สร้างขึ้นฉันจะสร้างไฟล์คลาสบางส่วนที่สองชื่อ EmployeeControllerCustom.cs ฉันแยกตรรกะที่กำหนดเองและสร้างออกเป็นสองไฟล์ที่แตกต่างกันดังนั้นในครั้งต่อไปที่ฉันสร้าง EmployeeController การเปลี่ยนแปลงที่กำหนดเองของฉันจะไม่ถูกเขียนทับ การเพิ่มคำต่อท้าย "กำหนดเอง" ให้กับชื่อไฟล์ดูเหมือนจะสมเหตุสมผลสำหรับฉัน แต่มีหลักการตั้งชื่อไฟล์คลาสบางส่วนที่เป็นที่ยอมรับมากขึ้นซึ่งฉันควรปฏิบัติตามหรือไม่

14
“ ID” หรือ“ Id” บนอินเทอร์เฟซผู้ใช้
ผู้จัดการ QA ที่ฉันทำงานอยู่เพิ่งแจ้งว่ามีข้อบกพร่องในแอปเดสก์ท็อปของฉันเนื่องจากข้อความแจ้งการลงชื่อเข้าใช้เป็น "Operator Id" ซึ่งควรเป็น "Operator ID" เธอโต้แย้งว่า "Id" หมายถึงส่วนอัตตาของ "อุปกรณ์กายสิทธิ์" ของฟรอยด์และไม่ถูกต้องตามความหมาย ตอนนี้เป็นวิศวกรทางทวารหนัก (AE) แน่นอนว่าฉันต้องไปค้นหา Id vs ID และจากการตรวจสอบคร่าวๆของฉัน (google) ดูเหมือนว่า ID จะใช้กันทั่วไปสำหรับอัตตาของ Freud เช่นเดียวกับ Id ดังนั้นเหตุผลของฉันก็คือ Id เป็น "Identifier" เวอร์ชันย่อและถูกต้องมากกว่าหรืออย่างน้อยก็ใช้บ่อยกว่า ID ซึ่งโดยทั่วไปจะระบุตัวย่อสองคำ ฉันสามารถเปลี่ยน UI ได้ แต่ฉันจะไม่ยึดอาชีพของฉันในฐานะ AE ดังนั้นฉันจึงสงสัยว่ามีแนวทางปฏิบัติที่ดีที่สุดหรือการอ้างอิงสำหรับสิ่งประเภทนี้ที่ฉันสามารถใช้เพื่อสนับสนุนข้อโต้แย้งของฉันได้หรือไม่? โปรดทราบว่าคำถามนี้เกี่ยวข้องกับอินเทอร์เฟซผู้ใช้ไม่ใช่ซอร์สโค้ดซึ่งตัวย่อและตัวพิมพ์เล็กเป็นสาขาปรัชญาที่แตกต่างกันโดยสิ้นเชิง

8
หลักการตั้งชื่อ C # สำหรับ enum และคุณสมบัติที่ตรงกัน
ฉันมักจะพบว่าตัวเองกำลังใช้คลาสที่คงคุณสมบัติสถานะของตัวเองไว้เป็น enum: ฉันมีสถานะ enum และคุณสมบัติสถานะ ONE ของประเภทสถานะ ฉันจะแก้ปัญหาความขัดแย้งของชื่อนี้ได้อย่างไร? public class Car { public enum Status { Off, Starting, Moving }; Status status = Status.Off; public Status Status // <===== Won't compile ===== { get { return status; } set { status = value; DoSomething(); } } } ถ้าสถานะ enum เป็นประเภทต่างๆฉันจะวางไว้นอกชั้นเรียนและปัญหาจะได้รับการแก้ไข …

12
Java boolean getters“ is” vs“ are”
ฉันรู้ว่าการประชุมใน Java สำหรับบูลีน getters มีคำนำหน้า "is" ด้วย isEnabled isStoreOpen แต่ถ้าหัวเรื่องเป็นพหูพจน์ล่ะ? นั่นคือถ้าแทนที่จะอยากรู้ว่ามีร้านเปิดไหมฉันอยากรู้ว่าร้านทั้งหมดเปิดหรือเปล่า isStoresOpen() ไม่สมเหตุสมผลในภาษาอังกฤษ ฉันอยากจะเขียน getters เช่น: areStoresOpen areDogsCute areCatsFuzzy และผมคิดว่าจะทำให้ความรู้สึก แต่ฉันได้รับการบอกเล่าจากคนอื่น ๆ ที่ผมควรจะดูดขึ้นและละทิ้งเรื่องคำกริยาข้อตกลงและการใช้งานisStoresOpen, ,isDogsCuteisCatsFuzzy อย่างไรก็ตามฉันควรทำอย่างไรสำหรับตัวรับบูลีนที่ทำงานในเรื่องพหูพจน์

10
หลักการตั้งชื่อสำหรับตัวแปร "number of foos" [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ สมมติว่าฉันต้องการเก็บจำนวนของวัตถุ foo ไว้ในตัวแปร ไม่ใช่เจ้าของภาษาอังกฤษฉันมักจะสงสัยว่าชื่อที่ดีที่สุด (= สั้นและชัดเจนในทันที) สำหรับตัวแปรนั้นคืออะไร foo_numเหรอ? num_fooเหรอ? no_fooเหรอ? foo_noเหรอ? หรืออย่างอื่น? ชื่อเต็มควรเป็นnumber_of_foosแต่เป็นคำที่ละเอียดเกินไป คุณชอบอะไรและเพราะอะไร

9
หลักการตั้งชื่อสำหรับเนื้อหา (รูปภาพ, css, js)?
ฉันยังคงดิ้นรนเพื่อค้นหารูปแบบการตั้งชื่อที่ดีสำหรับเนื้อหาเช่นไฟล์รูปภาพ js และ css ที่ใช้ในโครงการเว็บของฉัน ดังนั้นปัจจุบันของฉันจะเป็น: CSS: style-{name}.css ตัวอย่าง: style-main.css, style-no_flash.css,style-print.cssฯลฯ JS: script-{name}.js ตัวอย่าง: script-main.js,script-nav.jsฯลฯ รูปภาพ: {imageType}-{name}.{imageExtension} {imageType}เป็นสิ่งเหล่านี้ ไอคอน (เช่นไอคอนเครื่องหมายคำถามสำหรับเนื้อหาวิธีใช้) img (เช่นภาพส่วนหัวแทรกผ่าน<img />องค์ประกอบ) ปุ่ม (เช่นปุ่มส่งแบบกราฟิก) bg (ภาพใช้เป็นภาพพื้นหลังใน css) สไปรต์ (รูปภาพใช้เป็นภาพพื้นหลังใน css และมี "เวอร์ชัน" หลายรายการ) ชื่อตัวอย่างจะเป็น: icon-help.gif, img-logo.gif, sprite-main_headlines.jpg, bg-gradient.gifฯลฯ คุณคิดว่าอย่างไรและหลักการตั้งชื่อของคุณคืออะไร?


15
คุณใช้กลยุทธ์ใดในการตั้งชื่อแพ็กเกจในโปรเจ็กต์ Java และเพราะเหตุใด [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันคิดถึงเรื่องนี้เมื่อไม่นานมานี้และเมื่อไม่นานมานี้ปรากฏขึ้นอีกครั้งเมื่อร้านของฉันกำลังทำเว็บแอป Java ตัวแรก ในบทนำฉันเห็นกลยุทธ์การตั้งชื่อแพ็กเกจหลัก 2 แบบ (เพื่อความชัดเจนฉันไม่ได้หมายถึงส่วน 'domain.company.project' ทั้งหมดของสิ่งนี้ฉันกำลังพูดถึงรูปแบบแพ็คเกจที่อยู่ด้านล่าง) อย่างไรก็ตามหลักการตั้งชื่อแพ็คเกจที่ฉันเห็นมีดังนี้: ฟังก์ชั่น: ตั้งชื่อแพ็กเกจของคุณตามฟังก์ชันสถาปัตยกรรมแทนที่จะเป็นเอกลักษณ์ตามโดเมนธุรกิจ คำอื่นสำหรับสิ่งนี้อาจเป็นการตั้งชื่อตาม "เลเยอร์" ดังนั้นคุณจะมีแพ็คเกจ * .ui และแพ็คเกจ * .domain และแพ็คเกจ * .orm หีบห่อของคุณเป็นชิ้นส่วนแนวนอนแทนที่จะเป็นแนวตั้ง นี้เป็นมากร่วมกันมากขึ้นกว่าการตั้งชื่อตรรกะ อันที่จริงฉันไม่เชื่อว่าฉันเคยเห็นหรือได้ยินโครงการที่ทำเช่นนี้ แน่นอนว่าสิ่งนี้ทำให้ฉันเบื่อหน่าย (เช่นคิดว่าคุณได้หาวิธีแก้ปัญหา NP) เนื่องจากฉันไม่ฉลาดมากและฉันคิดว่าทุกคนต้องมีเหตุผลที่ดีในการทำแบบที่พวกเขาทำ ในทางกลับกันฉันไม่ได้ต่อต้านคนที่คิดถึงช้างในห้องและฉันไม่เคยได้ยินข้อโต้แย้งที่เกิดขึ้นจริงในการตั้งชื่อแพ็คเกจด้วยวิธีนี้ ดูเหมือนว่าจะเป็นมาตรฐานโดยพฤตินัย ตรรกะ: การตั้งชื่อแพ็กเกจของคุณตามข้อมูลประจำตัวของโดเมนธุรกิจและใส่ทุกคลาสที่เกี่ยวข้องกับฟังก์ชันการทำงานตามแนวตั้งลงในแพ็กเกจนั้น ฉันไม่เคยเห็นหรือได้ยินเรื่องนี้อย่างที่ฉันพูดถึงมาก่อน แต่มันสมเหตุสมผลสำหรับฉัน ฉันมักจะเข้าหาระบบในแนวตั้งมากกว่าแนวนอน ฉันต้องการที่จะพัฒนาระบบประมวลผลคำสั่งซื้อไม่ใช่ชั้นการเข้าถึงข้อมูล เห็นได้ชัดว่ามีโอกาสดีที่ฉันจะแตะชั้นการเข้าถึงข้อมูลในการพัฒนาระบบนั้น แต่ประเด็นก็คือฉันไม่คิดอย่างนั้น แน่นอนว่าสิ่งนี้หมายความว่าอย่างไรก็คือเมื่อฉันได้รับคำสั่งเปลี่ยนแปลงหรือต้องการใช้คุณลักษณะใหม่ …

2
PostgreSQL: ชื่อข้อ จำกัด เริ่มต้น
เมื่อสร้างตารางใน PostgreSQL ชื่อข้อ จำกัด เริ่มต้นจะถูกกำหนดหากไม่ได้ระบุ: CREATE TABLE example ( a integer, b integer, UNIQUE (a, b) ); แต่การใช้ALTER TABLEเพื่อเพิ่มข้อ จำกัด ดูเหมือนว่าชื่อจำเป็น: ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b); สิ่งนี้ทำให้การตั้งชื่อบางอย่างไม่สอดคล้องกันในโครงการที่ฉันทำและถามคำถามต่อไปนี้: มีวิธีง่ายๆในการเพิ่มข้อ จำกัด ให้กับตารางที่ยังหลงเหลืออยู่ด้วยชื่อที่จะได้รับหากเพิ่มระหว่างการสร้างตารางหรือไม่? ถ้าไม่ควรหลีกเลี่ยงชื่อเริ่มต้นทั้งหมดเพื่อป้องกันความไม่สอดคล้องกัน?

2
ชื่อ `atoi` มาจากไหน?
ในภาษา C พวกเขาคิดชื่อatoiสำหรับการแปลงสตริงเป็นจำนวนเต็มมาจากไหน? สิ่งเดียวที่ฉันคิดได้คือ Array To Integer เป็นคำย่อ แต่มันไม่สมเหตุสมผลเลย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.