คำถามติดแท็ก coding-style

รูปแบบการเข้ารหัสเป็นชุดแนวทางที่ช่วยให้สามารถอ่านและเข้าใจซอร์สโค้ดได้

7
รักษาคลาสและวิธีการของฉันให้เล็กที่สุดเท่าที่จะทำได้?
ไม่กี่วันที่ผ่านมาฉันได้พูดคุยกับผู้สมัครระดับปริญญาเอกด้านวิศวกรรมซอฟต์แวร์และในบางครั้งเธอพูดกับฉัน: รักษาชั้นเรียนและวิธีการของคุณให้เล็กที่สุด และฉันสงสัยว่านี่เป็นวิธีปฏิบัติที่ดีเสมอ ฉันหมายถึงตัวอย่างมันคุ้มค่าที่จะมีชั้นเรียนที่มีเพียง 2 attibutes ในนั้น? ตัวอย่างเช่นในบางวิธีฉันต้องการคู่จำนวนเต็มเพื่อทำงานกับ ฉันควรเขียนคลาส "PairOfIntgers" หรือไม่ วิธีคิดแบบนี้ "แตก" โค้ดเป็นจำนวนมากเกินไปหรือไม่

9
มันเป็นการดีที่จะใช้ฟังก์ชั่นเพื่อรวมรหัสทั่วไปหรือไม่
ฉันพบปัญหานี้มากมาย ตัวอย่างเช่นฉันกำลังเขียนฟังก์ชั่นการอ่านและฟังก์ชั่นการเขียนและพวกเขาทั้งสองตรวจสอบว่าbufเป็นตัวชี้ NULL และmodeตัวแปรที่อยู่ภายในขอบเขตที่แน่นอน นี่คือการทำสำเนารหัส สิ่งนี้สามารถแก้ไขได้โดยการย้ายมันไปไว้ในฟังก์ชันของตัวเอง แต่ฉันควร นี่จะเป็นฟังก์ชั่นโลหิตจาง (ไม่ทำอะไรมาก), ค่อนข้างจะแปลเป็นภาษาท้องถิ่น (ไม่ใช่วัตถุประสงค์ทั่วไป) และไม่โดดเด่นในตัวมันเอง (ไม่สามารถหาสิ่งที่คุณต้องการได้เว้นแต่คุณจะเห็นว่ามันอยู่ที่ไหน ใช้) อีกทางเลือกหนึ่งคือการใช้มาโคร แต่ฉันต้องการพูดคุยเกี่ยวกับฟังก์ชั่นในโพสต์นี้ ดังนั้นคุณควรใช้ฟังก์ชั่นสำหรับสิ่งนี้หรือไม่? ข้อดีและข้อเสียคืออะไร?

12
แก้ไขข้อคิดเห็นเพื่อใส่อาร์กิวเมนต์ของฟังก์ชันบูลีนที่เป็น“ false” หรือไม่
จากโครงการโอเพนซอร์สบางโครงการฉันรวบรวมสไตล์การเข้ารหัสต่อไปนี้ void someFunction(bool forget); void ourFunction() { someFunction(false /* forget */); } ฉันมีข้อสงสัยเสมอเกี่ยวกับความfalseหมายของที่นี่ มันหมายถึง "ลืม" หรือ "ลืม" อ้างถึงพารามิเตอร์ที่เกี่ยวข้อง (เช่นในกรณีข้างต้น) และ "false" มีไว้เพื่อลบล้างหรือไม่ มีการใช้รูปแบบใดบ่อยที่สุดและวิธีใดดีที่สุด (หรือวิธีที่ดีกว่า) เพื่อหลีกเลี่ยงความคลุมเครือ

