คำถามติดแท็ก future-proof

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

16
ฉันควรเพิ่มรหัสที่ซ้ำซ้อนตอนนี้ในกรณีที่อาจจำเป็นในอนาคตหรือไม่
ถูกหรือผิดฉันกำลังเชื่อว่าฉันควรพยายามทำให้รหัสของฉันแข็งแกร่งที่สุดเท่าที่จะเป็นไปได้แม้ว่าจะหมายถึงการเพิ่มรหัส / เช็คซ้ำซ้อนที่ฉันรู้ว่าตอนนี้ฉันจะไม่ใช้ประโยชน์ แต่อย่างใด อาจเป็นจำนวนปี x ลงบรรทัด ตัวอย่างเช่นฉันกำลังทำงานกับแอปพลิเคชันมือถือที่มีรหัสนี้: public static CalendarRow AssignAppointmentToRow(Appointment app, List<CalendarRow> rows) { //1. Is rows equal to null? - This will be the case if this is the first appointment. if (rows == null) { rows = new List<CalendarRow> (); } //2. Is rows empty? - …

19
แอปพลิเคชันในโลกแห่งความเป็นจริงจะต้องใช้พื้นที่ที่อยู่แบบ 128 บิตหรือไม่
นี่เป็นบิต "หนึ่งเมกะไบต์ควรเพียงพอสำหรับทุกคน" แต่ ... พื้นที่ที่อยู่แบบ 64 บิตช่วยให้มีพื้นที่มากถึง 4.3ish billion เท่าของพื้นที่ที่อยู่แบบ 32 บิต นั่นคือ 17,179,869,184 GiB เห็นได้ชัดว่าการเปลี่ยนจาก 8 บิตเป็น 16 บิตนั้นค่อนข้างเร็ว (ฉันกำลังดูสิ่งต่าง ๆ ในช่วงวัยรุ่นในช่วงยุค 80 โดยไม่สนใจเมนเฟรมและมิมส์เหล่านั้นทั้งหมดเพราะพวกเขาไม่สามารถวิ่งผ่านพอร์ตของ Elite) การเปลี่ยนจาก 16 บิตเป็น 32 บิตใช้เวลานานขึ้นเล็กน้อยและจริง ๆ แล้ว 32 บิตกินเวลานาน ตอนนี้เรามี 64 บิตมันจะโง่ที่จะพูดว่า "17,179,869,184 GiB น่าจะเพียงพอสำหรับทุกคน" นี่คือคำถามโปรแกรมเมอร์เพราะฉันมีมุมมองการเขียนโปรแกรมในใจ แม้ว่าคอมพิวเตอร์ในแต่ละวันจะมีหน่วยความจำในการทำงานที่ดูเหมือนไม่มีที่สิ้นสุด แต่นั่นไม่ได้หมายความว่าแอปพลิเคชันจะต้องดูพื้นที่ที่อยู่แบบไม่ จำกัด ที่ดูเหมือนไม่มีที่สิ้นสุด โดยพื้นฐานแล้วเราสามารถเขียนโปรแกรมให้ถอนหายใจด้วยความโล่งอกแล้วพูดว่า "เอาล่ะไม่ว่าจะเป็นจำนวนเต็มหรือลอยอย่างน้อยที่สุดฉันก็ไม่ต้องกังวลเกี่ยวกับพอยน์เตอร์ที่เพิ่มขึ้นอีกแล้ว"

6
ทำให้เป็นเรื่องง่ายในตอนนี้หรือตั้งโปรแกรมโดยคำนึงถึงอนาคต
ฉันกำลังเขียนรหัสแอปพลิเคชันใหม่สำหรับ บริษัท ของฉันที่ค่อนข้างเกี่ยวข้อง เพื่อให้ตรงตามกำหนดเวลาฟังก์ชันการทำงานได้รับการปรับลดลงเล็กน้อยเพื่อให้เราสามารถมีบางสิ่งบางอย่างพร้อมสำหรับการเปิดตัว ฉันได้รับมอบหมายให้ทำงานเวอร์ชั่น 1 และทำงานภายในสิ้นเดือนนี้ ฉันผ่านการพัฒนาไปครึ่งทางแล้วและฉันก็มาถึงจุดนี้แล้ว เมื่อวานนี้ฉันใช้เวลาหาวิธีแก้ปัญหาที่ง่ายมาก ๆ สำหรับความต้องการอย่างใดอย่างหนึ่งและฉันภูมิใจในสิ่งที่มันเปิดออก เมื่อเช้านี้มีการส่งเอกสารเวอร์ชัน 2 และมีข้อกำหนดที่จะต้องใช้รหัสที่ฉันเขียนเมื่อวานนี้ว่าต้องเสียใจมากหรือมีการเปลี่ยนแปลงอย่างรุนแรง มันจะต้องใช้งานจำนวนมากในอนาคตถ้าฉันปล่อยให้มันเป็นอย่างที่มันเป็น ฉันสามารถใช้เวลาเพิ่มอีกหนึ่งวันในการทำให้โซลูชั่นปัจจุบันของฉันมีประสิทธิภาพยิ่งขึ้นเพื่อให้คุณสมบัติ v2 นั้นสามารถเพิ่มได้โดยใช้ความพยายามน้อยลง ฉันไม่รู้ว่าฉันจะทำ v2 หรือไม่ อาจเป็นฉันหรืออาจเป็นเพื่อนร่วมงานหรือแม้แต่เป็นผู้ฝึกงาน ถ้าคุณอยู่ในรองเท้าของฉันคุณจะใช้เวลาตอนนี้เพื่อให้ง่ายขึ้นในอนาคตหรือคุณจะออกจากการแก้ปัญหาของคุณและจัดการกับมันเมื่อถึงเวลา?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.