กรณี : ฉันทำงานที่ บริษัท เขียนแอปพลิเคชันใน Python ที่จัดการข้อมูลจำนวนมากในอาร์เรย์ ฉันเป็นผู้พัฒนาโปรแกรมนี้เพียงคนเดียวในขณะนี้ แต่อาจมีการใช้ / แก้ไข / เพิ่มเติมในอนาคต (1-3 ปี) โดยโปรแกรมเมอร์คนอื่น ๆ ในขณะนี้ที่ฉันไม่รู้จัก ฉันอาจจะไม่ได้อยู่ที่นั่นเพื่อช่วยเหลือโดยตรง แต่อาจให้การสนับสนุนผ่านอีเมลหากฉันมีเวลา
ดังนั้นในฐานะนักพัฒนาซอฟต์แวร์ที่ได้เรียนรู้การทำงานของโปรแกรม (Haskell) ฉันมักจะแก้ปัญหาเช่นกรองเช่นนี้:
filtered = filter(lambda item: included(item.time, dur), measures)
ส่วนที่เหลือของรหัสคือ OO เป็นเพียงกรณีเล็ก ๆ ที่ฉันต้องการแก้ปัญหาแบบนี้เพราะมันง่ายกว่าและสวยงามกว่าตามที่ฉันบอก
คำถาม : วันนี้การเขียนโค้ดเป็นแบบนี้หรือไม่
- นักพัฒนาซอฟต์แวร์ที่ไม่ได้เขียน / เรียนรู้ FP ตอบสนองต่อรหัสเช่นนี้อย่างไร
- มันอ่านได้หรือไม่
- สามารถปรับเปลี่ยนได้?
ฉันควรเขียนเอกสารเช่นอธิบายให้เด็กฟังว่าเส้นทำอะไร?
# Filter out the items from measures for which included(item.time, dur) != True
ฉันถามหัวหน้าของฉันแล้วเขาก็บอกว่า "FP เป็นมนต์ดำ แต่ถ้ามันใช้งานได้และเป็นวิธีแก้ปัญหาที่มีประสิทธิภาพมากที่สุด
คุณมีความคิดเห็นอย่างไรกับเรื่องนี้? ในฐานะโปรแกรมเมอร์ที่ไม่ใช่ FP คุณจะตอบสนองต่อโค้ดอย่างไร รหัสคือ "googable" หรือไม่เพื่อให้คุณเข้าใจว่ามันทำอะไร? ฉันจะชอบข้อเสนอแนะเกี่ยวกับเรื่องนี้
# Select the item's from measures for which included(item.time, dur) == True
หลีกเลี่ยงค่าลบสองเท่าจะช่วยเพิ่มความเข้าใจ