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

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

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

8
เหตุใดจึงแนะนำให้มีบรรทัดว่างในตอนท้ายของไฟล์ต้นฉบับ
เครื่องมือสไตล์โค้ดบางตัวแนะนำสิ่งนี้และฉันจำได้ว่าเห็นเครื่องมือบรรทัดคำสั่ง unix บางคำเตือนเกี่ยวกับบรรทัดว่างที่ขาดหายไป เหตุผลที่มีบรรทัดว่างพิเศษคืออะไร

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

8
พจนานุกรมและค่าเริ่มต้น
สมมติว่าconnectionDetailsเป็นพจนานุกรม Python สิ่งที่ดีที่สุดสง่างามที่สุด "ไพ ธ อน" ที่สุดของวิธีการสร้างรหัสใหม่เช่นนี้? if "host" in connectionDetails: host = connectionDetails["host"] else: host = someDefaultValue

6
เหตุใดจึงต้องการขีดคั่นสำหรับตัวเลือก CSS / HTML?
ในอดีตที่ผ่านมาฉันใช้ขีดเส้นใต้เพื่อกำหนดแอตทริบิวต์classและidใน HTML เสมอ ในช่วงไม่กี่ปีที่ผ่านมาฉันเปลี่ยนไปใช้ขีดกลางเป็นส่วนใหญ่เพื่อให้สอดคล้องกับแนวโน้มในชุมชนไม่จำเป็นต้องเป็นเพราะมันสมเหตุสมผลสำหรับฉัน ฉันคิดเสมอว่าเครื่องหมายขีดคั่นมีข้อเสียมากกว่าและฉันไม่เห็นประโยชน์: การเติมโค้ดและการแก้ไข บรรณาธิการส่วนใหญ่ถือว่าเครื่องหมายขีดคั่นเป็นตัวคั่นคำดังนั้นฉันไม่สามารถแท็บผ่านสัญลักษณ์ที่ฉันต้องการ สมมติว่าคลาสคือ " featured-product" ฉันต้องเติมข้อมูลอัตโนมัติ " featured" ป้อนยัติภังค์และกรอก " product" เมื่อใช้เครื่องหมายขีดล่าง " featured_product" จะถือว่าเป็นหนึ่งคำจึงสามารถเติมได้ในขั้นตอนเดียว เช่นเดียวกับการนำทางผ่านเอกสาร การกระโดดโดยใช้คำหรือการดับเบิลคลิกที่ชื่อคลาสนั้นจะถูกใช้โดยใช้เครื่องหมายขีดกลาง (โดยทั่วไปแล้วฉันคิดว่าคลาสและรหัสเป็นโทเค็นดังนั้นจึงไม่มีความหมายสำหรับฉันว่าโทเค็นควรจะแยกได้ง่ายบนยัติภังค์) ความกำกวมกับตัวดำเนินการทางคณิตศาสตร์ การใช้เครื่องหมายขีดคั่นจะแบ่งการเข้าถึงคุณสมบัติของวัตถุให้กับองค์ประกอบแบบฟอร์มใน JavaScript สิ่งนี้เป็นไปได้เฉพาะกับขีดล่าง: form.first_name.value='Stormageddon'; (เป็นที่ยอมรับว่าฉันไม่ได้เข้าถึงองค์ประกอบของแบบฟอร์มด้วยวิธีนี้ แต่เมื่อตัดสินใจในการขีดกลางและขีดเส้นใต้เป็นกฎสากลให้พิจารณาว่าอาจมีใครบางคน) ภาษาอย่างSass (โดยเฉพาะในกรอบเข็มทิศ ) ได้ตัดสินด้วยเครื่องหมายขีดคั่นเป็นมาตรฐานแม้สำหรับชื่อตัวแปร ตอนแรกพวกเขาใช้ขีดเส้นใต้ด้วยเช่นกัน ความจริงที่ว่านี้มีการแยกวิเคราะห์แตกต่างกันที่ฉันแปลก: $list-item-10 $list-item - 10 ความไม่สอดคล้องกับการตั้งชื่อตัวแปรในภาษาต่างๆ ย้อนกลับไปในวันนั้นฉันเคยเขียนunderscored_namesหาตัวแปรใน PHP, ruby, HTML / CSS และ JavaScript นี่สะดวกและสอดคล้องกัน …

