
|
If you were logged in you would be able to see more operations.
|
|
|
ReSharper
Created: 18 Apr 08 22:03
Updated: 21 Apr 08 13:59
|
|
| Component/s: |
None
|
| Fix Version/s: |
Alderman
|
|
Security Level:
|
Everybody
(All jira users)
|
|
|
Original Estimate:
|
Unknown
|
Remaining Estimate:
|
Unknown
|
Time Spent:
|
Unknown
|
|
|
I propose a powerful and compelling new feature for the next major release of ReSharper (v5.0?): Design by Contract support. While there are some decent DbC solutions out there for .NET, the better ones rely on assembly rewriting and only provide runtime verification that contracts are being respected. It occurred to me that ReSharper has a very powerful static analysis engine, which could be put to very good use by performing realtime and/or compile-time verification of contracts. The R# 4.0 EAP already supports a couple of simple DbC constructs, such as nullable and non-nullable members, via its support for code annotations. The R# team could build upon the existing framework by adding support for preconditions, postconditions, invariants, and other DbC constructs. I could see many development teams investing in R# licenses just for DbC support alone, as proper use of DbC drastically improves the reliability and quality of code.
|
|
Description
|
I propose a powerful and compelling new feature for the next major release of ReSharper (v5.0?): Design by Contract support. While there are some decent DbC solutions out there for .NET, the better ones rely on assembly rewriting and only provide runtime verification that contracts are being respected. It occurred to me that ReSharper has a very powerful static analysis engine, which could be put to very good use by performing realtime and/or compile-time verification of contracts. The R# 4.0 EAP already supports a couple of simple DbC constructs, such as nullable and non-nullable members, via its support for code annotations. The R# team could build upon the existing framework by adding support for preconditions, postconditions, invariants, and other DbC constructs. I could see many development teams investing in R# licenses just for DbC support alone, as proper use of DbC drastically improves the reliability and quality of code. |
Show » |
| There are no comments yet on this issue.
|
|