คำถามติดแท็ก programming-practices

Programming Practices เป็นวิธีที่ใช้กันทั่วไปหรือไม่ใช้กันทั่วไปในการพัฒนาซอฟต์แวร์ สิ่งเหล่านี้อาจรวมถึงสิ่งต่าง ๆ เช่นการพัฒนาแบบ Agile, Kanban, ทางลัดการเข้ารหัส ฯลฯ

6
กำลังเริ่มต้นอักขระถ่าน [] ด้วยการฝึกตัวอักษรที่ไม่ถูกต้องหรือไม่?
ฉันกำลังอ่านหัวข้อเรื่อง"strlen vs sizeof" บน CodeGuruและหนึ่งในคำตอบกล่าวว่า "มันเป็นการปฏิบัติที่ไม่ดี [sic] สำหรับ initialie [sic] charอาร์เรย์ที่มีตัวอักษรสตริง" นี่เป็นความจริงหรือว่าเป็นเพียงความคิดเห็นของเขา (แม้ว่าจะเป็น "สมาชิกระดับสูง")? นี่คือคำถามเดิม: #include <stdio.h> #include<string.h> main() { char string[] = "october"; strcpy(string, "september"); printf("the size of %s is %d and the length is %d\n\n", string, sizeof(string), strlen(string)); return 0; } ขวา. ขนาดควรเป็นความยาวบวก 1 ใช่ไหม นี่คือผลลัพธ์ the size …

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

12
เทคนิคใดช่วยรักษาความรู้การเขียนโปรแกรม [ปิด]
คุณจำรายการที่เกี่ยวข้องกับการเขียนโปรแกรมได้อย่างไร คุณมีความรู้สึกว่าคุณพบข้อผิดพลาดที่คุณมีก่อนหน้านี้เมื่อไม่กี่ปีก่อนและคุณสามารถสาบานได้ว่าคุณรู้สาเหตุแล้ว แต่ตอนนี้คุณลืมไปแล้วหรือ คุณทำงานกับสตริงของ xsl ในการแยกวิเคราะห์เมื่อนานมาแล้ว แต่ตอนนี้คุณจำไม่ได้ว่าฟังก์ชั่นสตริงใดที่รวมกันจาก xsl และคุณต้องเริ่มจากศูนย์? หรือบางทีคุณอาจลืมเกี่ยวกับฟีเจอร์จาก Apache Commons เช่น "การกรองคอลเล็กชั่นโดยคำกริยา" ที่คุณเคยใช้ในอดีต แล้วคุณจะทำอย่างไร ฉันพยายามมีบล็อก แต่เมื่อฉันพัฒนาแอพฉันไม่เคยหาเวลาอัปเดตบล็อกหรือเขียนเกี่ยวกับประสบการณ์ของฉัน นอกจากนี้การใช้ wiki ก็เป็นสิ่งที่ดี แต่แล้วฉันก็พบว่ามันยากที่จะแยกความสะอาดระหว่างพวกเขาตั้งแต่หลายครั้งที่ฉันต้องเปลี่ยนโพสต์บล็อกเพื่อเพิ่มข้อมูลใหม่เกี่ยวกับหัวข้อนั้น นี่ทำให้ฉันคิดว่าจริง ๆ แล้วฉันควรใส่หัวข้อนี้ใน wiki แทนที่จะเป็นบล็อก คุณมีระบบที่ช่วยให้คุณจำเกี่ยวกับประสบการณ์การเขียนโปรแกรมของคุณหรือไม่ การตั้งค่าของคุณคืออะไร

17
เป็นวิธีปฏิบัติที่ดีหรือไม่ที่จะตั้งชื่อตัวแปร“ return” ที่ส่งคืน [ปิด]
เป็นวิธีปฏิบัติที่ดีในการเรียกใช้ตัวแปรที่เมธอดส่งคืนด้วยชื่อตัวแปรresultหรือไม่? ตัวอย่างเช่น public Zorglub calculate() { Zorglub result = [...] [...] return result; } หรือฉันควรตั้งชื่อตามประเภทของมัน? public Zorglub calculate() { Zorglub zorglub = [...] [...] return zorglub; } ฉันเคยเห็นทั้งสองอย่างในป่าถ้าฉันต้องเลือกเหตุผลอะไรที่ทำให้ฉันชอบอดีตหรือหลัง (หรือชื่อที่ดีกว่า)? ฉันคิดเกี่ยวกับ Java เป็นหลัก

