Hacker News

HN көрсету: Deff – терминалыңыздағы Git diff-ті қатарлас шолу

Пікірлер

1 min read Via github.com

Mewayz Team

Editorial Team

Hacker News

Неліктен сіздің командаңыздың кодтық шолу әдеттері жасырын бизнес мәселесі болып табылады

Бағдарламалық қамтамасыз ету компанияларының көпшілігінің негізінде ерекше ажырату бар. Көшбасшылық CRM платформаларына, аналитикалық бақылау тақталарына және HR жүйелеріне - бірден көрінетін, өлшенетін және кіріспен байланыстырылатын құралдарға көп инвестиция салады. Әзірлеушінің жұмыс процесі - осы компаниялар сататын бағдарламалық жасақтаманы шығаратын нақты қозғалтқыш - кез келген құралды біріктіретін жеке инженерлерге қалдырылады. Нәтиже тоқсан сайынғы шолуда сирек кездесетін, бірақ күн сайын уақытты, сапаны және ақшаны жоғалтатын тиімсіздіктердің түзетілуі болып табылады.

Терминал негізіндегі жанама-көрермендер сияқты құралдардың пайда болуы әзірлеушілер үшін өмір сүру сапасын шамалы жақсартудан гөрі маңыздырақ нәрсені білдіреді. Бұл инженерлік топтардың ішкі жұмыс процестері туралы қалай ойлайтынының кеңірек жетілуін көрсетеді. Әзірлеуші ​​код өзгерістерін анағұрлым анық, мәтінмәндік қосқыштар азырақ және шолғыш қойындысын қажет етпесе, төменгі ағын әсерлері қолдану жиілігі, қате жылдамдығы және түпкілікті тұтынушылардың қанағаттанушылығы арқылы өзгереді. Бұл әзірлеуші мәселесі емес — бұл әзірлеуші шешімін алатын бизнес мәселесі.

Кодты шолуда контекстті ауыстырудың жасырын құны

Ирвайн Калифорния университетінің зерттеуі үзілістен кейін зейінді толығымен қалпына келтіру үшін орта есеппен 23 минут қажет екенін анықтады. Әзірлеушілер үшін кодты қарау кезінде мәтінмәнді ауыстыру әсіресе зиянды. Терминал сеансынан веб-негізделген дифференция құралына өту, GitHub интерфейсі арқылы шарлау, беттердің жүктелуін күту, содан кейін жергілікті дамуға оралу инженерлік топта күніне ондаған рет қосылатын когнитивтік салықты білдіреді.

Әрқайсысы кодты қарауға күн сайын 90 минут жұмсайтын он әзірлеушіден тұратын топты қарастырайық — бұл өндірістік код базасын қолдайтын командалар үшін консервативті бағалау. Егер бұл уақыттың 20 минуты қажетсіз контекстік қосқыштарға босқа кететін болса, сіз күніне 200 әзірлеуші ​​минутын немесе аптасына шамамен 17 сағатты жоғалтасыз. Жыл сайынғы 120 000 долларды құрайтын біріктірілген әзірлеуші ​​жалақысы кезінде бұл UI үйкелісіне байланысты өнімділік жылына 50 000 доллардан асады. Қателер емес. Техникалық қарыз емес. Әзірлеушілердің іс жүзінде қалай жұмыс істейтініне арналмаған құралдардың таза үйкелісі.

Терминалдың өзіндік айырмашылығы құралдары әзірлеушілерді жұмыс істеп тұрған ортада ұстау арқылы қалдықтардың осы нақты санатын жояды. Режимді ауыстыру, аутентификация сұрауы, браузер жоқ. Шолу код өмір сүретін жерде болады, дәл сол жерде әзірлеушілер көп уақытын өткізеді. Жұмыс үрдісіндегі бұл кішкентай болып көрінетін өзгеріс кодты жазу мен өзгерістерді тексеру арасындағы кері байланыс циклін қысады — және қысылған кері байланыс циклдері бағдарламалық жасақтама командасының өнімділігінің ең сенімді болжаушылардың бірі болып табылады.

Бүйірлік салыстыру: Неліктен визуалды орналасу біздің ойымызды өзгертеді