7
ปัญหาเกี่ยวกับรูปแบบการเข้ารหัส: เราควรมีฟังก์ชั่นที่ใช้พารามิเตอร์แก้ไขหรือไม่แล้วกลับไปที่พารามิเตอร์นั้นหรือไม่
ฉันกำลังถกเถียงกับเพื่อนของฉันเล็กน้อยว่าการปฏิบัติทั้งสองนี้เป็นเพียงแค่สองด้านของเหรียญเดียวกันหรือไม่หรือว่าจะดีกว่าอย่างแท้จริง เรามีฟังก์ชั่นที่รับพารามิเตอร์เติมสมาชิกของมันแล้วส่งกลับ: Item predictPrice(Item item) ฉันเชื่อว่ามันทำงานบนวัตถุเดียวกับที่ส่งผ่านไม่มีจุดที่จะส่งคืนรายการ ในความเป็นจริงถ้ามีอะไรจากมุมมองของผู้โทรมันสับสนเรื่องที่คุณอาจคาดหวังให้กลับรายการใหม่ที่มันไม่ เขาอ้างว่ามันไม่สร้างความแตกต่างและมันก็ไม่สำคัญว่ามันจะสร้างไอเท็มใหม่และคืนสิ่งนั้น ฉันไม่เห็นด้วยอย่างยิ่งด้วยเหตุผลดังต่อไปนี้: หากคุณมีการอ้างอิงหลายรายการไปยังรายการที่ผ่าน (หรือพอยน์เตอร์หรืออะไรก็ตาม) มันจะจัดสรรวัตถุใหม่และส่งคืนเป็นสิ่งสำคัญเนื่องจากการอ้างอิงเหล่านั้นจะไม่ถูกต้อง ในภาษาที่ไม่มีการจัดการหน่วยความจำฟังก์ชั่นการจัดสรรอินสแตนซ์ใหม่อ้างว่าเป็นเจ้าของหน่วยความจำและดังนั้นเราจะต้องใช้วิธีการล้างข้อมูลที่เรียกว่าในบางจุด การจัดสรรฮีปอาจมีราคาแพงและดังนั้นจึงเป็นสิ่งสำคัญที่ฟังก์ชันที่เรียกใช้ทำเช่นนั้น ดังนั้นฉันเชื่อว่ามันเป็นสิ่งสำคัญมากที่จะสามารถดูผ่านลายเซ็นวิธีการไม่ว่าจะแก้ไขวัตถุหรือจัดสรรใหม่ ดังนั้นฉันเชื่อว่าเนื่องจากฟังก์ชั่นเพียงแค่ปรับเปลี่ยนวัตถุที่ส่งผ่านลายเซ็นควรจะ: void predictPrice(Item item) ในทุก codebase (ยอมรับกันว่า C และ C ++ codebases ไม่ใช่ภาษาจาวาซึ่งเป็นภาษาที่เรากำลังทำงานอยู่) ฉันได้ทำงานด้วยสไตล์ข้างต้นได้ยึดติดเป็นหลักและเก็บไว้โดยโปรแกรมเมอร์ที่มีประสบการณ์มากกว่า เขาอ้างว่าเนื่องจากขนาดตัวอย่างของโค๊ดเบสและเพื่อนร่วมงานของฉันนั้นเล็กมากจากโค๊ดและเพื่อนร่วมงานที่เป็นไปได้ทั้งหมดดังนั้นประสบการณ์ของฉันจึงไม่มีตัวบ่งชี้ที่แท้จริงว่ามีใครเหนือกว่า ดังนั้นความคิดใด ๆ

7
ควรจัดทำงบ / อื่นโดยความหายากของกรณีหรือความยากลำบากในการจัดการกับพวกเขา?
ในรหัสที่ฉันกำลังเขียนตอนนี้ฉันมีสิ่งนี้: if (uncommon_condition) { do_something_simple(); } else { do(); something(); long(); and(); complicated(); } ส่วนหนึ่งของฉันคิดว่า "ไม่เป็นไรวิธีเขียนกรณีง่าย ๆ ควรไปก่อนและกรณีที่ซับซ้อนกว่าควรไปต่อไป" แต่อีกส่วนหนึ่งกล่าวว่า: "ไม่! elseรหัสควรอยู่ภายใต้ifเนื่องจากifสำหรับการจัดการกับกรณีที่ผิดปกติและelseสำหรับการจัดการกับกรณีอื่น ๆ ทั้งหมด" ข้อใดถูกหรือดีกว่า?

