我正在處理一段代碼,需要驗證兩個用戶是否在幾個不同的標準下「匹配」。如果有幫助的話,可以把它看作是一個約會應用程序,我們試圖根據年齡,性取向,種族偏好等來匹配人。以下是一個有3個條件的例子,每個條件都是一個函數。什麼是驗證多種複雜條件的良好模式?
def is_match(row):
return True \
and ethnicity(user_a, user_b) \
and sexual_orientation(user_a, user_b) \
and age(user_a, user_b) \
現在,讓我們說,我想增加對鄰近另一個條件,我只想把它添加到功能:
def is_match(row):
return True \
and ethnicity(user_a, user_b) \
and sexual_orientation(user_a, user_b) \
and age(user_a, user_b) \
and proximity(user_a, user_b)
當然,這是一個小的應用是可行的,但我可以想象一下,其他同事可能想要檢查代碼並將自己的條件傳遞給它的點,而這看起來不夠抽象。我知道這裏必須有一個模式可以遵循。我應該像數組一樣傳遞每個函數嗎?你會如何推薦這樣做?我正在使用Python,但您可以使用任何您想要演示模式的語言。
有你打得四處['任何()'和'所有()'](https://docs.python.org/2/library/functions.html#all)? – Kevin
是的,我以前使用過這些。所以這個想法是傳遞一個函數列表和兩個用戶對象,並且只對它們執行任何()或全部()操作?是的,這可能是我現在擁有的改進。謝謝。 –