Көптеген шолу тапсырмалары үшін жанама кодты салыстыру біртұтас айырмашылық көріністерінен асып түсетінінің артында когнитивтік ғылым бар. Өзгерістер біртұтас форматта кірістірілген түрде көрсетілгенде, адам миы «кейінгі» күйді өңдеу кезінде жұмыс жадындағы «бұрынғы» күйді ұстауы керек. Бұл психикалық тұрғыдан қымбат. Көрнекі өңдеумен салыстыратын қатарлас орналасулар – біз үшін қолжетімді ең тиімді когнитивтік арналардың бірі – шолушыларға аномалияларды, регрессияларды және логикалық қателерді тезірек және психикалық шаршауды азайтуға мүмкіндік береді.

Кодты қарап шығудың тиімділігіне қатысты зерттеулер шолушылардың кірістіру және жою маркерлері арқылы жоғарыдан төменге қарай оқудың орнына өзгертілген функция бойынша көлденең сканерлеу кезінде көбірек ақауларды байқайтынын дәйекті түрде көрсетеді. Күрделі рефакторлар үшін — 50 жолдық функция үш 20 жолдық функцияға айналатын немесе айнымалы атаулары модуль бойынша жүйелі түрде ауысатын болса — жанама презентация түсініксіз тәртіпсіздікті мақсаттың оқылатын баяндауына айналдырады.

Бизнестің салдары тікелей: жақсырақ сапалы кодты шолу өндіріске жететін қателердің аздығын білдіреді. IBM Systems Sciences институтының деректеріне сәйкес, шолуда табылған қатені түзету QA жүйесінде табылған қатеден шамамен 6 есе және өндірісте табылған қатеден шамамен 100 есе аз тұрады. Рецензенттерді тиімдірек ететін құралдар әзірлеушілердің сән-салтанаты емес, олар есептелетін ROI бар ақауларды азайтуға арналған инвестициялар.

Терминалдың ренессансы және оның әзірлеушілер мәдениеті туралы сигналдары

Соңғы үш жылда әзірлеуші ​​​​құрал таңдауында тыныш, бірақ айтарлықтай өзгеріс болды. Веб-негізделген және GUI құралдары басым болған кезеңнен кейін - ішінара бұлтты әзірлеу платформалары мен шолғышқа негізделген IDE-тердің өсуіне байланысты - терминалға негізделген, пернетақтаға басқарылатын құралдардың күшті қайта жандануы болды. Бұл ностальгия емес. Бұл оңтайландыру.

Терминал үшін құрастырылған құралдар әдетте:

  • Іске қосу және шарлау жылдамырақ — электронға негізделген қолданбалар үшін миллисекундтық іске қосу уақытымен салыстырғанда секундтар
  • Көбірек құрастырылатын — олар табиғи түрде басқа терминалдық құралдарға, сценарийлерге және автоматтандыру құбырларына жіберіледі
  • Ресурсты аз қажет ететін — қашықтағы серверлер, контейнерлер және бұлтты әзірлеу орталары үшін маңызды
  • Шектеулі орталарда қолжетімдірек — SSH сеанстары, CI құбырлары, өткізу қабілеті төмен қосылымдар
  • Әдепкі бойынша пернетақта үшін оңтайландырылған — әзірлеушінің назарын бөлетін тінтуір пернетақтасының қосқышын азайту

Терминалдық құралдарға жүгінетін инженерлер көбінесе өз командаларының ең өнімді мүшелері болып табылады — терминалдық құралдар табиғи түрде жоғары болғандықтан емес, олар жұмыс процесін оңтайландыру туралы мұқият ойластырған әзірлеушілерді тартады. Компанияның құрал-саймандық мәдениеті тиімділіктің бағаланатынын білдірсе, ол осы құндылықты бөлісетін инженерлерді тартуға және сақтауға ұмтылады. Уақыт өте келе бұл мүмкіндік жылдамдығы мен код сапасы көрсеткіштерінде көрсетілетін құрамдас артықшылықты жасайды.

"Ең жақсы әзірлеуші құралдары жұмыс процесіне қосылмайды — олар бірінен үйкелісті жояды. Мақсат әзірлеушілерге қосымша мүмкіндіктер беру емес, оларда бұрыннан бар мүмкіндіктерді оңай сезіну."

