As mentioned earlier, when creating highly multithreaded code, we have to be careful to avoid some common mistakes. Luckily, many tools can help us in learning how to code better to avoid side effects and other problems related to multithreaded code.
One of them is NDepend, developed by SMACCHIA.COM S.A.R.L., which is an excellent tool that simplifies the management of a complex .NET code base. One of its most interesting features, relating to multithreaded code, is its ability to check for specific design rules and its capability to analyze very complex code structures.
Note
S.A.R.L. stands for "Société à Responsabilité Limitée" in French, as SMACCHIA.COM is a French company.
It supports the Code Query Language (CQL) that can help the developer find answers to questions about the code base, and it integrates with many Visual Studio versions. It offers advice on how to constrain your classes, so that these are immutable, and how to determine which code might...