1 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
Python 的“請(qǐng)求寬恕而不是許可”的經(jīng)驗(yàn)法則是為了保持代碼的簡(jiǎn)潔和易于理解。檢查代碼流程可以告訴您預(yù)期的路徑是什么,并且很明顯什么是異常條件。在這種情況下,不檢查輸入有兩個(gè)缺點(diǎn),并且您可以將所有檢查隱藏在函數(shù)中,以便代碼干凈。我想說(shuō)這里的 pythonic 代碼是這樣的
????if?not?valididate_parameters(params):? ???????????raise?ValidationException(get_validation_error_msg(params))
這里你的validate_parameters
函數(shù)只是做檢查。該get_validation_error_msg
函數(shù)負(fù)責(zé)生成可以呈現(xiàn)給用戶的內(nèi)容的繁重工作。例如,它可以檢查驗(yàn)證函數(shù)在出現(xiàn)任何錯(cuò)誤時(shí)盡早退出的所有參數(shù)。請(qǐng)注意,您必須將 Exception 定義ValidationException
為 Exception 的子類并在更高級(jí)別捕獲它。
除了一般編程的想法之外,在 Django 中,如果您的參數(shù)來(lái)自用戶填寫(xiě)的表單,您應(yīng)該驗(yàn)證表單代碼中的每個(gè)字段。
添加回答
舉報(bào)