Кодтық шолу сапасы тұтынушы нәтижелеріне қалай тікелей беріледі

Әсіресе SaaS бизнесі үшін инженерлік процестің сапасы мен тұтынушы тәжірибесі арасындағы байланыс көптеген басшылар түсінгеннен де жақынырақ. 2024 жылғы DORA (DevOps Research and Assessment) есебінде бағдарламалық қамтамасыз етуді жеткізудің элиталық топтары төмен орындаушыларға қарағанда 973 есе жиі орналасатыны және өзгерістердің сәтсіздігі 7 есе төмен болатыны анықталды. Бұл дерексіз техникалық көрсеткіштер емес — олар тікелей жұмыс уақытына, мүмкіндіктің шығарылу каденсіне және тұтынушы хабарлаған мәселелердің шешілу жылдамдығына аударылады.

Көптеген командалардағы қиыншылық код жазуда емес, ол оны тексеруде. 24 немесе 48 сағат бойы қаралмайтын сұраулар басқа әзірлеушілерді блоктайды, біріктіру қайшылықтарын тудырады және тұтынушы құнын жеткізуді кешіктіреді. Қарап шығу циклін жылдамдататын және тексерушінің сенімін арттыратын шолу құралындағы әрбір жақсарту жылдамырақ біріктірулерге, жиірек шығарылымдарға және тұтынушы қажеттіліктеріне жылдам жауаптарға айналады. Mewayz сияқты ондаған модульдер бойынша 138 000 пайдаланушыға қызмет көрсететін бизнес үшін жалақы қатесі немесе CRM деректер қатесі бірден нақты салдарларға әкеледі, кодты тексеру процесінің сапасы тұтынушы тәжірибесінің сапасынан ажырағысыз.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Кадр жұмыс үрдісін, жобаны бақылауды және топ өнімділігі деректерін басқару үшін Mewayz сияқты платформаларды пайдалана отырып, бизнес операциялары құралдарымен қатар шолу құралдарына инвестиция салатын командалар үйлесімді кері байланыс циклін жасайды. Модульді орналастыру қолдау билеттерінің өсуіне себеп болған кезде, бизнес ОЖ бұл сигналды қабылдайды; тиімді шолу құралдарымен қаруланған инженерлік топ жылдам триаж, патч және қайта орналастыра алады. Екі жүйе бірігіп жұмыс істейді.

Автономияға кедергі келтірмейтін әзірлеуші ​​құралдар тізбегі саясатын құру

Өсіп келе жатқан инженерлік ұйымдар жіберетін ең көп тараған қателіктердің бірі - «келісімділік үшін» құралдардың бір жинағында тым агрессивті стандарттау әрекеті. Кейбір стандарттау құнды болғанымен, әсіресе нұсқаларды басқару, CI/CD және орналастыру құбырлары төңірегінде — арнайы өңдегіш конфигурацияларын, терминал теңшелімдерін немесе әртүрлі қарау құралдарын талап ететін, әдетте кері әсер етеді. Әзірлеушілер - өнімділігі қоршаған ортаның жайлылығымен тығыз байланысты білім қызметкерлері. Терминал таңбашаларында ойлайтын әзірлеушіні күн сайын веб-негізделген кодты тексеру интерфейсін пайдалануға мәжбүрлеу солақай хирургке оң қолмен операция жасауды айтумен бірдей.

Нәтижелерді анықтау және командаларға оларға қол жеткізетін құралдарды өздігінен таңдауға мүмкіндік беру тиімдірек тәсіл. Стандарттауға тұрарлық нәтижелерге мыналар жатады: 24 сағат ішінде аяқтауды тексеру, біріктіру алдында кемінде екі мақұлдау, CI өтпей өндірісті орналастырудың болмауы және архитектуралық шешімдердің құжатталған негіздемесі. Әзірлеушінің осы стандарттарға сәйкес айырмашылықты қалай оқитыны және бағалайтыны негізінен олардың таңдауы болуы керек.