1
เหตุใดโปรแกรมเมอร์จึงใช้ 'Acme' เป็นแพคเกจเนมสเปซหรือชื่อไดเรกทอรี [ปิด]
นี่อาจจะใช่หรือไม่ใช่คำถามโง่ ๆ ก็ได้ แต่ฉันอยากจะรู้คำตอบของบางสิ่งที่รบกวนฉันมาระยะหนึ่งแล้ว ฉันมักจะเห็นตัวอย่างการเขียนโปรแกรม / การประชุมที่โปรแกรมเมอร์ได้สร้างไดเรกทอรีที่เรียกว่าacmeใส่สิ่งต่างๆ อะไรAcmeหมายถึง? ทำไม Acme และไม่ใช่ Emca หรืออื่น ๆ Acme เป็นชื่อโฟลเดอร์ทั่วไปสำหรับจัดกลุ่มคลาส OOP เบ็ดเตล็ดหรือไม่ คำนี้มาจากที่ไหนในแง่ของการประชุมการเขียนโปรแกรม เท่าที่ฉันเห็นมันไม่มีส่วนเกี่ยวข้องกับโปรแกรมเมอร์ UI http://plan9.bell-labs.com/sys/doc/acme.html

3
แนวทางปฏิบัติที่ดีที่สุดในการสร้างรูปแบบรหัสข้อผิดพลาดสำหรับโครงการระดับองค์กรใน C # [ปิด]
ฉันกำลังทำงานในโครงการระดับองค์กรซึ่งจะถูกปรับใช้ในองค์กรธุรกิจขนาดกลางและขนาดย่อมหลายแห่ง การสนับสนุนสำหรับโครงการนี้กำลังดิ้นรนและฉันต้องการสร้างรูปแบบการเข้ารหัสสำหรับข้อผิดพลาด ( เช่นรหัสสถานะ HTTP ) วิธีนี้จะช่วยให้ผู้ให้ความช่วยเหลือสามารถอ้างถึงเอกสารและแก้ไขปัญหาโดยเร็วที่สุด แนวทางปฏิบัติและคำแนะนำที่ดีที่สุดในการทำสิ่งนี้คืออะไร? ความช่วยเหลือใด ๆ ในการทำเช่นนี้จะเป็นประโยชน์

11
อะไรคือวิธีปฏิบัติที่ดีที่สุดเกี่ยวกับ ints ที่ไม่ได้ลงชื่อ?
ฉันใช้ ints ที่ไม่ได้ลงชื่อทุกที่และฉันไม่แน่ใจว่าควรจะ ซึ่งอาจมาจากคอลัมน์รหัสคีย์หลักของฐานข้อมูลไปจนถึงตัวนับ ฯลฯ หากตัวเลขไม่ควรเป็นค่าลบฉันจะใช้ int ที่ไม่ได้ลงนามเสมอ อย่างไรก็ตามฉันสังเกตจากรหัสของผู้อื่นว่าไม่มีใครทำเช่นนี้ มีบางอย่างที่สำคัญที่ฉันมองข้ามหรือไม่? แก้ไข: เนื่องจากคำถามนี้ฉันยังสังเกตเห็นว่าใน C การคืนค่าลบสำหรับข้อผิดพลาดเป็นเรื่องธรรมดาแทนที่จะทิ้งข้อยกเว้นเช่นเดียวกับใน C ++

18
อะไรคือความยาวสูงสุดที่ดีของฟังก์ชั่น [ปิด]
ความยาวฟังก์ชั่นส่งผลกระทบต่อผลผลิตของโปรแกรมเมอร์หรือไม่? ถ้าเป็นเช่นนั้นจำนวนบรรทัดที่ดีที่สุดที่ควรหลีกเลี่ยงคือการสูญเสียผลผลิต เนื่องจากเป็นหัวข้อที่มีความคิดเห็นสูงโปรดสำรองข้อมูลการอ้างสิทธิ์ด้วยข้อมูลบางส่วน

10
ยอมรับได้หรือไม่ที่จะพึ่งพา ints แบบสุ่ม?
ฉันกำลังใช้โปรโตคอลเครือข่ายและฉันต้องการแพ็คเก็ตที่มีตัวระบุเฉพาะ จนถึงตอนนี้ฉันเพิ่งสร้างจำนวนเต็ม 32 บิตแบบสุ่มและสมมติว่ามันเป็นไปไม่ได้ทางดาราศาสตร์ที่จะเกิดการชนระหว่างอายุการใช้งานของโปรแกรม / การเชื่อมต่อ โดยทั่วไปถือว่าเป็นวิธีปฏิบัติที่ยอมรับได้ในรหัสการผลิตหรือเราควรกำหนดระบบที่ซับซ้อนเพื่อป้องกันการชนกันหรือไม่?

