Khi nào tôi nên debug.assert qua hợp đồng mã hoặc ngược lại? Tôi muốn kiểm tra điều kiện tiên quyết cho một phương pháp và tôi đang bối rối để chọn một cái khác. Tôi có các bài kiểm tra đơn vị mà tôi muốn kiểm tra các tình huống thất bại và mong đợi các ngoại lệ.Debug.Assert vs Code Hợp đồng sử dụng
Thực tiễn tốt là sử dụng Debug.Assert và hợp đồng Mã trên cùng một phương pháp. Nếu vậy thì thứ tự trong đó mã sẽ được viết là gì?
Debug.Assert(parameter!= null);
Contract.Requires<ArgumentNullException>(parameter != null, "parameter");
hoặc
Contract.Requires<ArgumentNullException>(parameter != null, "parameter");
Debug.Assert(parameter!= null);
Có bất kỳ lý do đằng sau nó?
Tôi hoàn toàn đồng ý, nhưng nếu tôi chọn sử dụng debug.assert và hợp đồng mã trên cùng một vị trí thì nó sẽ theo thứ tự nhất định? – CarbineCoder
Không chắc chắn lý do tại sao bạn sẽ làm một kiểm tra đôi theo cách đó. Đặt hàng không nên theo cách. Nếu tôi đã làm điều đó tôi tin rằng tôi muốn đặt Debug.Assert đầu tiên như là một trợ giúp gỡ lỗi phát triển. – Dweeberly
Debug.Assert sẽ không có trong Mã phát hành, nhưng hợp đồng mã sẽ. Vì vậy, tôi cảm thấy có những trường hợp debug.assert sẽ được cần thiết song song với các hợp đồng Code- tôi có thể sai. Do đó câu hỏi. – CarbineCoder