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

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

5
การพัฒนาแบบทดสอบขับเคลื่อน - โน้มน้าวใจฉัน! [ปิด]
ฉันรู้ว่าบางคนเป็นผู้สนับสนุนขนาดใหญ่ของการพัฒนาขับเคลื่อนการทดสอบ ฉันเคยใช้การทดสอบหน่วยในอดีต แต่เพียงเพื่อทดสอบการปฏิบัติงานที่สามารถทดสอบได้ง่ายหรือที่ฉันเชื่อว่าอาจจะถูกต้อง เสร็จสิ้นหรือใกล้ครอบคลุมรหัสที่สมบูรณ์เสียงเหมือนมันจะใช้เวลา โครงการใดที่คุณใช้ในการพัฒนาโดยใช้การทดสอบ คุณใช้สำหรับโครงการที่มีขนาดใหญ่กว่านี้หรือไม่ ฉันควรจะใช้มันหรือไม่? โน้มน้าวใจฉัน!

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

2
กระบวนการพัฒนารหัสสำหรับภารกิจรอบโลก?
Voyager 1 ไปถึงอวกาศระหว่างดวงดาวในเดือนสิงหาคม 2012 และเป็นวัตถุที่มนุษย์สร้างขึ้นในระยะไกลที่สุด เปิดตัวไม่นานหลังจากยานอวกาศแฝด Voyager 2 ในปี 1977 Voyager 1 ได้สำรวจระบบ Jovian และ Saturnian เพื่อค้นหาดวงจันทร์ดวงใหม่ภูเขาไฟที่ยังคุกรุ่นและข้อมูลมากมายเกี่ยวกับระบบสุริยะรอบนอก Voyager 1 และ 2 ถูกออกแบบมาเพื่อใช้ประโยชน์จากการจัดตำแหน่งดาวเคราะห์ที่หายากที่เกิดขึ้นเพียงครั้งเดียวใน 176 ปีและยังคงเป็นยานอวกาศที่เดินทางได้ดีที่สุดในประวัติศาสตร์ ยานอวกาศทั้งคู่มีแคปซูลเวลาหนึ่งที่เรียกว่าแผ่นเสียงทองคำซึ่งเป็นแผ่นทองแดงทองคำขนาด 12 นิ้วที่บรรจุเสียงและภาพที่ถูกเลือกเพื่อถ่ายทอดเรื่องราวของโลกของเราไปยังมนุษย์ต่างดาว ฉันสันนิษฐานว่าคนส่วนใหญ่ที่สร้างซอฟต์แวร์สำหรับภารกิจนี้ได้เลิกใช้งานไปแล้ว แต่ในระยะเวลา 35 ปีที่ผ่านมาภาษาการเขียนโปรแกรมขั้นสูงจนถึงปัจจุบัน ดังนั้นจึงเปิดตัวในปี 1977 หลังจาก 35 ปีรอบโลกถึงอวกาศระหว่างดวงดาว มีโค้ดกี่บรรทัดและเขียนด้วยภาษาใด? กระบวนการพัฒนาที่อยู่เบื้องหลังภารกิจนี้ (ยังคงใช้งานอยู่) คืออะไร ดังนั้นอะไรคือแผนการที่ยิ่งใหญ่กว่าที่มีรหัสในภารกิจนี้และในภาษาใดที่เป็นรหัสฐานเขียน?