Бұл философия кеңірек бизнес құралдар стекіне таралады. Mewayz модульдік архитектурасы бірдей принципті көрсетеді — ұйымдар қажетсіз құрылымды жүктейтін монолитті жүйеге мәжбүрлемей, олардың жұмыс үрдістеріне сәйкес келетін модульдерді белсендіре алады (логистикалық компаниялар үшін флотты басқару, сервистік компаниялар үшін тапсырыс беру, жасаушыларға арналған био-ин-құралдар). Ең жақсы іскери операциялық жүйелер, мысалы, әзірлеушілердің ең жақсы құралдар тізбегі сияқты, нәтижелер туралы пікірі бар, сонымен бірге енгізуде икемді болады.

Маңыздыны өлшеу: AI көмегімен кодтау дәуіріндегі әзірлеушілердің өнімділігі

Әзірлеушінің өнімділігін өлшеуге қатысты әңгіме AI кодтау көмекшілері негізгі ағымға айналған сайын нюансты және шұғыл болды. GitHub Copilot секундтар ішінде 40 жолдық функцияны жасай алатын кезде, бөгет тексеру және тексеруге қарай одан әрі жылжиды. Кодты екі есе жылдам жазатын, бірақ оны бірдей қарқынмен қарайтын әзірлеуші ​​жылдам артуды толығымен жоққа шығаратын шолуды тез жасайды. Бұл шолу құралдарына инвестиция салуды тек пайдалы ғана емес, сонымен қатар AI көмегімен әзірлеуді қолданатын ұйымдар үшін маңызды етеді.

Қазіргі заманғы инженерлік командалар үшін мәнді өнімділік көрсеткіштері мыналарды қамтуы керек:

  1. Біріктірудің орташа уақыты — шолу тиімділігінің проксиі ретінде ашық PRдан біріктіруге дейін
  2. Тұқияттық шолу көрсеткіші — өзгерту өлшеміне қатысты PR үшін пікірлер, шолу тереңдігін көрсетеді
  3. Біріктіруден кейінгі ақаулық көрсеткіші — жалпы өзгерістердің пайызы ретінде біріктірілгеннен кейін анықталған қателер
  4. Орналастыру жиілігі — құбырдың күйін көрсететін өзгерістер өндіріске қаншалықты жиі жетеді
  5. Сәтсіздік көрсеткішін өзгерту — инциденттерді тудыратын орналастырулардың пайызы, сапалы қақпаны бақылауды көрсетеді

Осы көрсеткіштерді қадағалау процесс деңгейінде деректерді жинайтын құралдарды қажет етеді. Іскерлік операцияларды басқаратын платформалар — HR жүйелерін бақылайтын топ сыйымдылығы, спринт жылдамдығын бақылайтын жобаны басқару модульдері, қолдану уақытын тұтынушылардың қанағаттану ұпайларымен байланыстыратын аналитикалық құралдар — инженерлік көрсеткіштерді мәнді ететін қоршаған контекстті қамтамасыз ете алады. Тоқсандағы біріктірілгеннен кейінгі ақаулар санының артуы, команда толық жұмыс істеген кезеңдегі бірдей жоғарылаудан басқа оқиғаны көрсетеді және осы айырмашылыққа сәйкес әрекет ету бизнес деректерінің инженерлік деректермен қатар қолжетімді болуын талап етеді.

Әзірлеуші құралдарын байыпты қабылдаудың біріктірілген қайтарымы

Әзірлеуші құралдарын маңызды бизнес инвестициясы ретінде қарастыратын компаниялар - бұл кішірейту немесе толығымен жеке инженерлерге тапсыру туралы алаңдаушылық емес - бағдарламалық жасақтама сапасы мен топты сақтау бойынша өздерінің құрдастарынан үнемі асып түседі. Корреляция кездейсоқ емес. Әзірлеушілер олардың өнімділігі ұйымдық деңгейде маңызды деп есептегенде, бұл сигнал жалдау, сақтау және күнделікті мотивация арқылы сандық бағалау қиын, бірақ елемеу мүмкін емес тәсілдермен қайталанады.

