Ծրագրային ապահովման բազմաթիվ խմբեր օգտագործում են կոդի ստուգումներ` երաշխավորելու համար աշխատողների կողմից ճշգրիտ, անվտանգ և ընկերության նախագծային հանձնարարականներին բավարարող կոդի ստեղծումը:
Այդ պահանջները կարող են նկարագրել անվանումների համակարգը, տվյալներին կամ այլ արտաքին պաշարներին դիմելու նմուշները և այլն: Կոդի ստուգման գործընթացի մեծ մասը իրենից ներկայացնում է մեխանիկական աշխատանք և կարող է ավտոմատացվել: Կոդի ստատիկ վերլուծության միջոցները դիտում են ծրագրային կամ միջանկյալ կոդը` փնտրելով մշակման որոշակի կանոններին բավարարելու փաստը:
Microsoft .NET Framework-ում ստատիկ վերլուծության այդպիսի միջոցներից մեկն է հանդիսանում FxCop-ը, անվճար միջոց` ստեղծված Microsoft-ի կողմից: FxCop-ը վերլուծում է .NET կոմպիլացված հավաքածուի (assembly) միջանկյալ կոդը և ներկայացնում է մշակման, անվտանգության և արդյունավետության բարձրացման առաջարկություններ: Ըստ լռության, FxCop-ը գնահատում է հավաքածուն հիմնվելով «Կլասերի գրադարանների մշակման նախագծային պահանջներով» սահմանված կանոնների վրա: Նախագծային հանձնարարականների կանոնները բաժանված են իննը մասի` ներառելով նախագծումը, համաշխարհայնացումը (globalization), արդյունավետությունը և անվտանգությունը: Կանոնի օրինակ է հանդիսանում «Իրադարձությունները չպետք է ունենան ‘before’ կամ ‘after’ պրեֆիքսներ»: Եթե FxCop-ը գտնում է BeforeUpdate իրադարձություն, նա խորհուրդ է տալիս փոխարինել այն Update-ով: Կարելի է նաև ընդգրկել կանոնների սեփական դաս, որը կարտացոլի ընկերության ներքին նախագծային հանձնարարականները:
Հավաքածուն վերլուծելու համար, աշխատացրեք FxCop-ը, ստեղծեքնոր նախագիծ (project) և ավելացրեք հավաքածքուն նախագծի մեջ. FxCop-ըկցուցադրի ավելի քան 200 կանոն, որոնք օգտագործվում են հավաքածուի վերլուծության ընթացքում: Նախագծում կարելի է անջատել գոյություն ունեցող կանոնները, կամ ավելացնել սեփական կանոններ: Սեղմեք ‘Analyze’ կոճակը վերլուծությունը սկսելու համար: Հավաքածուի տիպերի, կլասերի, մեթոդների ևանդամների դիտարկումից հետո, FxCop-ը արտապատկերում է վերլուծության արդյունքները, որոնցում թվարկված են կոդի հատվածներ և նրանցում խախտված կանոնները: Ընտրեք արդյունքներից մեկը` տեսնելու համար ավելի մանրամասն նկարագրությունը և առաջարկվող լուծումը:
FxCop-ը առաջարկվում է որպես առանձին կիրառական ծրագիր: Այն նույնպես ներառում է հրամանային տողի (command line) իրականացում, ինչը պարզեցնում է միացումը հավաքածուի ավտոմատացված գործընթացին: (FxCop-ին նման գործիք` Code Analysis-ը, տրամադրվում է Visual StudioTeam System-ի հետ միասին և ինտեգրացված է Visual Studio շապիկի մեջ:)
Microsoft-ի կողմից թողարկված կոդի ստատիկ վերլուծության այլ միջոց է հանդիսանում StyleCop-ը: Մինչ FxCop-ը գնահատում է միջանկյալ կոդի համապատասխանությունը նախագծային հանձնարարականներին, StyleCop-ը գնահատում է նախնական C# կոդի ոճը: Ոճի հանձնարարականները` դրանք նախնական կոդի ֆորմատավորման կանոններ են: Դրանք ցուցադրում են ‘for’ ցիկլերի, ‘if’ օպերատորների և այլ կառուցվածքների ֆորմատը և այլն: StyleCop-ի կանոնների օրանակ է հանդիսանում` ‘for’ օպերատորների մարմինը պետք է ներառված լինի ձևավոր փակագծերի մեջ, = և != օպերատորների երկու կողմը պետք է առկա լինենբացատի (space) նշաններ և այլն:
StyleCop-ը ինտեգրացված չէ Visual Studio Team System-ի հետ, նրանպետք է տեղադրել ինքնուրույն: Visual Studio-ից StyleCop-ի աշխատանքիժամանակ ծրագիրը վերլուծում է նախնական կոդը ընթացիկ որոշմանմեջ, արդյունքները արտապատկերելով որպեսնախազգուշացումներ (warning) սխալների ցուցակի պատուհատի մեջ: StyleCop-ը նույնպես կարող է ինտեգրացվել MSBuild համակարգի հետ: (solution)
Չնայած նրան, որ FxCop-ը և StyleCop-ը ցույց են տալիս կանոնների խախտումները, միևնունն է ծրագրավորողը պատասխանատու է այս միջոցների կողմից առաջարկների իրականացման համար: SubMain ընկերության CodeIt.Right միջոցը բարձրացնում է կոդի ստատիկ վերլուծությունը հաջորդմակարդակի` թույլ տալով ավտոմատ փոխակերպել կանոնների խախտումները նրանց համապատասխանող կոդի: Նման FxCop-ի, CodeIt.Right-ը համալրված է նախապես սահմանված կանոններով և թույլ էտալիս ավելացնել նոր կանոններ: Բայց CodeIt.Right-ում ավելի հարմար էնման կանոնների ստեղծումն ու օգտագործումը:
Օգտագործողների կողմից մշակված կանոնների օգտագործումը FxCop-ում պահանջում է կանոնների դասի ստեղծում և կոմպիլյացիա, որիցհետո` միացում FxCop-ին: CodeIt.Right-ում նման կանոնները ստեղծվում են օգտագործողի գրաֆիկական ինտերֆեյսի օգնությամբ. նոր կանոնի սահմանումը իրենից ներկայացնում է վարքի բազային նմուշի ընտրություն և նրա որոշ հատկությունների փոփոխություն: CodeIt.Right-ը ինտեգրվում է Visual Studio 2003/2005/2008 հետ, ինչպես նաև առաջարկում է հրամանային տողի իրականացում:
CodeIt.Right-ը Visual Studio-ից օգտագործելու համար, CodeIt.Right-ի մենյուից ընտրեք Start Analysis: Կոդի վերլուծությունից հետո, CodeIt.Right-ը արդյունքները ցույց է տալիս Visual Studio IDE-ի պատուհանի մեջ` թվարկելով յուրաքանչյուր կանոնի խախտումը: Այդ հաշվետվությունը կարելի է ձևափոխել XML-ի կամ MS Office Excel ֆայլ-ի:
CodeIt.Right-ի ամենամեծ առավելությունն է կոդի ավտոմատ մշակումը: Արդյունքների պատուհանում կարելի է ընտրել խախտումները, որոնց անհրաժեշտ է շտկել, որից հետո սեղմել Correct Checked կոճակը: CodeIt.Right-ի կողմից կատարված բոլոր փոփոխությունները նշվում են VisualStudio-ի կողմից և ավտոմատ փոփոխությունները կարելի է չեղյալ հայտարարել համապատասխան կոճակը սեղմելով:
Կոդի ստատիկ վերլուծության միջոցները տրամադրում են նախապես սահմանված նախագծային և ոճային հանձնարարականներին համապատասխանեցման` ապահովելու արագ և ավտոմատացված եղանակ: Նման հանձնարարականներին հետևումը թույլ է տալիս արտադրել ավելի միատեսակ կոդ, ինչպես նաև թույլ է տալիս բացահայտել անվտանգության, արդյունավետության, փոխազդեցություն և համաշխարհայնացման տարբերհնարավոր թերությունները: Կոդի ստատիկ վերլուծության միջոցները չեն հանդիսանում մարդու կողմից ստուգման փոխարինող միջոցներ: Դրա փոխարեն նրանք ստեղծում են կոդի նախնական ակնարկ և բացահայտում են այն տիրույթները, որոնք պահանջում են ավելի շատ ուշադրություն ավագ մշակողի կողմից:
Աղբյուր. http://msdn.microsoft.com/ru-ru/magazine/dd263071.aspx