事例:私は会社で働いており、配列で大量のデータを処理するPythonでアプリケーションを作成しています。私は現時点でこのプログラムの唯一の開発者ですが、おそらく他のプログラマーによって将来(1〜3年)に使用/変更/拡張される可能性があります。私はおそらく直接その場にいませんが、時間があれば電子メールでサポートを提供するかもしれません。
そのため、関数型プログラミング(Haskell)を学んだ開発者として、たとえば次のようなフィルタリングを解決する傾向があります。
filtered = filter(lambda item: included(item.time, dur), measures)
コードの残りの部分はオブジェクト指向です。私にとっては、はるかに単純で美しいため、このように解決したいのはほんの一部のケースです。
質問:今日このようなコードを書いても大丈夫ですか?
- FPを作成/学習していない開発者は、このようなコードにどのように反応しますか?
- 読みやすいですか?
- 変更可能ですか?
行が何をするのかを子供に説明するようなドキュメントを書くべきですか?
# Filter out the items from measures for which included(item.time, dur) != True
上司に聞いたところ、「FPは黒魔術ですが、うまく機能し、最も効率的なソリューションであれば、使用しても構いません」と彼は言います。
これについてのあなたの意見は何ですか?非FPプログラマーとして、コードにどのように反応しますか?コードは「グーグル可能」であるため、その機能を理解できますか?これに関するフィードバックをお待ちしています。
# Select the item's from measures for which included(item.time, dur) == True
、二重否定を避けることで常に理解が向上します。