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

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

30
เอาต์พุตสตริง: รูปแบบหรือ concat ใน C #?
สมมติว่าคุณต้องการส่งออกหรือสตริง concat คุณชอบสไตล์ใดต่อไปนี้ var p = new { FirstName = "Bill", LastName = "Gates" }; Console.WriteLine("{0} {1}", p.FirstName, p.LastName); Console.WriteLine(p.FirstName + " " + p.LastName); คุณค่อนข้างใช้รูปแบบหรือคุณเพียงแค่เชื่อมสตริง? คุณชอบอะไร หนึ่งในสิ่งเหล่านี้ทำร้ายดวงตาของคุณหรือไม่? คุณมีเหตุผลที่จะใช้เหตุผลข้อหนึ่งหรือไม่? ฉันจะไปอีกครั้ง

15
ควร enums ใน C # มีไฟล์ของตัวเอง? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีคลาสที่ใช้การแจงนับ enum อยู่ในแฟ้มของตัวเองซึ่งดูเหมือนจะสิ้นเปลือง อะไรคือความคิดเห็นทั่วไปเกี่ยวกับ enums ที่ถูกวางไว้ในเนมสเปซของไฟล์ที่พวกมันถูกใช้ไป หรือ enum ควรอยู่ในไฟล์ cs ของตัวเองหรือไม่ แก้ไข ฉันควรพูดถึงว่าในขณะที่ชั้นเรียนที่เป็นปัญหาใช้การแจกแจงเหล่านี้ดังนั้นผู้เรียกภายนอก กล่าวอีกนัยหนึ่งคลาสอื่นสามารถตั้งค่าแจงนับเหล่านี้ ดังนั้นพวกเขาจึงไม่ได้ใช้ภายในห้องเรียนมิฉะนั้นคำถามนี้จะเป็นเกมง่ายๆ
178 c#  coding-style  enums 


