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

ให้ความหมายและคำอธิบายด้วยจำนวนอักขระน้อยที่สุดในแบบฟอร์มที่ได้รับการยอมรับมากที่สุดจากทีมหรือชุมชนของคุณโดยรวม

2
แบบแผนการตั้งชื่อ DAL, BAL และเลเยอร์ UI [ปิด]
ฉันกำลังพัฒนาเว็บแอปพลิเคชันทั่วไปด้วยเลเยอร์ต่อไปนี้ เลเยอร์ UI (MVC) ชั้นตรรกะทางธุรกิจ (BAL) ชั้นการเข้าถึงข้อมูล (DAL) แต่ละชั้นมีวัตถุ DTO ของตัวเองรวมถึง BAL และ DAL คำถามของฉันเกี่ยวกับเรื่องนี้มีดังนี้ DTO ที่ส่งคืนโดย DAL จะถูกแปลงเป็น DTO ที่สอดคล้องกันใน BAL และส่งไปยังเลเยอร์ UI ทั้งคุณลักษณะและโครงสร้างของวัตถุ DTO เหมือนกันในบางกรณี ในสถานการณ์ดังกล่าวจะเป็นการดีกว่าที่จะเพียงแค่ส่งกลับ DTO ใน DAL ไปยังเลเยอร์ UI โดยไม่รวมวัตถุระดับกลาง เป็นวิธีที่ดีที่สุดในการตั้งชื่อวัตถุ DTO เหล่านี้และวัตถุอื่น ๆ ในแต่ละชั้น ฉันควรใช้คำนำหน้าเช่น DTOName, ServiceName หรือไม่ เหตุผลที่ฉันขอให้ใช้คำนำหน้าเป็นเพราะถ้าไม่ใช่คลาสในโซลูชันของฉันขัดแย้งกับคลาสอื่น ๆ ใน Framework และด้วยคำนำหน้ามันง่ายกว่าที่ฉันจะเข้าใจว่าแต่ละคลาสอยู่ที่ไหน?
35 c#  design  naming 

8
Default vs Impl เมื่อใช้งานอินเตอร์เฟสใน Java
หลังจากอ่านชื่อแพคเกจควรเป็นเอกพจน์หรือพหูพจน์หรือไม่? มันเกิดขึ้นกับฉันว่าฉันไม่เคยเห็นการอภิปรายที่เหมาะสมซึ่งครอบคลุมหนึ่งในสัตว์เลี้ยงของฉัน: การตั้งชื่อการใช้งานอินเทอร์เฟซ สมมติว่าคุณมีอินเทอร์เฟซOrderที่ตั้งใจจะนำไปใช้ในหลากหลายวิธี แต่มีเพียงการเริ่มต้นเมื่อโครงการถูกสร้างขึ้นครั้งแรก คุณไปเพื่อDefaultOrderหรือOrderImplหรือตัวแปรอื่น ๆ เพื่อหลีกเลี่ยงการแยกขั้วเท็จ? และคุณจะทำอย่างไรเมื่อมีการใช้งานเพิ่มขึ้นมา? และที่สำคัญที่สุด ... ทำไม

