การสะกดผิดโดยเจตนาเพื่อหลีกเลี่ยงคำที่สงวนไว้


45

ฉันมักจะเห็นรหัสที่มีการสะกดผิดโดยเจตนาของคำทั่วไปที่ดีขึ้นหรือแย่ลงกลายเป็นคำสงวน:

  • klassหรือclazzสำหรับชั้นเรียน :Class clazz = ThisClass.class
  • kountสำหรับการนับใน SQL:count(*) AS kount

โดยส่วนตัวแล้วฉันพบว่าการอ่านนี้ลดลง ในทางปฏิบัติของฉันเองฉันไม่ได้พบมากเกินไปกรณีที่ชื่อที่ดีกว่าอาจจะไม่ได้ถูกนำมาใช้ - หรือitemClassrecordTotal

ตัวอย่างจาก JavaDocs สำหรับClassแสดงสิ่งนี้ในพารามิเตอร์:

 public <U> Class<? extends U> asSubclass(Class<U> clazz)

นี่แสดงให้เห็นถึงกรณีการใช้งานที่สมเหตุสมผลหรือไม่?


9
สำหรับเร็กคอร์ด: ใน Python clsเป็นชื่อสามัญ (อันที่จริงแล้วเป็นหนึ่งในสำนวน) สำหรับตัวแปร / อาร์กิวเมนต์ที่ดำเนินการกับคลาสจริง (ชื่อที่คุณประกาศด้วยclassคำสำคัญ

14
คุณไม่ชอบtypedef char íntเหรอ
Jeff

14
@muntoo คุณพูดถูก iñtฉันยังได้รับข้อผิดพลาดของคอมไพเลอร์สำหรับ มีแผนของฉันสำหรับโลกกว้าง
Jeff

1
ฉันทำผิดกฎนี้ ... และตอนนี้ฉันรู้สึกอับอาย
jmq

3
อย่าทำมัน ฉันสามารถพูดได้อย่างตรงไปตรงมาว่าฉันไม่เคยเห็นสิ่งนี้มาก่อนและถ้าฉันทำฉันจะเปลี่ยนชื่อทันที เพียงแค่ย่อหากคุณต้องใช้ชื่อตัวแปรที่ไม่ใช่คำอธิบาย ( Class c)
โคดี้เกรย์

คำตอบ:


63

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

ฉันเห็นด้วยอย่างยิ่งกับประเด็นที่สองของคุณ การตั้งชื่อตัวแปรclassแม้ว่าคุณจะสามารถทำมันจะเป็นเพียงไม่ดีเท่าที่ตั้งชื่อมันหรือtmp aคลาสแบบไหน? ชั้นเรียนคืออะไร ชื่อควรเป็นคำอธิบาย


15
"คำที่สงวนไว้สงวนไว้สำหรับเหตุผล" <- อันนี้ (ซึ่งสงวนไว้อย่างแดกดัน)
ลองดู

16
+1 เพราะคุณพูดถูก แต่ถ้าคุณกำลังเขียนซอฟต์แวร์กำหนดเวลาเรียนหรืออะไรก็ตามคลาสอาจเป็นตัวแปรที่ถูกต้องตามกฎหมายหรือชื่อคลาส ...
CaffGeek

8
Meh " คำสงวนสงวนไว้สำหรับเหตุผล " ซึ่งเป็นที่นักออกแบบภาษาขี้เกียจ มีภาษาที่ซับซ้อนค่อนข้างน้อยที่มีการสงวนคำไว้เฉพาะในสถานที่ที่พวกเขาใช้ แต่ริตชี่เริ่มเทรนด์นี้เมื่อเขาต้องการคอมไพเลอร์เบาสำหรับ C และนักออกแบบภาษาส่วนใหญ่เรียนรู้จากที่นั่น
Ross Patterson

14
ไม่มี Ross เพราะโปรแกรมเมอร์ (และผู้อ่านโดยทั่วไป) มีความคาดหวังในสิ่งต่าง ๆ ที่มีความหมายที่คลุมเครืออย่างสมเหตุสมผล (ซึ่งเป็นเหตุผลว่าทำไมการเรียนรู้ภาษาต่างประเทศมักจะยากมากทุกสิ่งที่มีความหมายสองอย่าง ในวัยเด็กที่คุณไม่เคยสังเกตความกำกวมเหล่านั้นเพราะมันเป็นส่วนหนึ่งของมรดกทางวัฒนธรรมของคุณ)
jwenting

3
@AlexanderMorou Nope และไม่มีนักออกแบบภาษาส่วนใหญ่พวกเขาเพิ่งเริ่มต้นด้วยการออกแบบของคนอื่น แต่ดูที่ Algol, Fortran, PL / I, Rexx และภาษาอื่น ๆ ที่ไม่ได้ใช้ภาษา C และคุณจะเห็นว่าไวยากรณ์ที่ไม่มีคำสงวนนั้นเป็นไปได้ยากยิ่งขึ้น Ritchie มีเหตุผลที่ดี - คน Unix รู้สึกว่าการกดแป้นทุกครั้งสำคัญและใน PDP-11 วงจรซีพียูทุกครั้งสำคัญ วันนี้? ไม่มากนัก.
Ross Patterson

21

Guide Styleของ Python นำเสนอปัญหานี้โดยเฉพาะและแนะนำ:

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

ดูเหมือนว่ากฎทั่วไปที่ค่อนข้างดีโดยถือว่ามันไม่ขัดแย้งกับความหมายของภาษาใดภาษาหนึ่ง


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

18
@ วิธี: คุณจะตั้งชื่อการดำเนินการสหภาพในโครงสร้างการค้นหาสหภาพเมื่อใดunionคือคำหลัก (เช่นเดียวกับใน C) คุณจะเรียกมันว่าfooเพียงเพราะมันไม่ควรมีลักษณะunionอย่างไร
Fred Foo

OTOH clsเป็นชื่ออาร์กิวเมนต์มาตรฐานสำหรับวิธีการเรียน ตัวอย่างเช่นในวัตถุ Django มี.idแอตทริบิวต์ซึ่งแน่นอนว่าขัดแย้งกับidฟังก์ชันในตัว
vartec

1
@GoloRoden ฉันไม่เคยได้ยินใครพูดว่าพวกเขา "รวมกัน" สองชุดเมื่อคำนวณสหภาพ มันไม่ได้เป็นส่วนหนึ่งของศัพท์แสง "การผสาน" จะดีกว่า แต่mergeวิธีการยังคงต้องการเอกสารที่ระบุอย่างชัดเจนว่าใช้สหภาพและเปลี่ยนชื่อด้วยเหตุผลทางเทคนิคอย่างหมดจด
Fred Foo

2
@GoloRoden ตาม Merriam-Webster มันไม่ใช่คำกริยา แต่ดูคำตอบนี้
maaartinus

18

รหัสกลิ่น

string stringVariable = "";

โค้ดด้านบนไม่ได้บอกอะไรเกี่ยวกับตัวแปรที่ตั้งใจใช้

class Klass

ปัญหาเดียวกัน

string UserNameString = "bmackey"

โค้ดด้านบนไม่ควรต้องการสตริงคำหลักต่อท้ายชื่อตัวแปร หากคุณพบว่าคุณต้องการระบุประเภทด้วยชื่อตัวแปรรหัสของคุณยาวเกินไป ย่อ-refactor


มันไม่ได้บอกอะไรคุณเพราะมันไม่ใช่ "รหัส" มันเป็นการประกาศตัวแปรแยก "คลาส" หรือ "คลาส" อาจบอกทุกอย่างที่คุณจำเป็นต้องรู้ ตัวอย่างเช่นวิธีการทั่วไปอาจได้รับClass<T>พารามิเตอร์และสิ่งนี้สมเหตุสมผล ดังนั้นฉันไม่เห็นด้วยว่ามันเป็นกลิ่นรหัส
Andres F.

5

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

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

จากแหล่งที่มาพร้อมกับ JDK 1.6 R21 ฉันพบ "clazz" 917 ครั้ง เห็นได้ชัดว่าพวกเขาคิดว่ามันเป็นสไตล์ที่ยอมรับได้

ทีมของคุณรู้สึกอย่างไรเกี่ยวกับเรื่องนี้? ถ้าคุณคิดว่ามันไม่ดี แต่อีก 9 คนในทีมของคุณคิดว่ามันดีคุณต้องกัดกระสุนและยอมรับมัน ตราบใดที่มีการสื่อสารเกี่ยวกับสิ่งที่โอเคและสิ่งที่ไม่เป็นและคุณนำเสนอปัญหาที่คุณเห็นเมื่อคุณเห็นพวกเขามันควรจะดี

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


1
ถูกต้อง แต่ในที่สุดทีมของคุณจะเปลี่ยน หลายปีที่ผ่านมาถนนจะมีคนจนมองรหัสของคุณเต็มไปด้วย klass และ clazzes และพูดว่า "WTF!"
MrFox

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

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

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

4

การสะกดผิดโดยเจตนาเพื่อหลีกเลี่ยงคำสงวนเป็นความคิดที่ไม่ดี

  • การสะกดผิดยากที่จะแยกความแตกต่างจากการสะกดที่ถูกต้องดังนั้นจึงทำให้การอ่านรหัสยากขึ้น

  • การสะกดคำยากที่จะจำได้ดังนั้นการสะกดผิดที่ไม่สอดคล้องกันหลายครั้งมีแนวโน้มที่จะแข่งขันในโค้ดซึ่งทำให้โค้ดยากต่อการเขียนและอ่านยากขึ้น

  • คำที่สงวนไว้หมายถึงภาษาที่ใช้ในการแก้ปัญหาไม่ใช่เพื่อปัญหา ชื่อตัวแปรควรชี้ไปที่แนวคิดที่เกี่ยวข้องกับปัญหา

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

public static Method findBenchmarkMethod(BenchmarkRecord benchmark) {
    Class<?> benchmarkedClass = ClassUtils.loadClass(benchmark.generatedClass());
    return findBenchmarkMethod(benchmarkedClass, benchmark.generatedMethod());
}

3

Class clazzมีกลิ่นเหมือน "ฉันไม่ได้รำคาญที่จะพยายามหาชื่อที่ดี" ตัวแปรแสดงถึงบางสิ่งอยู่เสมอและชื่อที่ดีจะอธิบายสิ่งนั้น ฉันปฏิเสธที่จะจินตนาการว่าclazzตัวอย่างเช่นภายใต้สถานการณ์ใด ๆ เป็นชื่อที่ดีที่สุดที่เป็นไปได้ มันคือการอ้างอิงไปยังคลาส -> class_reference เป็นสำเนาของวัตถุคลาส -> class_copy ฯลฯ อาจเป็นไปได้ที่จะลดลง "คลาส" และเพียงแค่ใช้คำอธิบายเช่น

java.lang.SecurityManager.checkMemberAccess(Class<?> clazz, int which)
Parameters
    clazz -- the class that reflection is to be performed on.

ที่นี่ clazz เป็นคลาสเป้าหมายที่จะทำการตรวจสอบ

checkMemberAccess(Class<?> target, int which)

จะดีกว่าที่จะอธิบายสิ่งที่พารามิเตอร์ที่ใช้มานานกว่าจะเคย clazz


IMHO มันไม่ดีกว่าคุณสามารถเรียกมันว่า 'classToBeAccessed` หรืออะไรก็ตาม แต่ชื่อที่มีความหมายมากกว่านี้จะแสดงให้เห็นชัดเจน ฉันชอบชื่อยาว ๆ หากพวกเขาให้ข้อมูลที่เป็นประโยชน์
maaartinus

1
classToBeAccessedเป็นชื่อที่ดีแน่นอน ( classToBeCheckedอาจจะดีกว่า)
hlovdal

1

หากพวกเขาใช้ชื่อที่สงวนไว้สำหรับตัวแปรมันเป็นตัวแปรที่มีชื่อไม่ดี แม้ว่าจะเป็นชื่อที่ถูกต้องเช่น Class สำหรับซอฟต์แวร์ห้องเรียน

ตัวแปรที่มีชื่อไม่ดีนั้นเป็นสัญญาณของความคิดที่ไม่ดีหรือรหัสชั่วคราว - ระวังของ gotchas อื่น ๆ ในส่วนของซอฟต์แวร์ที่คุณกำลังบำรุงรักษา


0

ผมคิดว่าคำที่สะกดผิดโดยเจตนาหรือตัวย่อที่มีความคิดที่ดีถ้าใช้อย่างระมัดระวังและสม่ำเสมอ

พิจารณาใน Java:

class X { public X() { } }
X x = new X();
x.getClass;  // Wha?  How does "get" help anything?
x.class;     // Best, but requires more lexer/parser work
x.klass;     // At least as good as getClass
x.clazz;     // Same

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

  1. คุณไม่รู้สึกอยากคิดชื่อที่ดี
  2. คุณเพียงแค่ต้องการตัวแปรจำลองและไม่ต้องการชื่ออธิบาย

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

boolean isMyName(String testName) { return myName.equals(testName); }
boolean isMyName(String s) { return myName.equals(s); }

Date nextMeeting(Klass klass) { return /* something */ }
Date nextMeeting(Klass k) { return /* something */ }

คุณจะไม่สูญเสียอะไรกับชื่อตัวแปรแบบสั้นเมื่อเมธอดหรือโครงสร้างของโค้ดบอกคุณว่าต้องมีอะไร


2
ฉันขอโทษฉันไม่เห็นด้วย การประชุมครั้งต่อไปทำงานอย่างไร ตรรกะไม่ชัดเจน คุณกำลังบังคับให้ฉันค้นหาคำจำกัดความของ Klass ทุกครั้งที่ฉันอ่านรหัสของคุณเพราะชื่อนั้นไม่มีความหมาย หากคุณมีการประชุมถัดไป (MeetingRoom meetingRoom) ฉันจะมีคำจำกัดความของคลาส (klass? clazz?) น้อยกว่าเพื่ออ่านและทำให้มีประสิทธิผลมากขึ้น อ่านโค้ดได้มากกว่าที่เขียน
MrFox

@suslik - nextMeeting(MeetingRoom r)มีมากมาย อะไรคือmeetingRoomการที่คุณมี? ถ้าnextMeeting(int meetingRoom)ฉันเข้าใจฉัน แต่ประเด็นของฉันคือใช้ชื่อตัวแปรสั้น ๆ เมื่อมีข้อมูลจากแหล่งอื่นอยู่แล้ว
Rex Kerr

โพสต์ของฉันเกี่ยวกับการมีอยู่ของ Klass ใน codebase มากกว่า ฉันเห็นด้วยกับชื่อตัวแปรสั้น ๆ บางครั้ง แต่ถ้าวิธีการของคุณยาวและคุณต้องคอยให้แน่ใจเพื่อให้แน่ใจว่า "r" เป็น MeetingRoom นั่นก็ไม่ได้ยอดเยี่ยมเช่นกัน ฉันอยากรู้ว่าข้อเสียของห้องประชุมคืออะไร? พื้นที่แนวนอน? พิมพ์นานเกินไปหรือ
MrFox

@suslik - ใช่คุณสูญเสียบริบทแนวนอนด้วยชื่อตัวแปรแบบยาว คุณสูญเสียบริบทแนวตั้งด้วยวิธีการแบบยาวดังนั้นจึงเป็นการดีที่สุดที่จะพยายามหลีกเลี่ยงสิ่งเหล่านั้น (แต่ฉันเห็นด้วยถ้าคุณทำเช่นนั้นคุณอาจต้องการให้ชื่อตัวแปรเป็นตัวเตือนที่ดีกว่า) Klassเป็นอีกทางเลือกหนึ่งเมื่อมีคำสงวน ฉันไม่แนะนำให้ใช้การสะกดคำผิดเมื่อการสะกดคำดั้งเดิมพร้อมใช้งาน!
Rex Kerr

0

ฉันเห็นการใช้งานที่ถูกต้องตามกฎหมายของClass klassการทำภาพสะท้อนที่คุณทำงานกับตัวอย่างของClassชั้นเรียนจริง


2
คำถามไม่ได้ว่ามีกรณีใดบ้างที่คุณมีอินสแตนซ์ แต่ไม่ว่าคุณควรใช้การสะกดคำนั้นหรือชื่ออธิบายเพิ่มเติมเช่นuserClassหรือตัวเลือกอื่น ๆ
Nicole

2
ในกรณีเช่นนี้ฉันชอบมากกว่าclassInstance klass
Konrad Morawski

2
@ KonradMorawski: แต่วัตถุทั้งหมดที่คุณทำงานด้วยนั้นเป็นอินสแตนซ์ดังนั้นจึงclassInstanceมีความซ้ำซ้อนค่อนข้างมาก class klass; Object classInstance = klass.newInstance;นอกจากนี้ผมสามารถจินตนาการสิ่งที่ต้องการ
maaartinus

0

ฉันมักจะเห็นรหัสที่มีการสะกดผิดโดยเจตนาของคำทั่วไปที่ดีขึ้นหรือแย่ลงกลายเป็นคำสงวน:

คลาสหรือคลาสสำหรับคลาส: Class clazz = ThisClass.class

kount สำหรับการนับใน SQL: count (*) AS kount

โดยส่วนตัวแล้วฉันพบว่าการอ่านนี้ลดลง ในทางปฏิบัติของฉันเองฉันไม่พบหลายกรณีเกินไปที่ไม่สามารถใช้ชื่อที่ดีกว่าได้ - itemClass หรือ recordTotal

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

สำหรับตัวแปรท้องถิ่นและการโต้แย้งอย่างเป็นทางการมันไม่สำคัญ

ชื่อใด ๆ ก็ดีตราบใดที่มันไม่ได้ทำให้เข้าใจผิดหรือทำให้เสียสมาธิโดยเจตนา ในตัวอย่างของคุณ:

public static Method findBenchmarkMethod(BenchmarkRecord benchmark) {
    Class<?> clazz = ClassUtils.loadClass(benchmark.generatedClass());
    return findBenchmarkMethod(clazz, benchmark.generatedMethod());
}

ไม่สำคัญว่าตัวแปรโลคัลเดียวคือ "clazz" หรือ "klass" หรือ "cls" หรือเพียงแค่ "c" ฉันอาจจะแค่แสดงออกแบบอินไลน์:

return findBenchmarkMethod(ClassUtils.loadClass(benchmark.generatedClass()),
                           benchmark.generatedMethod());

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


อินไลน์ของคุณดูไม่ถูกต้องClassUtils.loadClass(benchmark.generatedClass())=> benchmark.generatedClass()- หลงClassUtils.loadClassทาง
gnat

0

ฉันคิดว่าการสะกดผิดเป็นความคิดที่ไม่ดีเสมอ มันไม่ดีสำหรับผู้อ่านของคุณ ฉัน, klassหนึ่งจะถูกสงสัยว่าฉันพลาดอะไรบางอย่างเมื่อผมเห็นคำว่า (พวกเขาหมายถึงclassหรือพวกเขาหมายถึงโจรสลัด?) อย่างน้อยสำหรับฉันการสะกดผิดทั้งหมดที่ฉันจำได้ว่าน่ารำคาญ

ในบางกรณีที่คำสงวนเป็นสิ่งสำคัญเพียงอย่างเดียวที่รู้เกี่ยวกับตัวแปรฉันจะใช้ทางเลือกต่อไปนี้:

  • ถ้ามันอาร์กิวเมนต์ฟังก์ชั่นใช้แทนaClassclass

  • ถ้ามันเป็นตัวแปรท้องถิ่นหรือสมาชิกใช้แทนmyClassclass

  • ถ้าเป็นตัวเข้าถึงใช้แทนgetClass()class()

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


0

ข้อดีอย่างหนึ่งของการสะกดคำที่สร้างสรรค์คือความสามารถในการค้นหาที่ดีขึ้น ฉันคิดว่ามันง่ายกว่าที่จะทำการค้นหาโค้ดโดยเฉพาะสำหรับสิ่งที่แปลกใหม่กว่าสำหรับคำทั่วไปซึ่งบ่อยครั้งที่คุณจะพบสิ่งผิดทั้งหมดและอีก 1,000 รายการ ตัวอย่างเช่นฉันเคยเป็นเจ้าของ kzpg.com Google ที่ตอนนี้และคุณจะเห็นเพียงไม่กี่ครั้ง มันเป็นเอกลักษณ์และหาได้ง่ายมาก

แต่ในการวัดฉันคิดว่าคำถามนี้เป็นหนึ่งในความคิดเห็นมากกว่าเนื้อหา โดยส่วนตัวแล้วผมเติบโตขึ้นมาในที่ซึ่งทุกอย่างเกี่ยวกับคำพูดและพวกเขามากมาย คนเรียนรู้ที่จะสร้างสรรค์มาก ๆ ในตอนท้ายฉันมีตัวละครประมาณ 640,000 ตัวฐานของฉันมากหรือน้อย ดังนั้นการพูดให้สั้นจึงเป็นสิ่งสำคัญที่จะทำให้งานสำเร็จ


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