defensive-programming

    1熱度

    1回答

    我在Scala中構建了一個XML解析器,並且想要防禦用戶的錯誤。如果用戶給出我不支持的標籤(例如,<named>而不是<name>),或者更一般地說,將標籤放在錯誤的地方,我想檢測它並拋出錯誤。我該如何做Scala的方式?

    1熱度

    4回答

    我有一個類圖,我需要該圖的一個副本。我將修改圖形對象的內部結構(例如:刪除邊緣等)。我有2種方法來實現一個圖。 複製構造 調用的方法 'getGraph(){返回新圖(這)}'。這種方法getGraph可以做一個防禦性的副本。 根據我的理解,複製構造函數的唯一好處是可以複製。這意味着如果我不想修改圖形對象,則不需要'getGraph'來做防禦性的副本。 現在回到我的問題。 使用複製構造函數更好還是

    1熱度

    2回答

    我正在運行一個Django商店,我們爲每個客戶提供一個完全獨立於所有其他客戶端圖形的對象圖。數據是中等敏感的,所以我不希望它們中的任何一個從一個客戶端泄漏到另一個客戶端,也不希望一個客戶端刪除或更改另一個客戶端的數據。 我想通過附着在安全性要求(無硬必要的保證),但讓我超越他們時,我知道我需要默認寫代碼來構建我的代碼,這樣我。 我主要擔心的是,在Twig.objects.get(...),我忘了添

    0熱度

    1回答

    我想知道,如果preg_match()可以用作PHP的唯一防線。 測試的preg_match(),至少對於一個簡單的輸入表單字段,只接受什麼用正則表達式是可以接受的,其他一切返回false: 對於數字: function GetUserID($userid) { $regexnum = "/^[0-9]+$/"; if(preg_match($regexnum, $userid

    4熱度

    2回答

    從Java背景來看,我很難找出在Objective-C中防禦性編程的方法。 假設SomeClass的是可變的,並提供了一份方法,這是一段典型的代碼塊我會用Java寫的: public MyClass { private SomeClass customerList; ... public SomeClass getCustomerList() { ret

    2熱度

    2回答

    我試圖讓防禦性編程的輸入爲整數,但如果我輸入字符,程序將進入無限循環。 然後,我切換到有輸入作爲一個字符,但它做了兩次循環。一次用於錯誤的字符,一次用於行尾擊鍵。 有什麼辦法可以得到循環,只有一次? 代碼: int main(int argc, char *argv[]) { char choice='5'; while (choice != '1' && choice !=

    0熱度

    1回答

    我總是創建以下列方式JavaScript對象的自定義處理時未定義字段: //object code function someObject() { this.field1; this.fiend2; } function makeSomeObject(data) { var result = new someObject(); result.fiel

    2熱度

    4回答

    假設我有一個方法或使用另一種方法或構造內部構造聲明一個RuntimeException皆可拋聲明。 // Example: public MyClass(Object arg) { setVar(arg); // Not responsible for dealing with the exception } public void setVar(Object arg)

    2熱度

    3回答

    什麼是在perl中進行防禦性編程的最佳(或推薦)方法? 例如,如果我有必須調用一個(定義)SCALAR,一個ARRAYREF和一個可選的HASHREF的子。 我見過的方法三: sub test1 { die if !(@_ == 2 || @_ == 3); my ($scalar, $arrayref, $hashref) = @_; die if !defined

    4熱度

    2回答

    我正在編寫一個代碼,它試圖深入挖掘輸入對象並找出位於該對象內部的值。這裏是一個示例代碼: def GetThatValue(inObj): if inObj: level1 = inObj.GetBelowObject() if level1: level2 = level1.GetBelowObject() if level2: