Trường hợp : Tôi đang làm việc tại một công ty, đang viết một ứng dụng bằng Python đang xử lý rất nhiều dữ liệu trong mảng. Tôi là nhà phát triển duy nhất của chương trình này vào lúc này, nhưng có lẽ nó sẽ được sử dụng / sửa đổi / gia hạn trong tương lai (1-3 năm) bởi một số lập trình viên khác, tại thời điểm này tôi không biết. Tôi có thể sẽ không trực tiếp giúp đỡ sau đó, nhưng có thể cung cấp một số hỗ trợ qua email nếu tôi có thời gian cho nó.
Vì vậy, là một nhà phát triển đã học lập trình chức năng (Haskell), tôi có xu hướng giải quyết, ví dụ, lọc như thế này:
filtered = filter(lambda item: included(item.time, dur), measures)
Phần còn lại của mã là OO, đó chỉ là một số trường hợp nhỏ mà tôi muốn giải quyết nó như thế này, bởi vì nó đơn giản hơn và đẹp hơn theo tôi.
Câu hỏi : Hôm nay có ổn không khi viết mã như thế này?
- Làm thế nào để một nhà phát triển chưa viết / học FP phản ứng với mã như thế này?
- Có đọc được không?
- Có thể sửa đổi?
Tôi có nên viết tài liệu như giải thích cho trẻ những gì dòng này không?
# Filter out the items from measures for which included(item.time, dur) != True
Tôi đã hỏi ông chủ của mình và anh ta chỉ nói "FP là ma thuật đen, nhưng nếu nó hoạt động và là giải pháp hiệu quả nhất, thì sử dụng nó là được."
Ý kiến của bạn như thế nào? Là một lập trình viên không phải là FP, bạn phản ứng với mã như thế nào? Là mã "googable" để bạn có thể hiểu những gì nó làm? Tôi rất thích phản hồi về điều này.
# Select the item's from measures for which included(item.time, dur) == True
:, tránh tiêu cực kép luôn cải thiện sự hiểu biết.