Kasus : Saya bekerja di sebuah perusahaan, menulis aplikasi dengan Python yang menangani banyak data dalam array. Saya satu-satunya pengembang program ini saat ini, tetapi mungkin akan digunakan / dimodifikasi / diperpanjang di masa depan (1-3 tahun) oleh beberapa programmer lain, pada saat ini tidak saya kenal. Saya mungkin tidak akan ada di sana secara langsung untuk membantu, tetapi mungkin memberikan dukungan melalui email jika saya punya waktu untuk itu.
Jadi, sebagai pengembang yang telah mempelajari pemrograman fungsional (Haskell), saya cenderung menyelesaikan, misalnya, memfilter seperti ini:
filtered = filter(lambda item: included(item.time, dur), measures)
Sisa kode adalah OO, hanya beberapa kasus kecil di mana saya ingin menyelesaikannya seperti ini, karena jauh lebih sederhana dan lebih indah menurut saya.
Pertanyaan : Apakah boleh hari ini menulis kode seperti ini?
- Bagaimana pengembang yang belum menulis / mempelajari FP bereaksi terhadap kode seperti ini?
- Apakah bisa dibaca?
- Dapat dimodifikasi?
Haruskah saya menulis dokumentasi seperti menjelaskan kepada seorang anak apa garis itu?
# Filter out the items from measures for which included(item.time, dur) != True
Saya telah bertanya kepada bos saya, dan dia hanya mengatakan "FP adalah ilmu hitam, tetapi jika itu berhasil dan merupakan solusi yang paling efisien, maka boleh saja menggunakannya."
Apa pendapat Anda tentang ini? Sebagai programmer non-FP, bagaimana Anda bereaksi terhadap kode? Apakah kode itu "googable" sehingga Anda dapat mengerti apa fungsinya? Saya ingin umpan balik tentang ini.
# Select the item's from measures for which included(item.time, dur) == True
:, menghindari negatif ganda selalu meningkatkan pemahaman.