5
วิธีหลีกเลี่ยง“ ความผิดพลาดทางภาษาแบบไดนามิก” โดยทั่วไปได้อย่างไร?
เมื่อเร็ว ๆ นี้ฉันได้เทจ JavaScript ลงไปสองสามชั่วโมงเพราะฉันต้องการได้รับประโยชน์จากฐานผู้ใช้ขนาดใหญ่ การทำเช่นนั้นฉันได้สังเกตเห็นรูปแบบที่คนส่วนใหญ่ใช้กับภาษาแบบไดนามิก คุณจะได้รับสิ่งที่ทำงานได้อย่างรวดเร็วจริงๆ แต่เมื่อรหัสของคุณถึงขนาดที่กำหนดคุณเสียเวลามากกับการพิมพ์การสะกดและการเปลี่ยนข้อผิดพลาดโดยทั่วไป ข้อผิดพลาดที่คอมไพเลอร์ปกติจะช่วยฉันจาก และไม่ให้ฉันค้นหาข้อผิดพลาดในตรรกะเมื่อฉันทำผิดในโมดูลอื่น การพิจารณาจาวาสคริปต์ต่อไปนี้และภาษาที่พิมพ์แบบไดนามิกอื่น ๆ ทำให้ฉันเชื่อว่ามีบางอย่างผิดปกติกับแนวทางของฉัน หรือนี่เป็นเพียงราคาที่คุณต้องจ่าย? วิธีทำให้รัดกุมยิ่งขึ้น: คุณเข้าใกล้โครงการ JavaScript (หรือภาษาไดนามิกอื่น ๆ สำหรับเรื่องนั้น) ด้วย ~ 2000 LOC อย่างไร มีเครื่องมือในการป้องกันไม่ให้ฉันทำผิดพลาดเหล่านั้นหรือไม่? ฉันลองใช้การไหลผ่าน Facebook และ JSHint ซึ่งค่อนข้างจะช่วยได้ แต่ไม่จับความผิดพลาด

10
เป็นความคิดที่ดีหรือไม่ที่จะกำหนดเวลาปกติในการล้างรหัส? [ปิด]
ฉันจัดการทีมนักพัฒนาเล็ก ๆ บ่อยครั้งที่เราตัดสินใจว่าเราจะใช้เวลาหนึ่งหรือสองวันในการทำความสะอาดรหัสของเรา เป็นความคิดที่ดีหรือไม่ที่จะกำหนดเวลาปกติพูด 1 สัปดาห์ทุก 2 เดือนเพื่อทำความสะอาดโค้ดโค๊ดของเรา

