defensive-programming

    0熱度

    2回答

    目前我有這樣的代碼: public final class Tutor { private String name; private final Set<Student> tutees; public Tutor(String name, Student[] students){ this.name = name; tutees = new HashSet<Student

    1熱度

    1回答

    我看到有時類中不依賴實例狀態的方法被標記爲static。我發現它很明顯,它宣稱'這種方法獨立於實例狀態'。當審查狀態不一致的機會時,完全忽略該方法是很容易的。 但是,將靜態方法標記爲靜態方法的問題是無法繼承或覆蓋靜態方法。 像這樣的事情在這裏討論:Does it make sense to have a non static method which does not use an instanc

    0熱度

    1回答

    我正在用C#編寫一個庫,並且爲了絕對確保對象未放置在錯誤的集合和變量中,我想將它們分爲不同的類,儘管這些類完全一樣地完成了同樣的事情。例如: public class ObjectA { private String name; //... related property } public class ObjectB { //... exact same

    0熱度

    2回答

    編輯:如果您在此基本上不同意Fedora指南,請解釋爲什麼這種方法比傳統循環更客觀。據我所知,即使CERT標準沒有對使用指針變量的指針進行任何說明。 我目前正在讀Fedora Defensive Coding Guide,並提出以下建議: 始終保持你正在使用的數組的大小的軌道。 通常,如果讓指針超過數組的最後一個元素,並且通過從該指針中減去當前位置來計算剩餘的 元素的數量,則代碼更爲明顯。 替代方

    1熱度

    1回答

    我在我的Android手機應用程序中僅使用三星和QMobile的特定設備獲取了幾個NoClassDefFoundError。 將添加下面的代碼檢測錯誤? //Check for Class not found error for Samsung 4.2.2 devices case try { Class.forName("android.support.v7.interna

    0熱度

    2回答

    我會問你關於設計問題的觀點。 問題基本上如下:一個對象的公共方法應該總是檢查其輸入參數中的前提條件,還是更好地愛對調用者的責任和「相信流量」? 我不是在談論明顯的先決條件,如檢查null以避免空引用異常,但我指的是方法參數中的業務前提條件。這種典型的情況發生在DDD服務中,它對輸入參數執行某種驗證,並返回包含關於該驗證的反饋的對象。 作爲示例,考慮具有公開方法PerformCheck的類Check

    2熱度

    2回答

    關於QObject::moveToThread()的文檔Qt5.3解釋說,如果對象有父項,moveToThread()方法可能會失敗。我如何在我的代碼中檢測到這種失敗? 我意識到只要確保我的對象先沒有父對象就足夠了,但作爲一種防禦性編程實踐,我想測試所有可能失敗的調用的返回值。 編輯:我想強調一些答案後,我完全知道我可以測試如果父母是0之前調用moveToThread。我正在尋找可能的方法來根據經

    3熱度

    3回答

    考慮以下問題 當設計一個框架,一個接口暴露一些事件呈現 interface I { event MyEventHandler MyEvent } 此接口將最終被很多人實現不同的第三方供應商,並可能被不同的客戶使用。 由於每個供應商可能新向上事件參數無效的數據,我有作爲框架作者爲事件參數水平的唯一控制,所以我想以下圖案: class MyEventArgs { public

    -3熱度

    2回答

    我已經編寫了一個關於猜測密碼的代碼,但是當給出一個字母字符作爲輸入而不是一個整數時,我遇到了一個問題。它停止了這個程序。我該如何抵制這個問題。 srand(time(0)); int a,secret; secret=rand() % 10 +3; do{ cout<<"Guess the secret num between 1-10 + 3 : "; cin>>a; el

    0熱度

    1回答

    假設我需要一組類實現所有方法 X,Y和Z才能正常工作。在這種情況下,我可以讓他們實施一個通用界面來強制這一點。 現在,我的情況有點不同 - 我的課程需要實現至少有一個 X,Y和Z,不一定全部。接口在這裏幫不了我。我能想到的最接近的是一個共同的父母 - 它可以檢查X,Y或Z在其結構中的存在。 我寧願避免在這裏繼承,因爲我可能需要在已經有一個父類的類中實現這個「接口」。所以 - 是否有另一種優雅的方式