23
การเขียนโปรแกรมอย่างหมดจดเมื่อเขียนโค้ดทางวิทยาศาสตร์
ฉันไม่ได้เขียนโครงการขนาดใหญ่จริงๆ ฉันไม่ได้บำรุงรักษาฐานข้อมูลขนาดใหญ่หรือจัดการกับโค้ดหลายล้านบรรทัด รหัสของฉันคือ "สคริปต์" สิ่งที่พิมพ์ - สิ่งที่จะทดสอบฟังก์ชั่นทางคณิตศาสตร์หรือเพื่อจำลองบางอย่าง - "การเขียนโปรแกรมทางวิทยาศาสตร์" โปรแกรมที่ยาวที่สุดที่ฉันทำงานจนถึงจุดนี้คือโค้ดสองร้อยบรรทัดและโปรแกรมส่วนใหญ่ที่ฉันใช้อยู่นั้นมีประมาณ 150 รายการ รหัสของฉันยังอึ ฉันรู้เรื่องนี้เมื่อวันก่อนขณะที่ฉันพยายามค้นหาไฟล์ที่ฉันเขียนสักครู่แล้ว แต่ฉันอาจจะเขียนทับและฉันไม่ได้ใช้การควบคุมเวอร์ชันซึ่งอาจทำให้คุณรู้สึกปวดร้าวใจเป็นจำนวนมาก รูปแบบของรหัสของฉันมีความซับซ้อนและเต็มไปด้วยความคิดเห็นที่ล้าสมัยซึ่งระบุวิธีอื่นในการทำบางสิ่งหรือคัดลอกบรรทัดของรหัสไป ในขณะที่ชื่อตัวแปรเริ่มต้นที่ดีมากและเป็นคำอธิบายในขณะที่ฉันเพิ่มหรือเปลี่ยนแปลงสิ่งต่าง ๆ ตามเช่นสิ่งใหม่ที่ใครบางคนต้องการทดสอบรหัสได้รับการซ้อนทับด้านบนและเขียนทับและเพราะฉันรู้สึกว่าสิ่งนี้ควรทดสอบอย่างรวดเร็วตอนนี้ มีกรอบฉันเริ่มใช้ชื่อตัวแปรเส็งเคร็งและไฟล์ไปที่หม้อ ในโครงการที่ฉันกำลังทำอยู่ตอนนี้ฉันอยู่ในช่วงที่สิ่งเหล่านี้กลับมากัดฉันอย่างมาก แต่ปัญหาคือ (นอกเหนือจากการใช้การควบคุมเวอร์ชันและการสร้างไฟล์ใหม่สำหรับการทำซ้ำแต่ละครั้งและบันทึกทั้งหมดในไฟล์ข้อความที่ไหนสักแห่งซึ่งอาจจะช่วยสถานการณ์ได้อย่างมาก) ฉันไม่รู้จริง ๆ ว่าจะดำเนินการปรับปรุงอย่างไร สไตล์การเข้ารหัสที่แท้จริงของฉัน การทดสอบหน่วยจำเป็นสำหรับการเขียนโค้ดขนาดเล็กลงหรือไม่? แล้ว OOP ล่ะ วิธีใดบ้างที่ดีสำหรับการเขียนโค้ดที่ดีและสะอาดได้อย่างรวดเร็วเมื่อทำการ "การเขียนโปรแกรมเชิงวิทยาศาสตร์" ซึ่งต่างจากการทำงานในโครงการขนาดใหญ่ ฉันถามคำถามเหล่านี้เพราะบ่อยครั้งการเขียนโปรแกรมเองนั้นไม่ซับซ้อน มันเกี่ยวกับคณิตศาสตร์หรือวิทยาศาสตร์ที่ฉันกำลังทดสอบหรือค้นคว้าด้วยการเขียนโปรแกรม เช่นคลาสจำเป็นหรือไม่เมื่อมีตัวแปรสองตัวและฟังก์ชั่นอาจดูแลได้ (พิจารณาสิ่งเหล่านี้โดยทั่วไปเป็นสถานการณ์ที่ความเร็วของโปรแกรมเป็นที่ต้องการในตอนท้ายที่เร็วกว่า - เมื่อคุณรันขั้นตอนการจำลองมากกว่า 25,000,000+ ครั้งคุณต้องการให้มันเป็นแบบนั้น) บางทีนี่อาจจะกว้างเกินไปและถ้าเป็นเช่นนั้นฉันขอโทษ แต่เมื่อดูหนังสือโปรแกรมพวกเขามักจะพูดถึงโครงการขนาดใหญ่ รหัสของฉันไม่จำเป็นต้องมี OOP และมันก็ค่อนข้างสั้นอยู่แล้วดังนั้นจึงไม่เหมือน "โอ้ แต่ไฟล์จะลดลงหนึ่งพันบรรทัดถ้าเราทำอย่างนั้น!" ฉันต้องการทราบวิธี …