Tôi biết có một vài công cụ phân tích tĩnh cho C# hoặc .Net xung quanh. Xem số question để biết danh sách các công cụ có sẵn. Tôi đã sử dụng một số trong những người trong quá khứ và họ có một cách tốt để phát hiện các vấn đề.Công cụ phân tích tĩnh để kiểm tra khóa trước khi truy cập vào biến
Tôi hiện đang tìm cách tự động thực thi một số quy tắc khóa mà chúng tôi có trong nhóm của mình. Ví dụ tôi muốn thực thi các quy tắc sau:
"Mỗi phương pháp nào có sử dụng viên foo phải có một khóa trên thanh" Hoặc "Mỗi cuộc gọi đến foobar sự kiện phải được khóa bên ngoài để thanh "
Viết quy tắc FxCop tùy chỉnh, nếu feasible, có vẻ khá phức tạp. Có cách nào đơn giản hơn để làm điều đó không?
Bạn sẽ viết một hợp đồng cấm truy cập vào một hồ sơ nhất định trừ khi khóa được thực hiện như thế nào? – svick
@svick: khóa không cần thiết có nghĩa là bạn sử dụng 'khóa' tuyên bố. Bạn có thể sử dụng các đối tượng 'sync' khác để có thể kiểm tra xem đối tượng có được báo hiệu/khóa/... không. – Tigran
OK, tuy nhiên, làm cách nào để bạn viết một hợp đồng mã kiểm tra mọi quyền truy cập vào trường? – svick