Durum : Bir şirkette çalışıyorum, Python'da bir dizi veri işleyen bir uygulama yazıyorum. Şu anda bu programın tek geliştiricisiyim, ancak gelecekte (1-3 yıl) başka bir programcı tarafından kullanılmaya / değiştirilmeye / genişletilmeye devam edecek, şu anda benim için bilinmiyor. Muhtemelen o zaman doğrudan yardım etmek için orada olamayacağım, ancak zamanım olursa e-posta yoluyla biraz destek verebilirim.
Bu yüzden, işlevsel programlamayı (Haskell) öğrenen bir geliştirici olarak, örneğin şöyle filtrelemeyi çözme eğilimindeyim:
filtered = filter(lambda item: included(item.time, dur), measures)
Kodun geri kalan kısmı OO, sadece bu şekilde çözmek istediğim bazı küçük durumlar, çünkü bana göre çok daha basit ve daha güzel.
Soru : Bugün böyle bir kod yazmak uygun mudur?
- FP yazmamış / öğrenmemiş bir geliştirici böyle bir koda nasıl tepki verir?
- Okunabilir mi
- Değiştirilebilir?
Çocuğa, hattın ne yaptığını açıklamak gibi belgeler yazmalı mıyım?
# Filter out the items from measures for which included(item.time, dur) != True
Patronuma sordum ve sadece "FP kara büyü, ama işe yararsa ve en verimli çözümse, o zaman kullanmalısın" diyor.
Bu konudaki fikriniz nedir? FP olmayan bir programcı olarak, koda nasıl tepki verirsiniz? Kod "googable" yani, ne yaptığını anlayabilmeniz için mi? Bu konuda geri bildirim almak isterim.
# Select the item's from measures for which included(item.time, dur) == True
çift negatif olmaktan kaçınmak her zaman anlayışı iyileştirir.