8
ชื่อเงาที่กำหนดไว้ในขอบเขตด้านนอกนั้นแย่แค่ไหน?
ฉันเพิ่งเปลี่ยนมาใช้ Pycharm และฉันมีความสุขมากเกี่ยวกับคำเตือนทั้งหมดและคำแนะนำที่ให้ฉันปรับปรุงรหัสของฉัน ยกเว้นอันนี้ซึ่งฉันไม่เข้าใจ: This inspection detects shadowing names defined in outer scopes. ฉันรู้ว่ามันเป็นแนวปฏิบัติที่ไม่ดีในการเข้าถึงตัวแปรจากขอบเขตด้านนอก แต่ปัญหาของ Shadowing ขอบเขตด้านนอกคืออะไร นี่คือตัวอย่างหนึ่งที่ Pycharm ส่งข้อความเตือนให้ฉัน: data = [4, 5, 6] def print_data(data): # <-- Warning: "Shadows 'data' from outer scope print data print_data(data)

12
วิธีที่ดีที่สุดในการตรวจสอบบูล nullable ในนิพจน์เงื่อนไข (ถ้า…)
ฉันสงสัยว่าอะไรคือไวยากรณ์ที่สะอาดและเข้าใจได้ดีที่สุดสำหรับการตรวจสอบเงื่อนไขในบูลที่ไม่มีค่า รูปแบบการเข้ารหัสดีหรือไม่ดีต่อไปนี้หรือไม่ มีวิธีในการแสดงสภาพที่ดีขึ้น / สะอาดขึ้นหรือไม่? bool? nullableBool = true; if (nullableBool ?? false) { ... } else { ... } โดยเฉพาะอย่างยิ่งถ้า (nullableBool ?? เท็จ)ส่วนหนึ่ง ฉันไม่ชอบif (x.HasValue && x.Value)สไตล์ ... (ไม่แน่ใจว่าคำถามถูกถามมาก่อนหรือไม่พบสิ่งที่คล้ายกับการค้นหา)

15
ทะเยอทะยานและ Setter?
ฉันไม่ใช่นักพัฒนา PHP ดังนั้นฉันจึงสงสัยว่าใน PHP นิยมใช้ตัวรับ / setters อย่างชัดเจนในรูปแบบ OOP บริสุทธิ์พร้อมฟิลด์ส่วนตัว (อย่างที่ฉันชอบ): class MyClass { private $firstField; private $secondField; public function getFirstField() { return $this->firstField; } public function setFirstField($x) { $this->firstField = $x; } public function getSecondField() { return $this->secondField; } public function setSecondField($x) { $this->secondField = $x; } } หรือเพียงแค่ฟิลด์สาธารณะ: …
203 php  oop  coding-style 