Терминалды дифференциал құралы - бұл кішкентай нәрсе. Бұл бірнеше жүздеген код жолын, білікті инженерге арналған демалыс күндеріндегі жобаны білдіреді. Бірақ оның философиясы — әзірлеуші ​​​​күнделікті жұмысының құрылымы маңызды, үйкелістің құны бар, жұмысқа дұрыс құрал әдетте жұмыс нақты орындалатын контекстке сәйкес келеді — кең көлемде қолданылатын философия жылдамырақ жеткізілетін, аз бұзылатын және жақсы адамдарды тартатын инженерлік ұйымдарды шығаратын философия.

Mewayz сияқты модульдік операциялық платформада құрылатын бизнес үшін параллель сабақ бар. Жақсы айырықша қарау құралын жасайтын дәл сол принциптер – контекстік, жылдам, құрастырылатын, идеалдандырылған емес, нақты жұмыс үрдістері айналасында жасалған – сонымен қатар жақсы бизнес операциялық жүйені құрайды. Командалардың іс жүзінде жұмыс істеу тәсіліне сәйкес келетін модульдер, шешім қабылданатын жерде көрсетілетін деректер және бәрі қалыпты жұмыс істеп тұрған кезде жолдан тыс қалатын инфрақұрылым. Күнделікті қолдануға болатын құралдар ешқашан ең көп мүмкіндіктері бар құралдар емес. Олар ниет пен нәтиже арасында ең аз үйкеліске ие адамдар.

Жиі қойылатын сұрақтар

Deff дегеніміз не және ол кодты қарап шығу процесін қалай жақсартады?

Deff — терминалға негізделген құрал, ол Git айырмашылықтарын жанама орналасуда көрсетеді, бұл браузерге негізделген интерфейске ауыспай өзгерістерді салыстыруды жеңілдетеді. Терминалда тексерушілерді ұстап тұру арқылы ол мәтінмәнді ауыстыруды азайтады, кері байланыс циклдерін жылдамдатады және командаларға мәселелерді ертерек шешуге көмектеседі — кодты қарап шығуды тығырықтан әзірлеу жұмыс үрдісінің жеңіл бөлігіне айналдырады.

Неліктен әзірлеушілердің тиімсіз жұмыс ағындары инженерияға ғана емес, бүкіл бизнеске зиянын тигізеді?

Кодты баяу қарап шығу шығарылымдарды кешіктіреді, қателерден құтылу жылдамдығын арттырады және аға инженерлердің уақытын жұмсайды — өткізіп алған мерзімдерге толы шығындар және өнім сапасын төмендетеді. Mewayz (айына $19 тұратын 207 модульдік бизнес операциялық жүйесі, app.mewayz.com сайтында қолжетімді) сияқты платформалардағы операцияларды біріктіретін компаниялар әр топтың жұмыс процесін оңтайландыру, соның ішінде инженерия, кіріс пен бәсекелестік жылдамдығын тікелей қорғайтынын түсінеді.

Deff сияқты терминалға негізделген дифференция құралдары заманауи, жылдам командалық орталарға сәйкес келе ала ма?

Мүлдем. Терминал құралдары жеңіл, сценарийге жарамды және CI құбырлары мен бар Git жұмыс процестеріне табиғи түрде біріктіріледі. App.mewayz.com сайтындағы Mewayz сияқты барлығы бір платформада жобаларды, тапсырмаларды және байланысты басқарып отырған топтар үшін орталықтандырылған бизнес операциялық жүйесімен бағытталған терминалды дифференциялау құралын жұптау іскери және инженерлік операциялар тиімді және өлшенетін болып қалатын үнемді стек жасайды.

Кодтарды қарап шығу әдеттерін жақсарту үшін құралдарды бағалау кезінде командалар нені іздеуі керек?

Жұмыс процесін күрделі жөндеуді қажет етпей, үйкелісті азайтатын құралдарды іздеңіз — жылдам іске қосу, пернетақта арқылы шарлау және бар Git орнатуымен үйлесімділік негізгі сигналдар болып табылады. Дәл осы принцип бизнес құралдарына қатысты: Mewayz сияқты платформалар айына $19 (app.mewayz.com) сияқты 207 модульді біріктіреді, осылайша командалар инженерлік және операциялар бойынша ондаған ажыратылған құралдарды біріктірудің жасырын құнын болдырмайды.