毫無疑問,我們應該編寫我們的應用程序來保護自己免受惡意,好奇和/或粗心的用戶的侵害,但是對於當前和/或未來的同事呢?您是否應該編碼以保護您的應用程序免受不良編碼器的侵害?
例如,我正在編寫一個基於Web的API接受來自用戶的參數。其中一些參數可能會映射到配置文件中的值。如果用戶使用URL混亂併爲該參數提供了一個無效值,那麼當嘗試從不存在的配置文件部分讀取時,我的應用程序會出錯。所以當然,我在嘗試從配置文件中讀取參數之前擦除參數。現在
,如果在路上,另一個開發適用於該應用程序是什麼,添加了對這個參數會通過洗滌過程中另一個有效的值,但不會添加相應的部分配置文件。請記住,我只保護應用程序免受不良使用者的影響,而不是不好的編碼者。我的應用程序會失敗。一方面,我知道所有的改變都應該在進入生產之前進行測試,而且這樣的測試毫無疑問會在一個體面的測試環節中出現,但另一方面,我嘗試構建自己的應用程序來抵制失敗。儘可能最好。我只是不知道在可能的故障點列表中包括修改我的代碼是否「正確」。
對於這個項目,我選擇不檢查,如果配置文件的相關部分存在。作爲當前的開發人員,我不會允許用戶指定會導致失敗的參數值,所以我期望未來的開發人員不會將行爲引入可能導致失敗的生產環境中......或者至少消除這樣的在測試過程中。
您認爲如何?
懶惰......還是哲學上的聲音?
爲什麼這個社區wiki? – marcgg 2009-08-05 15:43:15
爲什麼會有社區wiki標籤? – 2009-08-05 15:44:27
有時它很有意義:) http://meta.stackexchange.com/questions/11740/what-are-community-wiki-posts-on-stack-overflow – marcgg 2009-08-05 15:49:43