7
มันโอเคที่จะใช้ข้อยกเว้นเป็นเครื่องมือในการ "จับ" ข้อผิดพลาดก่อนหรือไม่?
ฉันใช้ข้อยกเว้นเพื่อตรวจสอบปัญหาก่อน ตัวอย่างเช่น: public int getAverageAge(Person p1, Person p2){ if(p1 == null || p2 == null) throw new IllegalArgumentException("One or more of input persons is null"). return (p1.getAge() + p2.getAge()) / 2; } โปรแกรมของฉันไม่ควรผ่านnullในฟังก์ชั่นนี้ ฉันไม่เคยตั้งใจที่จะ อย่างไรก็ตามในขณะที่เราทุกคนรู้ว่าสิ่งที่ไม่ได้ตั้งใจเกิดขึ้นในการเขียนโปรแกรม การโยนข้อยกเว้นหากปัญหานี้เกิดขึ้นช่วยให้ฉันสามารถตรวจสอบและแก้ไขได้ก่อนที่จะทำให้เกิดปัญหามากขึ้นในที่อื่น ๆ ในโปรแกรม ข้อยกเว้นหยุดโปรแกรมและบอกฉันว่า "มีสิ่งไม่ดีเกิดขึ้นที่นี่แก้ไขได้" แทนที่จะเป็นการnullเคลื่อนไหวรอบ ๆ โปรแกรมทำให้เกิดปัญหาที่อื่น ตอนนี้คุณพูดถูกในกรณีนี้มันอาจnullจะทำให้เกิดNullPointerExceptionในทันทีดังนั้นมันอาจไม่ใช่ตัวอย่างที่ดีที่สุด แต่ให้พิจารณาวิธีการเช่นนี้ตัวอย่างเช่น: public void registerPerson(Person person){ persons.add(person); …

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

12
ทำไมชั้นเรียนควรเป็นอย่างอื่นนอกจาก“ นามธรรม” หรือ“ สุดท้าย / ปิดผนึก”
หลังจาก 10 ปีของการเขียนโปรแกรม java / c # ฉันพบว่าตัวเองกำลังสร้าง: คลาสนามธรรม : สัญญาที่ไม่ได้มีไว้เพื่อสร้างอินสแตนซ์ ชั้นเรียนสุดท้าย / ปิดผนึก : การนำไปปฏิบัติไม่ได้หมายถึงการใช้เป็นคลาสพื้นฐานให้กับสิ่งอื่น ฉันไม่สามารถนึกถึงสถานการณ์ใด ๆ ที่ "คลาส" ง่าย ๆ (เช่นไม่เป็นนามธรรมหรือสุดท้าย / ปิดผนึก) จะเป็น "การเขียนโปรแกรมที่ชาญฉลาด" ทำไมชั้นเรียนควรเป็นอย่างอื่นนอกจาก "นามธรรม" หรือ "ขั้นสุดท้าย / ปิดผนึก" แก้ไข บทความที่ดีนี้อธิบายถึงความกังวลของฉันได้ดีกว่าที่ฉันสามารถทำได้

28
การพึ่งพาเครื่องมือมากเกินไปหมายความว่าคุณขี้เกียจหรือไม่? [ปิด]
ฉันเริ่มเขียนโปรแกรมใน C ++ ที่ uni และรักมัน ในระยะต่อไปเราเปลี่ยนเป็น VB6 และฉันเกลียดมัน ฉันไม่สามารถบอกได้ว่าเกิดอะไรขึ้นคุณลากปุ่มไปยังแบบฟอร์มและ IDE เขียนรหัสให้คุณ ในขณะที่ฉันเกลียดวิธีการทำงานของ VB ฉันไม่สามารถโต้แย้งได้ว่าเร็วและง่ายกว่าการทำสิ่งเดียวกันใน C ++ ดังนั้นฉันจึงสามารถดูได้ว่าทำไมมันถึงเป็นภาษายอดนิยม ตอนนี้ฉันไม่ได้เรียกนักพัฒนา VB ขี้เกียจเพียงแค่บอกว่าง่ายกว่า C ++ และฉันได้สังเกตเห็นว่าภาษาใหม่ ๆ จำนวนมากกำลังติดตามแนวโน้มนี้เช่น C # สิ่งนี้ทำให้ฉันคิดว่าเนื่องจากธุรกิจต้องการผลลัพธ์ที่รวดเร็วผู้คนจำนวนมากจะทำรายการเช่นนี้และไม่ช้าก็เร็วจะไม่มีสิ่งเช่นที่เราเรียกว่าการเขียนโปรแกรมตอนนี้ โปรแกรมเมอร์ในอนาคตจะบอกคอมพิวเตอร์ว่าพวกเขาต้องการอะไรและคอมไพเลอร์จะเขียนโปรแกรมสำหรับพวกเขาเหมือนใน Star Trek นี่เป็นเพียงความเห็นที่ได้รับการบอกกล่าวของโปรแกรมเมอร์รุ่นเยาว์หรือโปรแกรมเมอร์กำลังเกียจคร้านและมีความสามารถน้อยลงหรือไม่? แก้ไข: คำตอบจำนวนมากบอกว่าทำไมคิดค้นล้อใหม่และฉันเห็นด้วยกับเรื่องนี้ แต่เมื่อมีล้อว่างผู้คนจะไม่ใส่ใจที่จะเรียนรู้วิธีทำล้อ ฉันสามารถ google วิธีการทำอะไรสวยมากในภาษาใด ๆ และครึ่งภาษาทำมากสำหรับคุณเมื่อมันมาถึงการแก้จุดบกพร่องพวกเขาไม่รู้ว่ามีรหัสทำวิธีการแก้ไขข้อผิดพลาด นั่นเป็นวิธีที่ฉันเข้ากับทฤษฎีที่ว่าโปรแกรมเมอร์กลายเป็นคนขี้เกียจและมีความสามารถน้อยลงเพราะไม่มีใครใส่ใจว่าสิ่งต่าง ๆ ทำงานได้ดีแค่ไหนจนกว่ามันจะไม่ทำ


4
ใช้ #ifdef เพื่อสลับไปมาระหว่างพฤติกรรมประเภทต่าง ๆ ในระหว่างการพัฒนา
เป็นวิธีปฏิบัติที่ดีหรือไม่ที่จะใช้ #ifdef ระหว่างการพัฒนาเพื่อสลับไปมาระหว่างพฤติกรรมประเภทต่าง ๆ ? ตัวอย่างเช่นฉันต้องการเปลี่ยนพฤติกรรมของรหัสที่มีอยู่ฉันมีความคิดหลายอย่างเกี่ยวกับวิธีการเปลี่ยนพฤติกรรมและจำเป็นต้องสลับระหว่างการใช้งานที่แตกต่างกันเพื่อทดสอบและเปรียบเทียบวิธีการที่แตกต่างกัน การเปลี่ยนแปลงรหัสมักจะซับซ้อนและมีผลต่อวิธีการต่าง ๆ ในไฟล์ที่แตกต่างกัน ฉันมักจะแนะนำตัวระบุหลายตัวและทำอะไรแบบนั้น void foo() { doSomething1(); #ifdef APPROACH1 foo_approach1(); #endif doSomething2(); #ifdef APPROACH2 foo_approach2(); #endif } void bar() { doSomething3(); #ifndef APPROACH3 doSomething4(); #endif doSomething5(); #ifdef APPROACH2 bar_approach2(); #endif } int main() { foo(); bar(); return 0; } วิธีนี้ช่วยให้สามารถสลับไปมาระหว่างวิธีการต่าง ๆ ได้อย่างรวดเร็วและทำทุกอย่างในสำเนาของซอร์สโค้ดเดียว มันเป็นแนวทางที่ดีสำหรับการพัฒนาหรือมีแนวปฏิบัติที่ดีกว่านี้หรือไม่?

6
เปลี่ยนโปรเจค Python ส่วนตัวให้กลายเป็นไลบรารี่
ฉันเป็นนักวิชาการมากกว่าโปรแกรมเมอร์และฉันมีประสบการณ์หลายปีในการเขียนโปรแกรม Python สำหรับใช้เองเพื่อสนับสนุนงานวิจัยของฉัน โปรเจ็กต์ล่าสุดของฉันน่าจะมีประโยชน์กับคนอื่น ๆ เช่นฉันและฉันกำลังคิดว่าจะปล่อยมันเป็นไลบรารี่แบบโอเพ่นซอร์ส อย่างไรก็ตามดูเหมือนว่ามีอุปสรรคบางอย่างที่จะข้ามไปจากโครงการส่วนตัวที่ใช้งานได้ไปจนถึงห้องสมุดที่สามารถติดตั้งและใช้งานได้โดยไม่เจ็บปวด คำถามนี้เกี่ยวกับขั้นตอนแรกที่ฉันควรทำเพื่อเริ่มทำงานสู่รุ่นสาธารณะ ขณะนี้ฉันมีที่เก็บคอมไพล์เดียวซึ่งมีรหัสของฉันที่ใช้ไลบรารีรวมทั้งไลบรารีเองและฉันใช้ git เป็นปุ่มเลิกทำฉุกเฉินในกรณีที่มีอะไรผิดพลาด ทั้งหมดนี้ใช้งานได้ดีสำหรับผู้ใช้คนเดียว แต่เห็นได้ชัดว่าไม่เหมาะสมถ้าฉันต้องการปล่อย ที่ฉันต้องการจะจบคือห้องสมุดของฉันอยู่ในที่เก็บแยกต่างหากและสามารถติดตั้งโดยผู้อื่นโดยใช้pipและมี API ที่มั่นคง การเรียนรู้ที่จะใช้ setuptools เป็นต้นอาจไม่ยากเมื่อฉันถึงจุดที่ต้องการเผยแพร่มัน - ปัญหาของฉันคือการรู้ว่าฉันควรทำงานอย่างไรเพื่อที่จะไปถึงจุดนั้น ดังนั้นคำถามของฉันคือขั้นตอนแรกที่ควรทำเพื่อเริ่มเตรียมโครงการห้องสมุด Python สำหรับการบริโภคสาธารณะคืออะไร ฉันจะจัดระเบียบโครงสร้างไดเรกทอรีของฉัน, git repository และอื่น ๆ เพื่อที่จะเริ่มทำงานในที่สาธารณะต่อการเปิดตัวไลบรารี่? โดยทั่วไปแล้วจะมีประโยชน์มากหากมีทรัพยากรที่ทราบว่ามีประโยชน์เมื่อพยายามทำสิ่งนี้เป็นครั้งแรก ตัวชี้ไปยังแนวปฏิบัติที่ดีที่สุดและข้อผิดพลาดที่ควรหลีกเลี่ยง ฯลฯ จะเป็นประโยชน์อย่างมาก การชี้แจงบางอย่าง:คำตอบปัจจุบันกำลังตอบคำถามตามแนวของ "ฉันจะทำให้ห้องสมุด Python ของฉันเป็นที่ดีสำหรับผู้อื่นในการใช้งานได้อย่างไร" สิ่งนี้มีประโยชน์ แต่แตกต่างจากคำถามที่ฉันตั้งใจจะถาม ขณะนี้ฉันกำลังเริ่มต้นการเดินทางที่ยาวนานเพื่อปล่อยโครงการของฉัน แกนกลางของการทำงานของฉัน (และทำงานได้ดีจริงๆ) แต่ฉันรู้สึกท่วมท้นจากจำนวนงานที่ทำอยู่ข้างหน้าของฉันและฉันกำลังมองหาคำแนะนำเกี่ยวกับวิธีนำทางกระบวนการ ตัวอย่างเช่น: ขณะนี้รหัสห้องสมุดของฉันอยู่คู่กับรหัสเฉพาะโดเมนของฉันที่ใช้งาน มันอาศัยอยู่ในโฟลเดอร์ย่อยและแชร์ที่เก็บ git เดียวกัน ในที่สุดมันจะต้องถูกทำให้เป็นไลบรารีแบบสแตนด์อะโลนและใส่ลงในที่เก็บของมันเอง …

3
มันถือว่าเป็นแนวปฏิบัติที่ไม่ดีในการเพิ่มตรรกะใน setter คุณสมบัติหรือไม่?
ฉันเพิ่มเข้าไปในโครงการและเห็นว่าผู้พัฒนารายอื่นกำลังเพิ่มตรรกะจำนวนมากใน setters ของคุณสมบัติที่สังเคราะห์ ฉันเข้าใจว่ามันใช้งานได้อย่างไร แต่ฉันคิดว่ามันยากที่จะเข้าใจการไหลของโปรแกรม ในขณะที่อ่านรหัสเมื่อใดก็ตามที่ฉันเห็นself.something = whateverฉันมักจะตรวจสอบว่าsomethingsetter ของถูกแทนที่ ความคิดเห็นของคุณเกี่ยวกับหัวข้อนี้คืออะไร? คุณคิดว่านี่เป็นสัญลักษณ์ของสถาปัตยกรรมที่ไม่ดีหรือวิธีการแก้ปัญหาที่ซับซ้อนหรือไม่? ฉันยินดีที่จะอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ถ้าคุณมีลิงค์ / แหล่งข้อมูลที่เกี่ยวข้องมันยากเกินไปที่จะรับผลลัพธ์ google ที่ดีดังนั้นฉันจึงตัดสินใจถามที่นี่เช่นกัน ขอบคุณสำหรับคำตอบใด ๆ และโปรดทราบว่าฉันกำลังพูดถึงวัตถุประสงค์ C ในกรณีที่คุณไม่ได้เห็นแท็ก (แม้ว่านี่จะไม่เป็นปัญหาเฉพาะภาษาที่ฉันเดา)

10
การเขียนโปรแกรมระดับวิทยาลัยและองค์กรแตกต่างกันอย่างไร [ปิด]
ฉันเพิ่งสำเร็จการศึกษาระดับปริญญาตรีในสาขาไอที ฉันมีความสนใจในการเข้ารหัสและต้องการเป็นมืออาชีพในนั้น ตอนนี้นอกเหนือจากหลักสูตรวิทยาลัยฉันได้เรียนรู้การเขียนโปรแกรม (C #) ด้วยตัวเอง (การเขียนโปรแกรมระดับวิทยาลัยขั้นพื้นฐานเกินไป) ตอนนี้ฉันรู้สึกว่าฉันต้องใช้เวลาเพิ่มอีกนิดหน่อยเพื่อจะได้อยู่ใกล้กับโปรแกรมเมอร์มืออาชีพ แต่ผู้อาวุโสของฉันบางคนบอกว่าการเขียนโปรแกรมในโลกธุรกิจนั้นแตกต่างจากการเขียนโปรแกรมเป็นหนอนหนังสือดังนั้นจึงไม่มีจุดเสียเวลา (พวกเขาไม่ใช่โปรแกรมเมอร์เองนี่อาจเป็นสิ่งที่พวกเขาได้ยิน) ฉันจะได้รับประโยชน์จากการไปถึงระดับ C # ล่วงหน้าหรือไม่ หรือในระดับปานกลางเพียงพอที่จะทำลายการสัมภาษณ์ระดับที่สูงขึ้นไม่สำคัญกับ บริษัท เพราะพวกเขาพึ่งพาการฝึกอบรมของพวกเขาอย่างหมดจดเพื่อสอนว่าสิ่งต่าง ๆ ทำงานในโลกธุรกิจและการเรียนรู้มากขึ้นจะไม่ช่วยฉันมาก ได้โปรดถ้ามีโปรแกรมเมอร์มืออาชีพบางคนที่สามารถช่วยได้ฉันสัญญาว่านี่เป็นสิ่งที่นักเรียนทุกคนที่สนใจในการเขียนโปรแกรมต้องการถามในขั้นตอนของฉัน "คุณเปลี่ยนจากผู้เรียนเป็นมืออาชีพในด้านการเขียนโปรแกรมได้อย่างไร" - เรียนรู้ต่อไปจนกว่าคุณจะสมบูรณ์แบบหรือการเข้าร่วม บริษัท ต้องได้รับการคุ้มครองขั้นพื้นฐานหรือไม่

7
วิธีการโน้มน้าวให้เพื่อนร่วมทีมปฏิบัติตามกฎพื้นฐานบางประการ
ฉันมีปัญหากับเพื่อนร่วมทีม เรื่องสั้นสั้น: เราเป็นนักเรียนสามคนที่ทำงานในโครงการเพื่อการแข่งขัน โครงการประกอบด้วยแอพพลิเคชั่นแยกกัน 2 แอพ: หนึ่งอันสำหรับ Windows (ที่ฉันพัฒนา) และอีกอันสำหรับ Android (เพื่อนร่วมงานของฉันมีหน้าที่รับผิดชอบในการพัฒนา) ฐานรหัสของเราจะไม่ตัดกันแอพจะสื่อสารผ่านเครื่องมือของบุคคลที่สาม ปัญหามีดังนี้ฉันมีประสบการณ์การทำงานเป็นทีมในขณะที่ฉันฝึกงานที่ บริษัท ใหญ่เมื่อปีที่แล้วและฉันพยายามบังคับใช้มาตรฐานการเข้ารหัสสำหรับรหัสของเรา ฉันยังตั้งค่าซอฟต์แวร์ที่เก็บ git / wiki / การทำงานร่วมกันที่เราสามารถใช้เพื่อผลักดันรหัส / เขียนความคิดโปรโตคอลเอกสารและอื่น ๆ แต่ดูเหมือนว่าฉันเป็นคนเดียวที่ใช้เครื่องมือเหล่านี้ ฉันพยายามบอกพวกเขาว่าการเขียนรหัสคุณภาพและการบันทึกทุกขั้นตอนจะเป็นประโยชน์ต่อเราในระยะยาว แต่พวกเขาดูเหมือนจะไม่เห็นประโยชน์ของมัน นอกจากนี้ฉันกำลังคิดที่จะเพิ่มการทดสอบการรวมบางอย่าง แต่จากสิ่งที่ฉันเห็นได้ตราบใดที่พวกเขาไม่ได้ใช้เครื่องมือปัจจุบันเพื่อทำให้ชีวิตของพวกเขาง่ายขึ้นฉันไม่คิดว่าฉันจะสามารถโน้มน้าวให้พวกเขามีประโยชน์ รหัสส่วนใหญ่ของคนรอบข้างอยู่ในคอมพิวเตอร์พวกเขาไม่แชร์ฐานรหัสทั่วไปและเมื่อฉันค้นพบพวกเขารวมชิ้นส่วนของตนโดยการประชุมและแบ่งปันรหัสผ่าน usb stick คำถามของฉันคือ: ฉันรุนแรงเกินไปในเรื่องนี้หรือไม่? ฉันจะบังคับใช้กฎบางอย่างที่ไร้สาระหรือไม่? โปรดทราบว่านี่เป็นโครงการขนาดเล็กข้อกำหนดมีความชัดเจนมาก (ฉันสร้างเอกสารที่ระบุว่าแอปพลิเคชันควรทำอะไร) นักพัฒนาที่มีทักษะสามคนสามารถทำได้ใน 3-4 วันดังนั้นพวกเขาอาจไม่เห็นความซับซ้อนเพิ่มขึ้นในการเขียนคุณภาพ รหัสตราบเท่าที่วิธีการปัจจุบันของพวกเขาใช้งานได้ มีวิธีใดบ้างที่ฉันสามารถแสดงให้พวกเขาเห็นถึงประโยชน์ของการจัดทำรหัสการใช้ git และอื่น ๆ ?

10
Simple vs Complex (แต่มีประสิทธิภาพด้านประสิทธิภาพ) โซลูชัน - ตัวเลือกใดและเมื่อใด
ฉันเขียนโปรแกรมมาสองสามปีและมักพบว่าตัวเองอยู่ในภาวะที่กลืนไม่เข้าคายไม่ออก มีสองวิธีคือ - วิธีการหนึ่งเป็นแบบง่ายเช่นวิธีการแบบง่ายเข้าใจและบำรุงรักษาได้ง่ายขึ้น มันเกี่ยวข้องกับความซ้ำซ้อนบางงานพิเศษ (IO เพิ่มเติมการประมวลผลพิเศษ) และดังนั้นจึงไม่ใช่ทางออกที่ดีที่สุด แต่วิธีอื่น ๆ ใช้วิธีการที่ซับซ้อนยากที่จะนำไปใช้มักจะเกี่ยวข้องกับการปฏิสัมพันธ์ระหว่างโมดูลจำนวนมากและเป็นโซลูชันที่มีประสิทธิภาพ โซลูชันใดที่ฉันควรพยายามเมื่อฉันไม่มี SLA ที่มีประสิทธิภาพสูงเพื่อตอบสนองและแม้แต่โซลูชันที่เรียบง่ายสามารถตอบสนองประสิทธิภาพ SLA ได้ ฉันรู้สึกรังเกียจในหมู่ผู้พัฒนาเพื่อนของฉันสำหรับวิธีแก้ปัญหาอย่างง่าย เป็นวิธีปฏิบัติที่ดีหรือไม่ในการหาวิธีแก้ปัญหาที่ซับซ้อนที่สุดหาก SLA ประสิทธิภาพของคุณสามารถพบได้โดยวิธีง่ายๆ

15
ควรที่จะกลับไปมาระหว่างภาษาการเขียนโปรแกรมสองภาษาหรือไม่? [ปิด]
ฉันเขียน PHP ค่อนข้างมากมาเกือบสองปีแล้ว ตอนนี้ฉันกำลังพัฒนา. NET (ส่วนใหญ่ c #) อย่างไรก็ตามบางครั้งฉันกลับไปและทำ php คำถามหลักของฉันคือฉันควรทำสิ่งนี้ต่อไปหรือไม่ฉันควรพัฒนาใน C # ต่อไปหรือไม่? สิ่งนี้จะเป็นอันตรายต่อฉันในระยะยาวหรือไม่ (คุณคิดว่าเป้าหมายหลักของฉันคือการไม่เป็นผู้ค้าขายทุกคน) หรือเป็นวิธีปฏิบัติที่ดีที่จะทำ

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