15
ฉันเกลียดหนึ่งในมาตรฐานการเข้ารหัสของเราและทำให้ฉันบ้าวิธีการประมวลผลได้อย่างไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา คำเตือน : ไม่เกินความจริงตามที่แนะนำ แต่มันก็ทำให้ฉันรู้สึกไม่สบายใจ ฉันแค่อยากจะแสดงความจริงใจดังนั้นเอาไปด้วยเม็ดเกลือ เพียงแค่แกล้งทำเป็นว่าผมกำลังพูดถึงว่ามาตรฐานการเข้ารหัสที่คุณไม่ชอบการทำงานร่วมกับ แก้ไข : ความจริงที่ว่าฉันไม่ชอบไม่ได้หมายความว่าฉันไม่ได้ใช้หรือบังคับใช้ ฉันตัดสินใจที่จะถามคำถามนี้ด้วยจิตวิญญาณของการได้รับมาตรฐานที่คุณไม่ชอบไม่ใช่เพื่อขอความช่วยเหลือเกี่ยวกับวิธีที่จะโต้แย้งว่ามันสามารถเปลี่ยนแปลงได้ดีกว่า (แม้ว่าความคิดเห็นใด ๆ เกี่ยวกับส่วนสุดท้ายนี้จะชื่นชม) นอกจากนี้ฉันทำงานใน บริษัท ขนาดใหญ่และการเปลี่ยนแปลงบางอย่างที่เคยมีมานานมาก มาตรฐานคือมาตรฐานแบบเปิดลอน - รั้ง - ออน - ไลน์: somefunction() { //... } แทนที่จะเป็น* อย่างชัดเจนดีกว่า * (สังเกตเสียงล้อเล่น / หงุดหงิด): somefunction() { //... } ข้อโต้แย้งส่วนตัวของฉันกับมาตรฐาน: มันเป็นรหัส bloats : สายที่ไม่จำเป็นเพิ่มเติม …

5
มีอนุสัญญาการเข้ารหัส PowerShell ที่รู้จักกันดีหรือไม่?
มีการประชุมที่กำหนดชัดเจนเมื่อเขียนโปรแกรมใน PowerShell หรือไม่ ตัวอย่างเช่นในสคริปต์ที่ต้องดูแลรักษาในระยะยาวเราจำเป็นต้อง: ใช้ชื่อจริงหรือชื่อแทน cmdlet หรือไม่ ระบุชื่อพารามิเตอร์ cmdlet เต็มหรือบางส่วนเท่านั้น ( dir -Recurseเทียบกับdir -r) เมื่อระบุอาร์กิวเมนต์สายอักขระสำหรับ cmdlet คุณจะใส่อาร์กิวเมนต์ในเครื่องหมายคำพูด ( New-Object 'System.Int32'กับ)New-Object System.Int32 เมื่อคุณเขียนฟังก์ชั่นและตัวกรองคุณระบุประเภทของพารามิเตอร์หรือไม่ คุณเขียน cmdlets ในกรณีที่ถูกต้อง (เป็นทางการ) หรือไม่? สำหรับคำหลักเช่นBEGIN...PROCESS...ENDคุณเขียนเป็นตัวพิมพ์ใหญ่เท่านั้นหรือไม่ ดูเหมือนว่า MSDN ไม่มีเอกสารการประชุมการเข้ารหัสสำหรับ PowerShell ในขณะที่เอกสารดังกล่าวมีอยู่เช่นสำหรับ C #

9
แนวทางการจัดรูปแบบโค้ดมีความสำคัญมากเพียงใด [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา มาตรฐานการเข้ารหัสเป็นเรื่องธรรมดาในองค์กรพัฒนาซอฟต์แวร์ใด ๆ แต่พวกเขามีความสำคัญต่อการปฏิบัติตามอย่างไร ฉันสามารถเข้าใจความต้องการความสอดคล้องบางอย่าง แต่เมื่อจัดการกับสิ่งง่าย ๆ เช่นตำแหน่งของเครื่องมือจัดฟัน, ความยาวของสาย ฯลฯ ฉันไม่แน่ใจว่ามาตรฐานที่เข้มงวดมากเกินไปมีส่วนช่วยในการพัฒนาซอฟต์แวร์มาก ไม่สำคัญที่รหัสของคุณสามารถอ่านได้ไม่ใช่รหัสที่สอดคล้องกับมาตรฐานที่กำหนดไว้ล่วงหน้าหรือไม่ ดูเหมือนว่าพวกเขาจะเป็นแนวทาง ...

3
มันดีไหมที่จะมีหลายคลาสในไฟล์เดียวกันใน Python?
ฉันเพิ่งเข้ามาสู่โลก Python หลังจากหลายปีของ Java และ PHP ในขณะที่ภาษานั้นค่อนข้างตรงไปตรงมาฉันกำลังดิ้นรนกับปัญหา 'เล็กน้อย' บางอย่างที่ฉันไม่สามารถคาดหัวได้ - และฉันไม่สามารถหาคำตอบในเอกสารและแบบฝึกหัดมากมายที่ฉันอ่านมาได้ . สำหรับผู้ปฏิบัติงาน Python ที่มีประสบการณ์คำถามนี้อาจดูไร้สาระ แต่ฉันต้องการคำตอบจริงๆเพื่อที่ฉันจะได้ไปต่อด้วยภาษา: ใน Java และ PHP ( แม้ว่าจะไม่จำเป็นอย่างเคร่งครัด ) คุณคาดว่าจะเขียนแต่ละclassไฟล์ของตัวเองโดยมีชื่อไฟล์ว่าclassเป็นแนวทางปฏิบัติที่ดีที่สุด แต่ใน Python หรืออย่างน้อยในแบบฝึกหัดที่ฉันตรวจสอบมันก็โอเคที่จะมีหลายคลาสในไฟล์เดียวกัน กฎนี้มีไว้ในการผลิตรหัสพร้อมใช้หรือไม่หรือทำเพื่อความกะทัดรัดในรหัสที่ให้ความรู้เท่านั้น

16
บล็อกอื่นเพิ่มความซับซ้อนของรหัสหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา นี่คือมากตัวอย่างง่าย นี่ไม่ใช่คำถามเฉพาะภาษาและฉันขอให้คุณเพิกเฉยต่อวิธีการอื่น ๆ ที่สามารถเขียนฟังก์ชันและการเปลี่ยนแปลงที่เกิดขึ้นได้ . สีเป็นประเภทที่ไม่ซ้ำกัน string CanLeaveWithoutUmbrella() { if(sky.Color.Equals(Color.Blue)) { return "Yes you can"; } else { return "No you can't"; } } ผู้คนจำนวนมากที่ฉันได้พบ ReSharper และผู้ชายคนนี้ (ซึ่งความคิดเห็นเตือนฉันฉันกำลังมองหาที่จะถามในขณะนี้) จะแนะนำการ refactoring รหัสเพื่อลบelseบล็อกออกจากนี้: (ฉันจำไม่ได้ว่าคนส่วนใหญ่พูดอะไรฉันอาจไม่ได้ถามอย่างอื่น) string CanLeaveWithoutUmbrella() { if(sky.Color.Equals(Color.Blue)) { return "Yes you can"; } return …

8
Class ชื่อ Class หรือไม่?
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ นี่เป็นคำถามสไตล์มากกว่า แต่เป็นสิ่งที่ฉันกำลังครุ่นคิดถึงโครงการของฉัน สมมติว่าคุณกำลังสร้างแอปพลิเคชันซึ่งเป็นแบบจำลองโรงเรียน ดังนั้นจึงมีเอนทิตีเช่นนักเรียน, โรงเรียน, ฯลฯ ตอนนี้ทั้งหมดดีและใช้งานง่ายจนกว่าคุณจะลงไปที่คลาสเนื่องจาก (ในภาษาส่วนใหญ่) Classเป็นคำที่สงวนไว้ ดังนั้นเนื่องจากClassเป็นคำหลักที่สงวนไว้สิ่งใดที่คุณจะเรียกว่าเอนทิตีดังกล่าวที่เป็นแบบจำลองชั้นเรียน

6
Foreach-loop พร้อม break / return vs. while-loop ที่มี invariant และ post-condition อย่างชัดเจน
นี่เป็นวิธีที่นิยมมากที่สุด (ดูเหมือนฉัน) ในการตรวจสอบว่าค่าอยู่ในอาร์เรย์หรือไม่: for (int x : array) { if (x == value) return true; } return false; อย่างไรก็ตามในหนังสือที่ฉันอ่านเมื่อหลายปีก่อนโดยอาจ Wirth หรือ Dijkstra มันก็บอกว่าสไตล์นี้ดีกว่า (เมื่อเทียบกับ while-loop ที่มีทางออกด้านใน): int i = 0; while (i < array.length && array[i] != value) i++; return i < array.length; วิธีนี้เงื่อนไขการออกเพิ่มเติมกลายเป็นส่วนหนึ่งที่ชัดเจนของลูปค่าคงที่ไม่มีเงื่อนไขที่ซ่อนอยู่และออกจากภายในลูปทุกอย่างชัดเจนมากขึ้นและมากขึ้นด้วยวิธีการเขียนโปรแกรมแบบมีโครงสร้าง ฉันมักจะแนะนำนี้รูปแบบหลังเมื่อใดก็ตามที่เป็นไปได้และใช้for-loop เพียงสำทับจากไปab ถึงกระนั้นฉันก็ไม่สามารถพูดได้ว่ารุ่นแรกนั้นมีความชัดเจนน้อยกว่า บางทีมันอาจจะชัดเจนและเข้าใจง่ายกว่าอย่างน้อยก็สำหรับผู้เริ่มต้น ดังนั้นฉันยังคงถามตัวเองว่าคำถามใดดีกว่ากัน? บางทีใครบางคนสามารถให้เหตุผลที่ดีแก่คนใดคนหนึ่งในวิธีการ? …

6
ฉันจะสละชื่อตัวแปรที่สั้นลงสำหรับรหัส“ columned” ที่ยาวขึ้นหรือไม่
ฉันเป็นนักเขียนโปรแกรมสมัครเล่นในชั้นเรียน CS ที่พยายามเรียนรู้ทักษะการเขียนโปรแกรมที่เหมาะสม นี่คือลักษณะของรหัสของฉันขอบของมันขยายไปถึง 103 คอลัมน์ int extractMessage(char keyWord[25], char cipherText[17424], int rowSize, char message[388]) { int keyColumn = 0; int cipherColumn = 0; int offset = 1; int nextWord = 1; int lengthOfWord = 0; int lengthOfCipher = 0; lengthOfWord = length(keyWord); lengthOfCipher = length(cipherText); while (keyWord[keyColumn] != cipherText[cipherColumn]) …
17 c  coding-style 

12
สอนตัวเองในฐานะนักฟิสิกส์เพื่อเป็นโปรแกรมเมอร์ที่ดีขึ้น [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันชอบวิชาฟิสิกส์เสมอและฉันชอบเขียนโปรแกรมเสมอดังนั้นเมื่อฉันได้รับข้อเสนอสำหรับตำแหน่งปริญญาเอกที่ทำวิชาฟิสิกส์เชิงตัวเลข (รายละเอียดไม่เกี่ยวข้องกันมันเป็นโปรแกรมแบบขนานส่วนใหญ่สำหรับกลุ่ม) ที่มหาวิทยาลัย - เครื่องกรองน้ำสำหรับฉัน อย่างไรก็ตามในฐานะนักฟิสิกส์ส่วนใหญ่ฉันสอนตัวเอง ฉันไม่มีความรู้พื้นฐานในวงกว้างเกี่ยวกับวิธีการโค้ดในลักษณะเชิงวัตถุหรือชื่อของอัลกอริทึมเฉพาะที่ปรับการค้นหาในต้นไม้ kD บางส่วน เนื่องจากงานทั้งหมดของฉันมีความกังวลเกี่ยวกับฟิสิกส์และผลลัพธ์ทางวิทยาศาสตร์มากขึ้นฉันจึงมีนิสัยที่ไม่ดีอย่างไม่ต้องสงสัยเลยยิ่งไปกว่านั้นเพราะการเข้ารหัสของฉันเป็นของตัวเองและไม่ได้ทำงานเป็นทีมจริงๆ ฉันใช้ C เป็นส่วนใหญ่เนื่องจากมันตรงไปตรงมามากและ "สิ่งที่คุณเขียนคือสิ่งที่คุณได้รับ" - ไม่จำเป็นต้องมี abstractions แฟนซี อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันได้เปลี่ยนไปใช้ C ++ เนื่องจากฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับพลังที่มาพร้อมกับสิ่งที่เป็นนามธรรม ฉันจะสอนตัวเองให้เขียนโค้ดด้วยวิธีที่ดีและเป็นนามธรรมได้อย่างไรเช่นผู้สำเร็จการศึกษาสาขาวิทยาศาสตร์คอมพิวเตอร์ ฉันรู้ว่าโค้ดของฉันมีประสิทธิภาพ แต่ฉันต้องการให้มันดูดีและอ่านง่าย โปรดจำไว้ว่าฉันไม่มีเวลาอ่านโทมัสจำนวน 1,000 หน้าเกี่ยวกับการเขียนโปรแกรมแบบนามธรรม ฉันต้องใช้เวลาในการวิจัยฟิสิกส์จริง (หัวหน้างานของฉันจะหัวเราะเยาะฉันถ้าเขารู้ว่าฉันใช้เวลาคิดเกี่ยวกับวิธีการโปรแกรมอย่างหรูหรา) ฉันจะประเมินได้อย่างไรว่างานของฉันดีจากมุมมองของโปรแกรมเมอร์หรือไม่

13
การใช้ #define เหมาะสมเพื่อให้การพิมพ์รหัสซ้ำง่ายขึ้นหรือไม่
มีความเห็นว่าการใช้ #define เพื่อกำหนดรหัสเต็มบรรทัดสำหรับการทำให้โค้ดง่ายขึ้นหรือไม่นั้นเป็นวิธีปฏิบัติที่ดีหรือไม่ดี? ตัวอย่างเช่นหากฉันต้องการพิมพ์คำจำนวนมากด้วยกันฉันจะรู้สึกรำคาญเมื่อพิมพ์ << " " << เพื่อแทรกช่องว่างระหว่างคำในคำสั่ง cout ฉันทำได้ #define pSpace << " " << และประเภท cout << word1 pSpace word2 << endl; สำหรับฉันแล้วสิ่งนี้ไม่ได้เพิ่มหรือลบออกจากความชัดเจนของรหัสและทำให้การพิมพ์ง่ายขึ้นเล็กน้อย มีอีกหลายกรณีที่ฉันสามารถนึกถึงว่าการพิมพ์จะง่ายกว่าที่ไหนมากสำหรับการดีบัก ความคิดใด ๆ เกี่ยวกับเรื่องนี้? แก้ไข: ขอบคุณสำหรับคำตอบที่ยอดเยี่ยม! คำถามนี้เพิ่งมาถึงฉันหลังจากทำการพิมพ์ซ้ำ ๆ จำนวนมาก แต่ฉันไม่เคยคิดเลยว่าจะมีมาโครตัวอื่นที่ใช้สับสนน้อยกว่า สำหรับผู้ที่ไม่ต้องการอ่านคำตอบทั้งหมดทางเลือกที่ดีที่สุดคือการใช้มาโครของ IDE เพื่อลดการพิมพ์ซ้ำ

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