Jovana at iborn

Дневникот на Јована

Доколку сте го читале мојот блог претходно, сигурно сте запознаени дека изминатите месеци беа навистина авантуристички и активни за мене, учејќи секојдневно нешто ново и справувајќи се со секакви предизвици. Можеби Дон Кихот имал тешка битка против ветерниците, меѓутоа битката за поголемо знаење е уште поголема, бидејќи тоа е битка со самиот себе, секој ден да бидеш подобар од претходниот. За оние пак, кои што за прв пат читаат за моите авантури, лесно ќе може да се вклопат во мојата приказна преку тоа што денес ќе го прочитаат, навраќајќи се наназад неколку месеци.

Откако ја завршив праксата со курсот за Ангулар 8, една сосема нова технологија за мене и откако ги комплетирав задачите кои ги добив за проверка на знаењето, кое сум го стекнала преку следењето на овој курс, добив интересен предлог, кој на крајот на денот прерасна во прекрасна приказна, резултирајќи со прекрасен крај. Кога започна мојата приказна во iborn.net, јас бев во последниот семестар од своите студии, меѓутоа како поминуваа деновите и месеците така дојде и времето за последниот дел од студиите односно изработка на мојот Дипломски Труд. Во месец јуни започнав да работам на нешто свое, со кое што оставив трага на проектот на кој работам уште од самиот почеток, проектот наречен Травиа.

Заедно со мојот ментор Злате, дојдовме до идеја да направиме нешто што би се користело и понатаму во iborn.net, но и би бил солиден темел за Дипломскиот Труд. Сите идни инженери и девелопери кои ќе започнат со работа во индустријата, би требало да знаат дека примарната карактеристика по која нивниот код би се разликувал од кодот на останатите е квалитетот. Токму и за тоа станува збор, бидејќи iborn.net како компанија која креира високо квалитетен софтвер, би требало да има алатка со која што ќе може да го подобри тој квалитет, а јас како софтверски инженер би знаела дека со креирање на тестови од тест пирамидата но и со користење на ваква алатака, би го достигнала највисокото ниво на квалитет на мојот код.

Проектот и неговата имплементација имаа должина од два месеци, а започна со процес на планирање и целосно истражување, со цел да може да се примени најдоброто решение. Во рамки на проектот Травиа, јас работев на креирањето на интеграциски тестови и на модифицирање на веќе постоечките унит тестови кои не беа во согласност со новите функционалности додадени во кодот. Кога сите тестови поминуваа, следниот чекор беше да се најде одреден начин преку континуирана интеграција да се проверуваат сите бренчови и пул риквести кои девелоперите ги испраќаат на Bitbucket. Креаторите на Bitbucket биле доволно паметни, па им овозможиле на своите корисници опција која што се вика Pipeline и која во буквален превод значи цевковод.

Попросто објаснето, овој цевковод извршува одредена скрипта со Maven команди и го собира кодот кој е променет/додаден во тоа комитирање и потоа ни враќа одредена состојба – успешно/неуспешно. Првиот обид беше со три команди , clean -> compile -> test, а првите две команди треба да поминуваат во 100% од случаите, меѓутоа команадата test е всушност отскочна даска за девелоперите. Бидејќи девелоперите не секогаш проверуваат дали тестовите поминуваат, овој pipeline ќе им каже доколку некој тест паднал и точно ќе го наведе името на тестот и методот за кој се однесува, со цел полесно наоѓање и решавање на проблемот.  Сето ова навистина изгледа супер, но рајот беше откриен со алатката SonarQubeCloud. Состојбата беше исто како кога родителите ќе го остават своето дете во забавен парк, каде јас сум детето а оваа алатка е забавниот парк. SonarQubeCloud нуди поврзување со мрежата на BitBucket, но најпрвин скриптата треба да се модифицира, за да може да работи и да продуцира одредена анализа во Sonar. SonarQubeCloud го собира целиот изворен код и недескриптивните вредности, враќајќи ни на најпластичен начин одредени бизнис вредности, како колку грешки има нашиот код, каде мириса кодот, која е покриеноста и quality gate на кодот. Вака паметната алатка е уште попаметна со тоа што ни нуди и некое свое решение на проблемот, покажува колку е критичен проблемот но и колку време би требало за негово решавање.

Имплеметацијата на оваа алатка во рамки на проектот Травиа, овозможи квалитет на софтверот да се зголеми драстично и покриеноста на кодот да достигне ниво над 80%. Знаејќи дека нешто на кое што макотрпно си работел и си вложил огромен труд во неговиот успех, носи една друга димензија на задоволство. Можноста за креирање на нешто свое и за оставање на белег во рамки на една компанија и проект, навистина беше искуство кое што не очекував дека ќе дојде толку брзо во мојот живот. Благодарејќи на тимската работ, довербата и ентузијазмот, може со сигурност да се рече дека заедно iborn.net победува!