0
我已經被告知cffunction應該有不超過3個參數 - 有沒有更好的方法來編寫這個函數?每個參數都是前一個窗口中可能的過濾器,用於在where子句中過濾結果。coldfusion函數中的參數
<cffunction name="Example" access="remote" returntype="query">
<cfargument name="keyword" type="string">
<cfargument name="office" type="numeric">
<cfargument name="builder" type="numeric">
<cfargument name="sup" type="numeric">
<cfargument name="mgr" type="numeric">
1)函數可以有很多爭論,因爲它需要 2)你可以有默認值,如果這是有用 3)隨着結構和數組可以有效根據需要傳遞儘可能多的參數 4.)如果您發現自己一遍又一遍地傳遞相同的參數,則可能是一個對象更合適 5.)您是否有對這個3參數規則的引用? –
感謝詹姆斯,我在去年的cfsummit上聽到了它。我認爲這是在乾淨的代碼會議..不知道這是否唯一的原因。因爲所有的參數都是url變量,我想我可以將URL結構傳遞給函數。會嘗試一下。 –
@kevinfreese我聽說過有關乾淨的代碼的相同的事情。但據我瞭解,它更多的與1)一個函數,許多論點可能做得太多。它可以重構爲多個更小的函數嗎?和2)更容易遵循具有較少參數的函數的流程。 – Shawn