30
เหตุใดจึงถือว่าการปฏิบัติที่ไม่ดีในการละเว้นการจัดฟันแบบหยิก [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ทำไมทุกคนบอกให้ฉันเขียนโค้ดแบบนี้เป็นการปฏิบัติที่ไม่ดี? if (foo) Bar(); //or for(int i = 0 i < count; i++) Bar(i); อาร์กิวเมนต์ที่ใหญ่ที่สุดของฉันสำหรับการละเว้นวงเล็บปีกกาคือบางครั้งมันอาจเป็นสองเท่าของบรรทัดกับพวกเขา ตัวอย่างเช่นต่อไปนี้เป็นโค้ดบางส่วนที่ใช้ระบายสีเอฟเฟกต์แสงสำหรับฉลากใน C # using (Brush br = new SolidBrush(Color.FromArgb(15, GlowColor))) { for (int x = 0; x <= GlowAmount; x++) { for (int y = 0; y …
177 java  c#  c++  c  coding-style 

9
.toArray (ใหม่ MyClass [0]) หรือ. toArray (ใหม่ MyClass [myList.size ()])?
สมมติว่าฉันมี ArrayList ArrayList<MyClass> myList; และฉันต้องการโทรหาอาเรย์มีเหตุผลด้านประสิทธิภาพที่จะใช้หรือไม่ MyClass[] arr = myList.toArray(new MyClass[myList.size()]); เกิน MyClass[] arr = myList.toArray(new MyClass[0]); ? ฉันชอบสไตล์ที่สองมากกว่าเพราะ verbose น้อยกว่าและฉันคิดว่าคอมไพเลอร์จะทำให้แน่ใจว่าอาร์เรย์ที่ว่างเปล่านั้นไม่ได้ถูกสร้างขึ้นจริง ๆ แต่ฉันสงสัยว่ามันเป็นเรื่องจริงหรือเปล่า แน่นอนใน 99% ของกรณีมันไม่ได้สร้างความแตกต่างอย่างใดอย่างหนึ่ง แต่ฉันต้องการที่จะรักษาสไตล์ที่สอดคล้องกันระหว่างรหัสปกติของฉันและลูปภายในที่ดีที่สุดของฉัน ...

30
กฎมาตรฐานการเข้ารหัสที่แปลกที่สุดที่คุณถูกบังคับให้ทำตามคืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เมื่อฉันถามคำถามนี้ฉันเกือบจะแน่นอนเสมอใช่คุณควรมีมาตรฐานการเข้ารหัส กฎมาตรฐานการเข้ารหัสที่แปลกที่สุดที่คุณถูกบังคับให้ทำตามคืออะไร และโดยที่แปลกประหลาดฉันหมายถึงที่สนุกที่สุดหรือแย่ที่สุดหรือแค่แปลก ๆ ธรรมดา ในแต่ละคำตอบโปรดระบุว่าภาษาขนาดของทีมของคุณคืออะไรและสิ่งใดที่ทำให้เกิดผลเสียต่อคุณและทีมของคุณ
173 coding-style 

6
วิธีที่ถูกต้องในการจัดเรียง Python `import x` และ` จาก x import y` statement คืออะไร?
คู่มือสไตล์หลามแนะนำให้การนำเข้ากลุ่มเช่นนี้ การนำเข้าควรจัดกลุ่มตามลำดับต่อไปนี้: การนำเข้าไลบรารีมาตรฐาน การนำเข้าของบุคคลที่สามที่เกี่ยวข้อง การนำเข้าเฉพาะแอปพลิเคชัน / ไลบรารีเฉพาะที่ อย่างไรก็ตามไม่ได้พูดถึงสิ่งที่ควรนำมาใช้ในการกำหนดวิธีการนำเข้าสองวิธี: from foo import bar import foo มีหลายวิธีในการจัดเรียง (สมมติว่าการนำเข้าทั้งหมดอยู่ในกลุ่มเดียวกัน): ก่อนfrom..importอื่นimport from g import gg from x import xx import abc import def import x ก่อนimportอื่นfrom..import import abc import def import x from g import gg from x import xx เรียงตามตัวอักษรตามชื่อโมดูลโดยไม่สนใจชนิดของการนำเข้า import abc import …

20
ข้อดีของ std :: for_each สำหรับลูป
มีข้อดีของการใด ๆstd::for_eachมากกว่าforห่วง? สำหรับฉันstd::for_eachดูเหมือนว่าจะเป็นอุปสรรคต่อการอ่านรหัสเท่านั้น ทำไมมาตรฐานการเข้ารหัสบางอย่างแนะนำให้ใช้?
168 c++  stl  foreach  coding-style 

9
การปฏิบัติที่ดีหรือไม่ดี? การเริ่มต้นวัตถุในทะเยอทะยาน
ฉันมีนิสัยแปลก ๆ ... อย่างน้อยตามที่เพื่อนร่วมงานของฉัน เราทำงานร่วมกันในโครงการขนาดเล็กด้วยกัน วิธีที่ฉันเขียนคลาสคือ (ตัวอย่างง่าย ๆ ): [Serializable()] public class Foo { public Foo() { } private Bar _bar; public Bar Bar { get { if (_bar == null) _bar = new Bar(); return _bar; } set { _bar = value; } } } โดยพื้นฐานแล้วฉันจะเริ่มต้นเขตข้อมูลใด ๆ เมื่อมีการเรียกทะเยอทะยานและฟิลด์ยังคงเป็นโมฆะ ฉันคิดว่าสิ่งนี้จะช่วยลดการโอเวอร์โหลดโดยไม่เริ่มต้นคุณสมบัติใด …
167 c#  coding-style  getter 

16
วิธีที่ไม่ซ้ำในการใช้ตัวดำเนินการ Null Coalescing [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ฉันรู้วิธีมาตรฐานในการใช้ตัวดำเนินการรวม Null ใน C # คือการตั้งค่าเริ่มต้น string nobody = null; string somebody = "Bob Saget"; string anybody = ""; anybody = nobody ?? "Mr. T"; // returns Mr. T anybody = somebody ?? "Mr. T"; // returns "Bob Saget" แต่มีอะไรอีกบ้างที่สามารถ??ใช้เพื่อ? ดูเหมือนว่าจะไม่มีประโยชน์เท่าโอเปอร์เรเตอร์ที่ประกอบไปด้วยนอกจากจะกระชับและอ่านง่ายกว่า: nobody …

8
วิธี pythonic ในการทำบางสิ่งบางอย่าง N ครั้งโดยไม่มีตัวแปรดัชนี?
ทุกวันฉันรักหลามมากขึ้นเรื่อย ๆ วันนี้ฉันกำลังเขียนโค้ดบางอย่างเช่น: for i in xrange(N): do_something() ฉันต้องทำอะไรซักอย่าง N ครั้ง แต่ในแต่ละครั้งไม่ได้ขึ้นอยู่กับค่าของi(ตัวแปรดัชนี) ฉันรู้ว่าฉันกำลังสร้างตัวแปรที่ฉันไม่เคยใช้ ( i) และฉันคิดว่า "แน่นอนว่ามันเป็นวิธีการทำสิ่งที่ยิ่งใหญ่กว่านี้โดยไม่จำเป็นต้องใช้ตัวแปรดัชนีที่ไร้ประโยชน์" ดังนั้น ... คำถามคือ: คุณรู้วิธีการทำงานที่เรียบง่ายในวิธีที่สวยงามยิ่งขึ้น (pythonic) หรือไม่?

30
มีเหตุผลที่ถูกต้องในการบังคับใช้ความกว้างสูงสุด 80 อักขระในไฟล์รหัสวันนี้และอายุใช่ไหม [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา อย่างจริงจัง. บนหน้าจอขนาด 22 นิ้วมันครอบคลุมเพียงแค่เศษหนึ่งส่วนสี่ของหน้าจอฉันต้องการกระสุนเพื่อขว้างกฏนี้ ฉันไม่ได้บอกว่าไม่ควรมีขีด จำกัด ; ฉันแค่พูดว่า 80 ตัวอักษรมีขนาดเล็กมาก

23
การตั้งค่าตัวแปรเป็น NULL หลังจากว่าง
ใน บริษัท ของฉันมีกฎการเข้ารหัสที่บอกว่าหลังจากพ้นหน่วยความจำใด ๆ NULLตั้งค่าตัวแปร ตัวอย่างเช่น ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } ฉันรู้สึกว่าในกรณีเช่นรหัสที่แสดงด้านบนการตั้งค่าเป็นNULLไม่มีความหมายใด ๆ หรือว่าฉันขาดอะไรไป? หากไม่มีความหมายในกรณีเช่นนี้ฉันจะดำเนินการกับ "ทีมคุณภาพ" เพื่อลบกฎการเข้ารหัสนี้ โปรดให้คำแนะนำ.

5
หลักการตั้งชื่อตารางเชิงสัมพันธ์
ฉันเริ่มโครงการใหม่และต้องการรับชื่อตารางและคอลัมน์ของฉันตั้งแต่เริ่มต้น ตัวอย่างเช่นฉันเคยใช้พหูพจน์ในชื่อตารางเสมอ ดังนั้นถ้าฉันได้รับตาราง "ผู้ใช้" แล้วฉันได้รับผลิตภัณฑ์ที่มีผู้ใช้เท่านั้นที่จะมีตารางควรมีชื่อ "user_product" หรือเพียงแค่ "ผลิตภัณฑ์"? นี่คือความสัมพันธ์แบบหนึ่งต่อหลาย และถ้าหากฉันมีคำอธิบายผลิตภัณฑ์หลายอย่างสำหรับแต่ละผลิตภัณฑ์มันจะเป็น "user_product_description" หรือ "product_description" หรือเพียงแค่ "คำอธิบาย" หรือไม่ แน่นอนว่ามีการตั้งค่าคีย์ต่างประเทศที่เหมาะสม .. การตั้งชื่อเฉพาะคำอธิบายจะเป็นปัญหาเนื่องจากฉันอาจมีรายละเอียดผู้ใช้หรือรายละเอียดบัญชีหรืออะไรก็ตาม .. ถ้าฉันต้องการตารางสัมพันธ์ที่บริสุทธิ์ (มากไปหามาก) ที่มีเพียงสองคอลัมน์สิ่งนี้จะมีลักษณะอย่างไร "user_stuff" หรืออาจจะเป็น "rel_user_stuff" และถ้าเป็นอันแรกสิ่งที่จะแยกความแตกต่างนี้จากตัวอย่างเช่น "user_product"? ความช่วยเหลือใด ๆ ที่ได้รับการชื่นชมอย่างมากและหากมีมาตรฐานของการตั้งชื่อตามที่คุณแนะนำให้ใช้ ขอบคุณ

12
วนซ้ำผ่านเวกเตอร์ C ++ โดยใช้ลูป 'for'
ฉันยังใหม่กับภาษา C ++ ฉันเริ่มใช้เวกเตอร์และสังเกตเห็นว่าในโค้ดทั้งหมดที่ฉันเห็นว่าจะวนซ้ำแม้ว่าเวกเตอร์ผ่านดัชนีพารามิเตอร์แรกของforลูปมักจะขึ้นอยู่กับเวกเตอร์เสมอ ใน Java ฉันอาจทำสิ่งนี้ด้วย ArrayList: for(int i=0; i < vector.size(); i++){ vector[i].doSomething(); } มีเหตุผลที่ฉันไม่เห็นสิ่งนี้ใน C ++ หรือไม่? ปฏิบัติไม่ดีหรือไม่?

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