Իմ սրտի 6 ծրագրավորման գործիքներ
Յուրաքանչյուր ծրագրավորող ունի համակարգչային ծրագրերի կոնֆիգուռացիա, որը հնարավորություն է տալիս իրեն լինել արդյունավետ, արագ ու որակյալ։ Ձեզանից ոմանք գուցե ունեն ծրագրեր, որոնցով աշխատում են ամեն օր։ Ես ինքս էլ ունեմ գործիքների հավաքածու, որն օգտագործում եմ ամեն օր՝ ինչպես կոդ գրելու, այնպես էլ այդ կոդը կառավարելու և թիմի հետ համագործակցելու համար։ Այսօր ցանկանում եմ ձեզ ներկայացնել այդ գործիքները։
1. Visual Studio Code
.NET ծրագրավորողներից շատերը ծանր կերպով 《նստած》 են Visual Studio-ի վրա։ Ու դա զարմանալի չէ, քանի որ .NET-ի համար լավագույն տարբերակը հենց Visual Studio-ն է։ Կար ժամանակ, որ ես ինքս էլ օգտագործում էի միայն դա։ Սակայն հիմա ես ավելի շատ նախընտրում եմ օգտագործել Visual Studio Code։ Բացառություն են կազմում XAML կոդ պարունակող ծրագրերը (UWP, WPF, Xamarin)։ VS Code-ը շատ հարմար է օգտագործել, քանի որ այն շատ թեթև է աշխատում և թույլ է տալիս օգտագործել բազմաթիվ հավելումներ, որոնք հիմնականում ստեղծված են այդ ծրագրի մյուս օգտատերերի կողմից։ JSON ֆորմատի ֆայլի մեջ պահվող կոնֆիգուռացիան թույլ է տալիս արագ կարգավորել ծրագիրը սեփական պահանջների համար։ Այսպիսի կոնֆիգուռացիայի ֆորմատի արդյունքում չի առաջանում խնդիր մի համակարգչից մյուսը անցնելու կամ համակարգիչը թարմացնելու համար։ Միևնույն ժամանակ VS Code-ը թույլ է տալիս օգտագործել Visual Studio-ի բազմաթիվ առավելություններ։ Ես անձամբ շատ եմ հավանում տերմինալի հետ աշխատանքը, դեբագինգը և տեստերի կիրառումը։ Ծրագիրը բացարձակ անվճար է։ Մանրամասների համար այցելիր` code.visualstudio.com:
2. Windows Terminal
Նախ ասեմ, որ հաճելի է զարմացնել ոչ ծրագրավորող ընկերներին տերմինալի հետ աշխատելու քո հմտություններով։ Իսկ Windows Terminal-ի հետ տպավորությունները մեծ են նաև քո մոտ։ Այս գործիքն ունի երեք հիմնական առավելություն՝
- Աշխատել մի քանի տերմինալի հետ միաժամանակ,
- Աշխատել տարբեր տերմինալ ծրագրերի հետ մեկ տեղից,
- Կարգավորել բոլոր տերմինալի ծրագրերը մեկ ընդհանուր կարգավորման ֆայլով։
Windows Terminal-ը կարող է միանալ ցանկացած CLI ծրագիր։ Հատկապես լավ են աշխատում WSL համակարգերը։ Եթե ցանկանում եք օգտվել Windows-ի բոլոր հնարավորություններից ու ծրագրերից, բայց միևնույն ժամանակ աշխատել Linux օպերացիոն համակարգում, երբ կոդ եք գրում, ապա սա իդեալական տարբերակ կլինի ձեր համար։
Windows Terminal-ի կարգավորումները տրվում են մեկ ընդհանուր ֆայլով և ունեն JSON ֆորմատ։ Կարգավորումների Scheme-ը մանրամասն նկարագրված է նախագծի GitHub-ի էջում։ Հա, իդեպ՝ մոռացա ասեմ, որ եթե Open-Source-ի սիրահար եք, ապա անպայման այցելե՛ք նախագծի GitHub-ի էջ ու գուցե ձեր մասնակցությունն էլ ունենաք նախագծի կայացման գործում։
Իմ Windows Terminal-ում ամենաակտիվը PowerShell Core v7-ն է, ապա WSL Ubuntu-ն։ Բացի դրանից իմ մոտ ակտիվ են Windows PowerShell, Git Bash, Azure PowerShell և դասական CMD-ն։
Windows Terminal-ի մասին մանրամասներ կարող եք գտնել՝ այցելելով GitHub-ի էջ։
3. PowerShell Core (v7)
Վերևում խոսեցի տերմինալների մասին ու հիմա ժամանակն է ներկայացնել CLI գործիքը, որը ես օգտագործում եմ ամենից շատ։ Խոսքն իհարկե գնում է PowerShell-ի մասին։ Սակայն ոչ Windows-յան, ստանդարտ PowerShell-ի մասին։ Ես օգտագործում եմ PowerShell Core 7-ը։ Պատճառները՝ ինչու եմ օգտագործում հենց այս տերմինալը, շատ պարզ են։ Այն ունի բոլոր ֆունկցիաները հասանելի Windows-ի տերմինալին և բոլոր մոդուլները՝ նախատեսված PowerShell-ի համար ու այս ամենին գումարվում է բոլոր օպերացիոն համակարգերում աշխատելու հնարավորությունը։ Չնայած այդ մասին չեմ նշել, սակայն իմ բոլոր ծրագրերը cross-platform են։ Սա թույլ է տալիս ստեղծել էկոհամակարգ՝ առանց մտածելու հետագա օպերացիոն համակարգի փոփոխության մասին։ Սա շատ կարևոր հանգամանք է ինձ համար։ Բացի այդ՝ PowerShell-ը հեշտ է կառավարել և հարմարեցնել սեփական նախասիրություններին։
Մանրամասների համար այցելեք PowerShell-ի էջ։
4. Azure DevOps
Եթե ձեզ անծանոթ էր այս ծրագրի անունը, ապա հոդվածը կարդալուց հետո անմիջապես որոնի՛ր այն և ծանոթացի՛ր Microsoft ընկերության ամենահաջողված ծառայություններից մեկի մասին։ Այն թույլ է տալիս իրար միացնել թասկերի կառավարումը, ռեպազիտորիաների կառավարումը, իրական ժամանակում կոդի թեստավորումը և կոդի հրապարակումը։ Այն գործիքները, որոնք հասանելի են այս գործիքում, հասանելի չեն ուրիշ ոչ մի տեղ։ Հետաքրքիր է, որ ծառայություններն առանձին֊առանձին ունեն ալտերնատիվաներ, սակայն ոչ մեկ չի համարձակվել միացնել այս բոլորը մեկ տեղում։
Microsoft-ը պահպանել է ամպային տեխնոլոգիաներում իր կարգախոսը ու այստեղ նույնպես բոլոր ծառայությունները իրար հետ խիտ կապակցված են։ Օրինակ՝ դուք կարող եք ստեղծել ձեր Feature-ը Board-ում, ավելացնել այդ Feature-ին համապատասխան թասկեր, ապա միացնել այդ Feature-ը որևէ ռեպազիտորիայի որևէ բրենչի։ Ապա կարող եք ստեղծել այդ բրենչի համար ինդիվիդուալ թեստեր ու աշխատեցնել այն։ Այս գործիքը հարմար է հատկապես 4+ անդամ ունեցող թիմերի համար որոնք աշխատում են երկարատև ու մեծ նախագծի վրա։ Ասեմ ավելին՝ թիմի առաջին 5 անդամների համար վճարելու կարիք չկա, իսկ դրանից հետո գները խելքին մոտ են։ Գրանցվելու համար կարող եք այցելել Azure DevOps կայք։
5. DocFX
Նախագծի մեջ ինչքան ժամանակ եք ծախսում դոկումենտացիա գրելու վրա։ Գուցե առանձին աշխատակից ունեք, ով միայն զբաղվում է դոկումենտացիաներով։ Իսկ ի՞նչ, եթե ես ասեմ, որ ծրագրավորողները կարող են ինքնուրույն կազմել սեփական դոկումենտացիաները։ DocFX-ը թույլ է տալիս ավտոմատ կերպով ստեղծել դոկումենտացիաներ ձեր գրած XML մեկնաբանությունների վրա։ Գործիքը ավտոմատ գեներացնում է վեբ կայք, որը կարող եք հրապարակել կամ ինտեգրել ձեր կայքի մեջ։ Սա հատկապես օգտակար է, երբ որևէ բաց API եք ստեղծում։ Իսկ եթե գիտեք աշխատել YML ֆորմատի հետ, ապա կարող եք առանց XML մեկնաբանությունների ստեղծել ձեր դոկումենտացիան։
DocFX-ը տեղադրելը մաքսիմալ հեշտ է։ Այն տեղադրվում է նախագծում՝ որպես NuGet Package։ Ես մի փոքր դժվարացա ֆայլերի համակարգում կարգավորել այնպես, որ ֆայլերը չերևան գլխավոր պանակում, բայց նույնիսկ այդպես այն շատ հարմար գործիք է։
Ասեմ, որ ծրագիրը մշակվել և ստեղծվել է Microsoft ընկերության կողմից և սկզբում եղել է docs.microsoft.com կայքի engine-ը, սակայն կայքի հաջող աշխատանքից հետո Microsoft-ը որոշել է ծրագիրը հասանելի դարձնել բոլորին։ Մանրամասների համար կարող եք այցելել DocFX նախագծի պաշտոնական կայք։
6. Microsoft Teams (Office 365)
Հնարավոր չէ աշխատել թիմով և չունենալ հաղորդակցության միջոց։ Ոմանք ընտրում են Slack-ը մյուսները ընտրում են Spark-ը կամ Fleep-ը։ Սակայն այս բոլոր համակարգերն ունեն մեկ ընդհանուր թերություն. իրենք միայն հաղորդակցման միջոցներ են և մնացած կորպորատիվ գործիքներն ինտեգրելու խնդիր ունեն։ Եվ ինչպես փորձը ցույց է տալիս, ինտեգրացիան սովորաբար չի լինում այն մակարդակին, ինչ որ պետք է։ Ի հակադրում սրա՝ Microsoft Teams-ը Office 365 փաթեթի մաս է և իր մեջ արդեն ունի ինտեգրված բոլոր մնացած ծառայությունները։ Ավելին՝ Teams-ը քայլ առ քայլ դառնում է Office 365-ի սիրտը, քանի որ հնարավորություն է տալիս կենտրոնացնել բոլոր ծառայությունները Teams-ի ինտերֆեյսում և աշխատել առանց Teams-ից դուրս գալու։ Ոմանք պնդում են թե Teams-ն ունի բարդ ինտերֆեյս և դժվար է օգտագործման համար, սակայն ես կտրականապես համաձայն չեմ։ Առնվազն դա այդպես չէ ինձ համար։ Այն ֆունկցիոնալ տեսանկյունից գերազանցում է իր բոլոր մրցակիցներին և լավագույն ընտրություն է 10+ աշխատակից ունեցող ընկերությունների համար։
Ամփոփում
Այսպիսով, ամփոփելով հոդվածս, ուզում եմ ֆիքսել մի քանի սկզբունքներ, որոնց վրա հիմնվել եմ իմ միջավայրը կառուցելուց ու որոնք ձեզ էլ թույլ կտան լինել արդյունավետ։
Սկզբունք 1՝ Ձգտե՛ք ընտրել ծրագրեր, որոնք cross-platform են։ Իհարկե, գուցե դա չստացվի բոլոր ծրագրերի համար, սակայն ձգտե՛ք հնարարվորինս անկախ լինել օպերացիոն համակարգից։
Սկզբունք 2՝ Ձգտե՛ք ընտրել ծրագրեր, որոնք հեշտ են ինտեգրվում այլ ծառայությունների հետ։ Սա չափազանց կարևոր է, քանի որ սովորաբար ընկերությունը կարող է ստեղծել մեկ ուղղությամբ գերազանց պրոդուկտ, սակայն եթե այն հեշտ է ինտեգրում այլ համակարգեր, հավանականությունը մեծ է, որ կկարողանանք ամեն բան համակարգել մեկ տեղ։
Սկզբունք 3՝ Ձգտե՛ք ընտրել ծրագրեր, որոնք ունեն վճարովի տարբերակ։ Մի՛ ընտրեք գլխավորաբար համայնքի կողմից ստեղծվող ծրագրեր։ Հայտնի չէ՝ որքան ժամանակ համայնքը կհետևի ու ակտիվորեն կզարգացնի տվյալ ծրագիրը։ Իսկ կորպորացիաների կողմից ստեղծված սոֆթը միշտ զարգանում է և բարելավվում։ Նաև համայնքի կողմից ստեղծվող ծրագրերի համար աջակցություն ստանալու երաշխիքներ չկան։
Սկզբունք 4՝ Մոտ եղեք Microsoft ընկերության տեխնոլոգիաներին։ Ես արդեն 7 տարի է կապ եմ պահպանում այդ ընկերության հետ և աշխատում իրենց էկոսիստեմայում։ Հավատացե՛ք՝ իմ հաջողությունների մի մասի համար ես պարտական եմ հենց այդ ընկերությանը։ Microsoft-ը ագրեսիվ կերպով գրավում է ծրագրավորման աշխարհը և կորպորատիվ համայնքը։ Միացե՛ք ժամանակակից թրենդներին։
Հուսամ՝ օգնեցի ձեզ ընտրել ճիշտ ծրագրային ապահովում և կառուցել ճիշտ միջավայր։ Եթե հավանեցիք հոդվածս, անպայման կիսվեք ձեր ընկերների հետ սոց ցանցերում, որպեսզի իրենք էլ օգտվեն այս խորհուրդներից։