16
มีเหตุผลที่เป็นรูปธรรมหรือไม่ที่จะไม่ใช้ไลบรารีและตัวอย่างของโค้ดอย่างหนัก? [ปิด]
โดยรวมแล้วฉันอยู่ในการเขียนโปรแกรมประมาณ 8 ปีแล้วและดูเหมือนว่าฉันจะต้องพึ่งพาห้องสมุดและตัวอย่างโอเพ่นซอร์สมากขึ้นเรื่อย ๆ (คุณ GitHub! ฉันรู้ว่าในเวลาที่ฉันสามารถเขียนการใช้งานของตัวเอง แต่ฉันชอบที่จะมุ่งเน้นไปที่การออกแบบโดยรวม นี่เป็นเรื่องปกติ (ไม่ใช่สภาพแวดล้อมขององค์กร) หรือไม่ จะเกิดอะไรขึ้นถ้า "การเขียนโปรแกรม" ของฉันไม่มีอะไรมากไปกว่าการติดไลบรารี่ต่าง ๆ เข้าด้วยกัน? ฉันรู้เกี่ยวกับ "ไม่ต้องคิดค้นล้อใหม่" แต่จะเกิดอะไรขึ้นเมื่อคุณไม่ได้ประดิษฐ์ล้อเดียวอีกต่อไป

30
สิ่งที่คุณควรเรียนรู้ในโรงเรียน แต่ไม่ได้สนใจในเวลานั้น [ปิด]
คำถามนี้ทำให้ฉันคิดว่ามีคำถามที่ดีกว่าที่จะถาม คุณเรียนรู้อะไรในโรงเรียนที่คุณไม่สนใจในเวลานั้น แต่กลับกลายเป็นว่ามีประโยชน์หรือคุณต้องเรียนรู้ในที่ทำงานอีกครั้งเพราะคุณมีมันในโรงเรียน แต่ไม่ได้เก็บข้อมูลและคุณต้องการมัน (ฉันหมายถึงงานที่เกี่ยวข้องกับซอฟต์แวร์) ฉันคิดว่าสิ่งนี้อาจช่วยให้นักศึกษาระบุสิ่งที่พวกเขาควรให้ความสนใจในขณะที่พวกเขาอยู่ในโรงเรียน

9
JS Boolean มีคุณสมบัติที่กำหนดเองเป็นแนวปฏิบัติที่ไม่ดีหรือไม่?
ใน JS คุณสามารถส่งคืนบูลีนที่มีคุณสมบัติแบบกำหนดเองได้ เช่น. เมื่อ Modernizr ทดสอบการรองรับวิดีโอจะส่งคืนtrueหรือfalseแต่ Boolean ที่ส่งคืน (Bool เป็นออบเจ็กต์ชั้นหนึ่งใน JS) มีคุณสมบัติที่ระบุรูปแบบที่สนับสนุน ตอนแรกมันทำให้ฉันประหลาดใจนิดหน่อย แต่จากนั้นฉันก็เริ่มชอบความคิดและเริ่มสงสัยว่าทำไมมันถึงถูกใช้อย่าง จำกัด ดูเหมือนว่าเป็นวิธีที่ยอดเยี่ยมในการจัดการกับสถานการณ์ทั้งหมดที่คุณต้องการทราบว่ามีบางสิ่งที่เป็นจริงหรือเท็จ แต่คุณอาจสนใจข้อมูลเพิ่มเติมบางอย่างที่คุณสามารถกำหนดได้โดยไม่ต้องกำหนดวัตถุส่งคืนแบบกำหนดเองหรือใช้ฟังก์ชัน ยอมรับพารามิเตอร์เพิ่มเติม วิธีนี้คุณจะรักษาลายเซ็นฟังก์ชันที่เป็นสากลโดยไม่ลดทอนความสามารถในการส่งคืนข้อมูลที่ซับซ้อน มีข้อโต้แย้ง 3 ข้อที่ฉันสามารถจินตนาการได้: มันค่อนข้างแปลก / คาดไม่ถึงเมื่อมันน่าจะดีกว่าสำหรับอินเทอร์เฟซใด ๆ ที่จะชัดเจนและไม่ยุ่งยาก นี่อาจเป็นอาร์กิวเมนต์คนฟาง แต่เป็นกรณีเล็กน้อยฉันสามารถจินตนาการมัน backfires เงียบ ๆ ใน JS optimizer, uglifier, VM หรือหลังจากการเปลี่ยนแปลงข้อกำหนดภาษาเล็กน้อยทำความสะอาด ฯลฯ มีวิธีที่ดีกว่ากระชับชัดเจนและเหมือนกันทุกประการ ดังนั้นคำถามของฉันคือมีเหตุผลใดที่ควรหลีกเลี่ยงการใช้ Booleans ด้วยคุณสมบัติเพิ่มเติมหรือไม่ พวกเขาเป็นกลอุบายหรือการรักษา? แผนบิดเตือน ข้างต้นเป็นคำถามเดิมในเกียรติศักดิ์เต็ม ในฐานะที่เป็น Matthew Crumley …

8
ทรัพย์สินส่วนตัวเทียบกับตัวแปร?
เมื่อตั้งค่าให้กับตัวแปรภายในคลาสส่วนใหญ่เราจะแสดงสองตัวเลือก: private string myValue; public string MyValue { get { return myValue; } set { myValue = value; } } มีแบบแผนที่กำหนดว่าเราควรกำหนดค่าให้กับตัวแปรภายในคลาสของเราหรือไม่? ตัวอย่างเช่นถ้าฉันมีวิธีการภายในชั้นเดียวกันฉันควรกำหนดโดยใช้คุณสมบัติหรือใช้ตัวแปรส่วนตัว ฉันเคยเห็นมันทำทั้งสองวิธีดังนั้นฉันสงสัยว่านี่เป็นตัวเลือกหรือประสิทธิภาพเป็นปัจจัย (เล็กน้อยอาจ)

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