9
วิธีตั้งชื่อเมธอดที่ทั้งสองทำงานและส่งคืนบูลีนเป็นสถานะได้อย่างไร?
หากมีวิธีการ bool DoStuff() { try { // doing stuff... return true; } catch (SomeSpecificException ex) { return false; } } มันควรจะถูกเรียกว่าค่อนข้างIsStuffDone()? ผู้ใช้ทั้งสองชื่ออาจตีความผิด: หากชื่อเป็นDoStuff()สาเหตุว่าทำไมจึงส่งคืนบูลีน หากชื่อIsStuffDone()ไม่ชัดเจนว่าวิธีการทำงานหรือตรวจสอบผลของมันเท่านั้น มีแบบแผนสำหรับกรณีนี้หรือไม่? หรือวิธีการอื่นเป็นวิธีนี้ถือว่ามีข้อบกพร่อง? ยกตัวอย่างเช่นในภาษาที่มีพารามิเตอร์ที่ส่งออกเช่น C # voidตัวแปรสถานะบูลีนอาจจะส่งผ่านไปยังวิธีการที่เป็นหนึ่งและประเภทผลตอบแทนของวิธีการที่จะเป็น แก้ไข: ในการจัดการข้อยกเว้นปัญหาเฉพาะของฉันไม่สามารถมอบหมายโดยตรงไปยังผู้โทรเพราะวิธีการเป็นส่วนหนึ่งของการใช้อินเตอร์เฟซ ดังนั้นผู้เรียกไม่สามารถเรียกเก็บเงินกับการจัดการกับข้อยกเว้นทั้งหมดของการใช้งานที่แตกต่างกัน ไม่คุ้นเคยกับข้อยกเว้นเหล่านั้น แต่โทรสามารถจัดการกับข้อยกเว้นที่กำหนดเองเช่นStuffHasNotBeenDoneForSomeReasonExceptionเป็นได้รับการแนะนำในคำตอบของ npinti และแสดงความคิดเห็น

9
ทำไมตัวระบุไม่ควรเริ่มต้นด้วยตัวเลข
ภาษาการเขียนโปรแกรมส่วนใหญ่ดูเหมือนจะได้รับการออกแบบให้ไม่อนุญาตให้หนึ่งประกาศตัวระบุที่ขึ้นต้นด้วยตัวเลข ฉันแค่อยากรู้อยากเห็นเหตุผล ฉันค้นหาเว็บแล้ว แต่ไม่พบคำอธิบายที่น่าพอใจ
32 naming  variables 

6
ฉันควรตั้งชื่อคลาสธุรกิจของฉันในภาษาใด
ฉันขอแนวปฏิบัติที่ดีที่สุดสำหรับคำถามนี้ นี่เป็นเพียงปัญหาถ้า บริษัท ลูกค้าเป็นคนชาติอย่างเคร่งครัดมีภาษาพื้นเมืองอื่นที่ไม่ใช่ภาษาอังกฤษฉันคิดว่า หากลูกค้ามีการแสดงออกโดยเฉพาะโดเมนจำนวนมาก (พูดเยอรมัน) โดยผสมกับการระบุเฉพาะโดเมนที่มีจำนวนน้อยกว่า ภาษาของคอมเม้นท์โค้ด, คลาส / เมธอด / ชื่อตัวแปรเป็นภาษาอังกฤษ คุณจะแปลชื่อเฉพาะโดเมนทั้งหมดหรือไม่
29 naming 

6
ข้อควรพิจารณาในทางปฏิบัติสำหรับข้อตกลงการตั้งชื่อ HTML / CSS (ไวยากรณ์) [ปิด]
คำถาม: สิ่งที่ต้องคำนึงถึงในทางปฏิบัติสำหรับไวยากรณ์classและidค่าคืออะไร? โปรดทราบว่าฉันไม่ได้ถามเกี่ยวกับความหมายเช่นคำที่ใช้จริงเช่นตามที่อธิบายไว้ในบล็อกนี้ มีทรัพยากรมากมายที่ด้านข้างของอนุสัญญาการตั้งชื่อแล้วในความเป็นจริงบดบังการค้นหาของฉันสำหรับข้อมูลที่เป็นประโยชน์ในบิตเกี่ยวกับการสร้างประโยคต่าง ๆ: ปลอกใช้ interpunction (เฉพาะ-เส้นประ) อักขระเฉพาะที่จะใช้หรือหลีกเลี่ยง ฯลฯ เพื่อสรุปเหตุผลที่ฉันถามคำถามนี้: ข้อ จำกัดในการตั้งชื่อไอดีและคลาสไม่ได้นำไปสู่การประชุมใด ๆ ความอุดมสมบูรณ์ของทรัพยากรทางด้านความหมายของอนุสัญญาการตั้งชื่อปิดบังการค้นหาข้อควรพิจารณาทางวากยสัมพันธ์ ฉันไม่พบแหล่งข้อมูลที่เชื่อถือได้เกี่ยวกับเรื่องนี้ ยังไม่มีคำถามเกี่ยวกับ SE โปรแกรมเมอร์ในหัวข้อนี้ :) อนุสัญญาบางข้อที่ฉันได้พิจารณาแล้วว่าใช้: UpperCamelCaseส่วนใหญ่เป็นนิสัยการข้ามจากการเข้ารหัสฝั่งเซิร์ฟเวอร์ lowerCamelCaseเพื่อความสอดคล้องกับข้อกำหนดการตั้งชื่อ JavaScript css-style-classesซึ่งสอดคล้องกับการตั้งชื่อคุณสมบัติ css (แต่อาจน่ารำคาญเมื่อ Ctrl + Shift + ArrowKey เลือกข้อความ) with_under_scoresซึ่งโดยส่วนตัวฉันไม่ได้เห็นใช้มากนัก alllowercaseง่ายต่อการจดจำ แต่อาจอ่านยากสำหรับชื่อที่ยาวขึ้น UPPERCASEFTWเป็นวิธีที่ดีในการรบกวนโปรแกรมเมอร์เพื่อนของคุณ (อาจรวมกับตัวเลือก 4 สำหรับการอ่าน) และอาจเป็นไปได้ว่าฉันไม่มีตัวเลือกหรือชุดค่าผสมที่สำคัญ ดังนั้น: มีข้อควรพิจารณาอะไรบ้างในการตั้งชื่ออนุสัญญา

2
ทำไม XMLHttpRequest ดูเหมือนจะไม่ปฏิบัติตามหลักการตั้งชื่อ
ฉันได้ทำงานกับวัตถุXMLHttpRequestใน JavaScript เมื่อเร็ว ๆ นี้และฉันอดไม่ได้ที่จะสังเกตว่าการใส่ชื่อนี้ไม่สมเหตุสมผล ทำไม 'XML' ทั้งหมดอยู่ในตัวพิมพ์ใหญ่ในขณะที่ 'Http' ไม่ถูกต้อง พวกเขาเป็นทั้งตัวย่อ! แน่นอนว่ามันสมเหตุสมผลกว่าสำหรับชื่อที่จะเป็นอย่างใดอย่างหนึ่งต่อไปนี้: XMLHttpRequest (PascalCase การปฏิบัติที่ดีที่สุดสำหรับชื่อชั้นใน JavaScript) xmlHttpRequest (camelCase ก็เหมือนกัน แต่ไม่ใช่สำหรับคลาส) XMLHTTPRequest (ตัวย่อสำหรับตัวย่อซึ่งไม่ค่อยใช้ในการเขียนโปรแกรม?) ฉันแน่ใจว่าจะต้องมีเหตุผลบางอย่างและฉันเกลียดที่จะคิดว่าตอนนี้มันเป็นหินเพราะไม่มีใครถามเรื่องนี้ในเวลา มีแบบแผนการตั้งชื่ออื่นที่ฉันไม่ทราบหรือไม่?

7
สัญกรณ์ฮังการีเป็นวิธีแก้ปัญหาสำหรับภาษาที่มีการพิมพ์คงที่ไม่เพียงพอที่แสดงออก? [ปิด]
ในบทความของ Eric Lippert เกิดอะไรขึ้นกับสัญลักษณ์ของฮังการี? เขากล่าวว่าจุดประสงค์ของสัญกรณ์ฮังการี (ประเภทที่ดี) คือการ ขยายแนวคิดของ "ประเภท" เพื่อรวมข้อมูลเชิงความหมายนอกเหนือจากข้อมูลการเป็นตัวแทนจัดเก็บข้อมูล ตัวอย่างง่ายๆจะนำหน้าตัวแปรที่แสดงถึงพิกัด X ด้วย "x" และตัวแปรที่แทนพิกัด Y ด้วย "y" โดยไม่คำนึงว่าตัวแปรเหล่านั้นเป็นจำนวนเต็มหรือลอยหรืออะไรก็ตามดังนั้นเมื่อคุณเขียนโดยไม่ตั้งใจxFoo + yBarรหัสดูผิดอย่างชัดเจน แต่ฉันได้อ่านเกี่ยวกับระบบประเภทของ Haskell ด้วยและดูเหมือนว่าใน Haskell เราสามารถทำสิ่งเดียวกันให้สำเร็จได้ (เช่น "ขยายแนวคิดประเภทที่จะครอบคลุมข้อมูลความหมาย") โดยใช้ประเภทจริงที่คอมไพเลอร์จะตรวจสอบคุณ ดังนั้นในตัวอย่างข้างต้นxFoo + yBarใน Haskell จะล้มเหลวในการรวบรวมถ้าคุณออกแบบโปรแกรมของคุณอย่างถูกต้องเนื่องจากมันถูกประกาศว่าเป็นชนิดที่เข้ากันไม่ได้ ดูเหมือนว่าระบบประเภทของ Haskell สนับสนุนการตรวจสอบเวลาแบบคอมไพล์ได้อย่างมีประสิทธิภาพเทียบเท่ากับสัญลักษณ์ของฮังการี ดังนั้น Hungarian Notation เป็นเพียงตัวช่วยแบนด์สำหรับภาษาโปรแกรมที่ระบบประเภทไม่สามารถเข้ารหัสข้อมูลความหมายได้หรือไม่? สัญกรณ์ฮังการีหรือเสนอบางสิ่งบางอย่างนอกเหนือจากสิ่งที่ระบบชนิดคงที่เช่น Haskell สามารถนำเสนอ? (แน่นอนฉันกำลังใช้ Haskell เป็นตัวอย่างฉันแน่ใจว่ามีภาษาอื่นที่มีระบบการพิมพ์ที่มีความหมายคล้ายกัน (rich? strong?) แม้ว่าฉันจะไม่ได้เจอก็ตาม) …

5
ข้อตกลงชื่อแพ็คเกจ Java มีข้อบกพร่องหรือไม่ [ปิด]
เราทุกคนต่างคุ้นเคยกับแบบแผนของชื่อแพ็คเกจ Java ในการเปลี่ยนชื่อโดเมน คือจะตามแบบแผนเลือกที่จะมีแพคเกจwww.evilcorp.com Java ของพวกเขาcom.evilcorp.stuff มากขึ้นฉันจะเบื่อกับสิ่งนี้ ในฐานะโปรแกรมเมอร์เชิงพาณิชย์ฉันพบครั้งแล้วครั้งเล่าว่าชื่อแพคเกจซอฟต์แวร์นั้นไม่เกี่ยวข้องอย่างสมบูรณ์เนื่องจากการเปลี่ยนโฉมใหม่การซื้อกิจการหรือคล้ายกัน ในโลกโอเพนซอร์สมีการเปลี่ยนแปลงชื่อน้อยกว่าดังนั้นจึงเหมาะสม อย่างไรก็ตามสำหรับฉันดูเหมือนว่าอายุการเก็บรักษาของซอฟต์แวร์ (เชิงพาณิชย์ / ภายใน) หลายชิ้นนั้นมีความยาวมากกว่าที่องค์กรทำไว้ ปัญหาที่เกิดขึ้นมักจะแย่ลงโดยโครงการซอฟต์แวร์ที่นำฝ่ายการตลาดของการใช้ชื่อดูพวกเขาใช้อ้างถึงโครงการบางอย่าง ชื่อที่เปลี่ยนโดยไม่ล้มเหลว 3 เดือนเพื่อให้เสื้อผ้าใหม่ของจักรพรรดิรู้สึกสดชื่นและใหม่ ด้วยเหตุนี้ฉันส่วนใหญ่หยุดใช้โดเมนย้อนกลับเป็นชื่อแพคเกจ จริงอยู่ที่ว่าถ้าทำในปริมาณมากจะมีความเสี่ยงต่อการชนกันของชื่อ แต่แน่นอนว่าสิ่งนี้จะบรรเทาลงได้ด้วยการใช้ชื่อซอฟต์แวร์ "พิเศษ" หลีกเลี่ยงคำทั่วไปหรือใช้โดเมนย้อนกลับสำหรับโครงการที่ตั้งใจจะขาย / เปิดเป็นห้องสมุด . ความคิดอื่น ๆ?
28 java  naming 

4
เป็นความคิดที่ดีหรือไม่ที่จะใช้ชื่อรูปแบบการออกแบบในคลาสที่นำไปใช้งานจริง? [ปิด]
เมื่อเร็ว ๆ นี้ฉันมาข้าม codebase หลามขนาดใหญ่ในระดับปานกลางมีจำนวนมากMyClassAbstractFactory, MyClassManager, MyClassProxy, MyClassAdapterเรียน ฯลฯ ในขณะที่ในมือข้างหนึ่งชื่อเหล่านั้นชี้ให้ฉันเพื่อการวิจัยและการเรียนรู้รูปแบบที่สอดคล้องกันที่พวกเขาไม่สามารถอธิบายในสิ่งที่ชั้นไม่ นอกจากนี้พวกเขาดูเหมือนจะตกอยู่ในรายชื่อต้องห้ามของคำในการเขียนโปรแกรม: variable, process_available_information, data, amount, compute: ชื่อกว้างเกินไปที่ไม่ได้บอกให้เราทราบอะไรเกี่ยวกับฟังก์ชั่นเมื่อใช้ด้วยตัวเอง ดังนั้นควรจะมีCommunicationManagerหรือมากกว่าPortListener? หรือบางทีฉันไม่เข้าใจปัญหาเลย ... ?

9
มันถือว่าการปฏิบัติที่ไม่ดีในการรวมหมายเลขบั๊กในชื่อเมธอดสำหรับวิธีแก้ปัญหาชั่วคราวหรือไม่?
เพื่อนร่วมงานของฉันที่เป็นคนอาวุโสกำลังบล็อกฉันในการตรวจสอบโค้ดเพราะเขาต้องการให้ฉันตั้งชื่อวิธีการ ตอนนี้ข้อเสนอชื่อเมธอดของฉันคือสิ่งที่คล้ายกับ PerformRightExpressionCast ซึ่งมีแนวโน้มที่จะอธิบายถึงวิธีการที่ใช้งานจริง ข้อโต้แย้งของเขาเป็นไปตาม: "วิธีนี้ใช้เป็นวิธีแก้ปัญหาสำหรับกรณีนี้เท่านั้นและไม่มีที่อื่นอีกแล้ว" การรวมหมายเลขข้อผิดพลาดภายในชื่อวิธีการสำหรับวิธีแก้ปัญหาชั่วคราวจะถือเป็นการปฏิบัติที่ไม่ดีหรือไม่

4
C # namespace และแบบแผนการตั้งชื่อคลาสสำหรับไลบรารี
ฉันกำลังสร้างห้องสมุดที่มีฟังก์ชั่นยูทิลิตี้ขนาดเล็กใน C # และพยายามตัดสินใจเกี่ยวกับเนมสเปซและการตั้งชื่อคลาส องค์กรปัจจุบันของฉันเป็นเช่นนี้: Company Company.TextUtils public class TextUtils {...} Company.MathsUtils public class MathsUtils {...} public class ArbitraryPrecisionNumber {...} public class MathsNotation {...} Company.SIUnits public enum SISuffixes {...} public class SIUnits {...} นี่เป็นวิธีที่ดีในการจัดระเบียบเนมสเปซและคลาสหรือมีวิธีที่ดีกว่านี้หรือไม่? โดยเฉพาะดูเหมือนว่ามีชื่อเดียวกันในเนมสเปซและชื่อคลาส (เช่นCompany.TextUtilsเนมสเปซและTextUtilsคลาส) เป็นเพียงการทำซ้ำและแสดงให้เห็นว่ารูปแบบอาจดีกว่า
26 c#  naming  namespace 

5
ทำไมถึงเรียกว่า“ ตารางแฮช” หรือ“ ฟังก์ชันแฮช”? แฮชไม่สมเหตุสมผลสำหรับฉันที่นี่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิด5 เดือนที่ผ่านมา ตอนนี้เป็นเวลาประมาณ 4 ปีของการพัฒนาที่ฉันใช้การได้ยินการพูดคุยและการใช้ตารางแฮชและฟังก์ชันแฮช แต่ฉันไม่เคยเข้าใจเลยว่าทำไมมันถึงเรียกว่าแฮช? ฉันจำได้ว่าวันแรกที่ฉันเริ่มเขียนโปรแกรมคำศัพท์นี้ช่างยุ่งยากสำหรับฉัน ฉันไม่เคยคิดออกว่ามันคืออะไรตามชื่อของมัน ฉันเพียงแค่การทดลองที่เข้าใจสิ่งที่มันไม่และทำไมและเมื่อเราควรจะใช้มัน แต่ผมยังคงบางครั้งพยายามที่จะคิดออกว่าทำไมมันเรียกว่ากัญชา ฉันไม่มีปัญหากับโต๊ะหรือฟังก์ชั่นและพูดตามตรงพวกเขาค่อนข้างหักทอนเหตุผลที่สมเหตุสมผล แต่ผมคิดว่าคำพูดที่ดีขึ้นสามารถนำมาใช้แทนกัญชาเช่นคีย์หรือเอกลักษณ์ อย่าคีย์ตารางหรือตารางที่ไม่ซ้ำกัน ตามพจนานุกรมของฉันแฮชหมายถึง: ผัดมันฝรั่งและเนื้อสัตว์ (ไม่เกี่ยวข้องสูง) # symbol (เครื่องหมายหมายเลข AKA, เครื่องหมายปอนด์ ฯลฯ ) (ยังไม่เกี่ยวข้องอาจเป็นเพียงการตั้งชื่อผิด) ใช้อัลกอริทึมกับสตริงอักขระ (ยังไม่มีส่วนเกี่ยวข้องกับเอกลักษณ์ซึ่งเป็นคุณลักษณะที่สำคัญที่สุดของตารางแฮช) ตัดอาหาร อีกคำสำหรับกัญชา ไม่มีใครรู้ว่าทำไมมันเรียกว่าแฮช
26 naming 

3
เป็นเรื่องยากที่จะตั้งชื่อคุณสมบัติ / สมาชิกเหมือนกับประเภทประกาศใน C # หรือไม่?
ตัวอย่างเช่นคลาสที่ชอบ: class Dog { } //never mind that there's nothing in it... แล้วคุณสมบัติเช่น: Dog Dog { get; set; } ฉันได้รับแจ้งว่าถ้าฉันไม่สามารถสร้างชื่อที่จินตนาการได้มากกว่านี้ฉันต้องใช้: Dog DogObject { get; set; } มีความคิดเกี่ยวกับวิธีตั้งชื่อให้ดีกว่านี้อย่างไร?
25 c#  naming  properties 

8
แนวทางการตั้งชื่อวิธีการกระชับความหมายที่มีความหมาย
เมื่อเร็ว ๆ นี้ฉันเริ่มปล่อยโครงการโอเพ่นซอร์สในขณะที่ฉันเป็นผู้ใช้ห้องสมุดคนเดียวที่ฉันไม่สนใจเกี่ยวกับชื่อ แต่รู้ว่าฉันต้องการกำหนดชื่อที่ฉลาดให้กับแต่ละวิธีเพื่อให้ง่ายต่อการเรียนรู้ แต่ฉันต้องใช้ด้วย ชื่อที่กระชับเพื่อให้ง่ายต่อการเขียนเช่นกัน ฉันกำลังคิดถึงแนวทางบางอย่างเกี่ยวกับการตั้งชื่อฉันทราบถึงแนวทางมากมายที่สนใจเฉพาะปลอกตัวอักษรหรือหมายเหตุง่ายๆ ที่นี่ฉันกำลังมองหาแนวทางสำหรับการตั้งชื่อที่มีความหมาย แต่ยังรัดกุม ตัวอย่างเช่นนี่อาจเป็นส่วนหนึ่งของแนวทางที่ฉันดูแล: ใช้เพิ่มเมื่อรายการที่มีอยู่กำลังจะถูกเพิ่มไปยังเป้าหมายใช้สร้างเมื่อรายการใหม่จะถูกสร้างและเพิ่มลงในเป้าหมาย ใช้ลบเมื่อรายการที่มีอยู่กำลังจะถูกลบออกจากเป้าหมายใช้ลบเมื่อรายการจะถูกลบอย่างถาวร จับคู่เมธอด AddXXX กับ RemoveXXX และจับคู่เมธอด CreateXXX กับเมธอด DeleteXXX แต่อย่าผสมวิธีเหล่านั้น จากตัวอย่างข้างต้นแสดงให้เห็นว่าฉันต้องการหาข้อมูลออนไลน์บางอย่างที่ช่วยฉันในการตั้งชื่อและรายการอื่น ๆ ที่สอดคล้องกับไวยากรณ์ภาษาอังกฤษและความหมายของคำ คำแนะนำข้างต้นอาจใช้งานง่ายสำหรับเจ้าของภาษา แต่สำหรับฉันแล้วว่าภาษาอังกฤษเป็นภาษาที่สองของฉันฉันต้องได้รับการบอกเล่าเกี่ยวกับสิ่งต่าง ๆ เช่นนี้
25 naming 

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