Відповідь Карла на 100% правильна. Немає способу гарантувати відповідність. Однак, крім навчання та огляду коду, врахуйте використання інструментів статичного аналізу для забезпечення відповідності. (Примітка. Я сказав "на додаток до", оскільки можна також обійти їх точно так само, як заявив Карл).
Перевага в застосуванні інструментів статичного аналізу полягає в тому, щоб вилучити виснажливий аналіз коду людини, шукаючи випадки "багаторазового використання IEnumerable" або будь-якого питання ефективності тижня, на який ви дивитесь (або, принаймні, що я завжди відчуваю, що я дивлячись на). Це дозволить переглядати коди та навчатись зосереджуватися на більш "цікавих" питаннях.
Для C #, зокрема, я включив кілька пропозицій нижче. Підключіть їх до свого будівельного середовища, і ви готові йти. Але, як правило, незалежно від того, якою мовою ви користуєтесь, десь є інструмент статичного аналізу.
Скопіюйте / вставте прямо зі сторінки Вікіпедії, використовуйте сторінку wiki для найсвіжішої інформації та посилань:
https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#.NET
- Платформа компілятора .NET (кодове ім'я Рослін) - структура компілятора з відкритим кодом для C # і Visual Basic .NET, розроблена Microsoft .NET. Надає API для аналізу та маніпулювання синтаксисом.
- CodeIt.Right - поєднує статичний аналіз коду та автоматичний рефакторинг з найкращими методами, що дозволяє автоматично виправляти помилки та порушення коду; підтримує C # і VB.NET.
- CodeRush - плагін для Visual Studio, який попереджає користувачів про порушення кращих практик.
- FxCop - безкоштовний статичний аналіз для програм Microsoft .NET, який компілюється в CIL. Автономна та інтегрована в деякі видання Microsoft Visual Studio; від Microsoft.
- NDepend - спрощує управління складною базою коду .NET шляхом аналізу та візуалізації кодових залежностей, шляхом визначення правил проектування, аналізу впливу та порівняння різних версій коду. Інтегрується у Visual Studio.
- Parasoft dotTEST - статичний аналіз, модульне тестування та плагін для перегляду коду для Visual Studio; працює з мовами для Microsoft .NET Framework та .NET Compact Framework, включаючи C #, VB.NET, ASP.NET та керований C ++.
- Sonargraph - Підтримує C #, Java та C / C ++ з акцентом на аналізі залежностей, автоматизованій перевірці архітектури, метриках та можливості додавати спеціальні метрики та перевірки коду.
- StyleCop - аналізує вихідний код C # для забезпечення набору правил стилю та послідовності. Його можна запустити зсередини Microsoft Visual Studio або інтегрувати в проект MSBuild.