18
ใช้“ super” ใน C ++
รูปแบบการเข้ารหัสของฉันมีสำนวนดังต่อไปนี้ class Derived : public Base { public : typedef Base super; // note that it could be hidden in // protected/private section, instead // Etc. } ; สิ่งนี้ทำให้ฉันสามารถใช้ "super" เป็น alias to Base, ตัวอย่างเช่นใน constructors: Derived(int i, int j) : super(i), J(j) { } หรือแม้กระทั่งเมื่อเรียกใช้เมธอดจากคลาสฐานภายในเวอร์ชันที่แทนที่: void Derived::foo() { super::foo() …
203 c++  coding-style 

8
return statement เทียบกับ exit () ใน main ()
ฉันควรใช้exit()หรือเพียงแค่returnงบในmain()? โดยส่วนตัวแล้วฉันชอบreturnคำแถลงเพราะฉันรู้สึกว่ามันเหมือนกับการอ่านฟังก์ชั่นอื่น ๆ และการควบคุมการไหลเมื่อฉันอ่านรหัสนั้นราบรื่น (ในความคิดของฉัน) และแม้ว่าฉันต้องการที่จะ refactor main()ฟังก์ชั่นที่มีดูเหมือนจะเป็นทางเลือกที่ดีกว่าreturnexit() มีexit()อะไรพิเศษที่returnทำไม่ได้เหรอ?
197 c++  c  coding-style  return  exit 

17
เป็นการดีที่จะวางคำจำกัดความ C ++ ลงในไฟล์ส่วนหัวหรือไม่?
สไตล์ส่วนตัวของฉันกับ C ++ มีเสมอที่จะนำการประกาศชั้นในรวมไฟล์และคำนิยามในแฟ้ม .cpp เป็นอย่างมากเช่นที่ระบุไว้ในคำตอบของโลกิจะc ++ หัวไฟล์แยกรหัส ส่วนหนึ่งของเหตุผลที่ฉันชอบสไตล์นี้น่าจะเกี่ยวข้องกับหลายปีที่ฉันใช้การเข้ารหัส Modula-2 และ Ada ซึ่งทั้งสองแบบมีรูปแบบคล้ายกันกับไฟล์ข้อมูลจำเพาะและไฟล์เนื้อหา ฉันมีเพื่อนร่วมงานมีความรู้ใน C ++ มากกว่าฉันซึ่งยืนยันว่าการประกาศ C ++ ทั้งหมดควรเป็นไปได้ที่จะรวมคำจำกัดความที่มีในไฟล์ส่วนหัว เขาไม่ได้บอกว่านี่เป็นสไตล์ทางเลือกที่ถูกต้องหรือสไตล์ที่ดีขึ้นเล็กน้อย แต่นี่เป็นสไตล์ที่เป็นที่ยอมรับในระดับสากลที่ทุกคนใช้สำหรับ C ++ ฉันไม่ได้งอเหมือนที่เคยเป็นดังนั้นฉันจึงไม่กังวลที่จะเข้าหา bandwagon ของเขาจนกว่าฉันจะเห็นคนอีกไม่กี่คนอยู่ข้างๆเขา ดังนั้นสำนวนนี้เป็นเรื่องธรรมดามากจริง ๆ ? เพียงเพื่อให้โครงสร้างบางอย่างเพื่อตอบ: ตอนนี้มันเป็นวิธีที่พบมากค่อนข้างทั่วไปเรื่องผิดปกติหรือข้อผิดพลาดออกบ้า?

21
ฉันจะตั้งค่าสไตล์ CSS หลายแบบใน JavaScript ได้อย่างไร
ฉันมีตัวแปร JavaScript ต่อไปนี้: var fontsize = "12px" var left= "200px" var top= "100px" ฉันรู้ว่าฉันสามารถตั้งค่าให้องค์ประกอบของฉันซ้ำแล้วซ้ำอีกเช่นนี้: document.getElementById("myElement").style.top=top document.getElementById("myElement").style.left=left เป็นไปได้ไหมที่จะรวมพวกมันทั้งหมดพร้อมกัน document.getElementById("myElement").style = allMyStyle

5
codestyle; ใส่ javadoc ก่อนหรือหลังคำอธิบายประกอบ?
ฉันรู้ว่ามันไม่ใช่ประเด็นสำคัญที่สุดของปัญหา แต่ฉันเพิ่งรู้ว่าฉันสามารถใส่บล็อกความคิดเห็น javadoc ก่อนหรือหลังการเพิ่มความคิดเห็น สิ่งที่เราต้องการนำมาใช้เป็นมาตรฐานการเข้ารหัส? /** * This is a javadoc comment before the annotation */ @Component public class MyClass { @Autowired /** * This is a javadoc comment after the annotation */ private MyOtherClass other; }

9
typedefs ภายในใน C ++ - สไตล์ดีหรือสไตล์แย่?
บางสิ่งที่ฉันพบว่าตัวเองกำลังทำอยู่บ่อยครั้งเมื่อเร็ว ๆ นี้ได้ประกาศแนวความคิดที่เกี่ยวข้องกับชั้นเรียนเฉพาะภายในชั้นเรียนนั้นเช่น class Lorem { typedef boost::shared_ptr<Lorem> ptr; typedef std::vector<Lorem::ptr> vector; // // ... // }; ประเภทเหล่านี้จะถูกใช้ที่อื่นในรหัส: Lorem::vector lorems; Lorem::ptr lorem( new Lorem() ); lorems.push_back( lorem ); เหตุผลที่ฉันชอบ: มันช่วยลดเสียงรบกวนที่นำโดยแม่ชั้นstd::vector<Lorem>จะกลายLorem::vectorเป็นต้น มันทำหน้าที่เป็นคำสั่งของเจตนา - ในตัวอย่างข้างต้นคลาส Lorem มีจุดประสงค์ที่จะอ้างอิงนับผ่านboost::shared_ptrและเก็บไว้ในเวกเตอร์ จะช่วยให้การดำเนินการเปลี่ยนแปลง - เช่นถ้า Lorem จำเป็นต้องเปลี่ยนเป็นการอ้างอิงอย่างคร่าวๆนับ (ผ่านboost::intrusive_ptr) ในระยะต่อมานี่จะมีผลกระทบน้อยที่สุดกับรหัส ฉันคิดว่ามันดูดีกว่าและอ่านง่ายกว่า เหตุผลที่ฉันไม่ชอบ: บางครั้งมีปัญหาเกี่ยวกับการพึ่งพา - หากคุณต้องการฝังพูดLorem::vectorในคลาสอื่น แต่ต้องการเพียง (หรือต้องการ) เพื่อส่งต่อประกาศ …

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

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