Interviuri
Peter McKee, Șef al Departamentului de Relații cu Dezvoltatorii la Sonar – Seria de Interviuri

Peter McKee este Șef al Departamentului de Relații cu Dezvoltatorii la Sonar, o platformă care rezolvă provocarea de mii de miliarde de dolari a codului prost. Sonar echipă dezvoltatorii și organizațiile pentru a atinge în mod sistematic o stare de Cod Curat, astfel încât toate codurile să fie potrivite pentru dezvoltare și producție. Prin aplicarea metodei Clean as You Code a Sonar, organizațiile minimizează riscul, reduc datoria tehnică și obțin mai multă valoare din software-ul lor într-un mod previzibil și durabil.
Ce v-a atras inițial la informatică?
Am fost întotdeauna interesat de calculatoare de la o vârstă fragedă. Chiar și atunci când urmam o altă carieră, eram mereu atras înapoi la calculatoare și programare. La un moment dat, tatăl meu conducea o companie de oțel în Virginia și au pierdut grupul de consultanți. Deoarece învățasem să programez când eram mai tânăr, el m-a invitat să lucrez și să construiesc sisteme pentru el. Nu știam, sincer, ce făceam 100% la început, dar am învățat din cărți și făcând munca pe teren, și am devenit complet autodidact. Acest lucru a continuat să îmi stimuleze interesul pentru codare și calculatoare și a consolidat cu adevărat interesul meu pentru informatică.
Puteți explica ce este Codul Curat și de ce este atât de important?
S-a spus de ani de zile că software-ul va mânca lumea, și aș spune că acum este oficial – lumea este construită pe software și fiecare companie este, în esență, o companie de software. La baza unui software bun se află codul de calitate, deoarece codul este în centrul tuturor software-urilor și dictează comportamentul și performanța sa. De aceea, Codul Curat — cod care este consistent, intenționat, adaptabil și responsabil — este atât de important. Codul curat este ușor de înțeles și de modificat, funcționează lin la runtime și nu conține datorie tehnică, făcându-l potrivit pentru scop. Codul Curat este standardul pe care organizațiile ar trebui să îl adopte pentru a se asigura că software-ul lor continuă să fie un activ — și nu o pasivitate — și este cheia pentru succesul comercial de astăzi.
Codul Curat oferă beneficii pentru echipe și organizații de toate dimensiunile și nivelurile de maturitate, și crește valoarea software-ului ca urmare. Câteva beneficii specifice sunt:
- Îmbunătățește abilitățile de dezvoltare — Dezvoltatorii pot detecta, înțelege și rezolva probleme în timp ce codifică, și pot învăța, de asemenea, cele mai bune practici
- Crește eficiența și productivitatea — Reducerea restructurării continue și a ciclurilor de feedback lung, ceea ce duce la o productivitate mai mare
- Reduce riscul reputațional și de business — Codul Curat asigură că există mai puține riscuri de securitate, permițând echipelor să abordeze proactiv problemele înainte de a ajunge în producție
- Reduce datoria tehnică la nivel de cod — Codul Curat abordează treptat datoria codului fără a necesita o revizuire masivă a aplicației și a perturbărilor
- Crește viteza de dezvoltare a software-ului — Standardele și fluxurile de Cod Curat îmbunătățesc viteza de dezvoltare DevOps, promovând o perioadă de timp mai scurtă până la lansare
Puteți discuta importanța coerenței și structurii în cod, și ce exemple de cod coerent și curat există?
Calitatea codului coerent este ceva pe care fiecare manager sau director tehnic încearcă să o mențină. Coerența este crucială atunci când vine vorba de calitatea codului, deoarece coerența duce la previzibilitate. Este scris într-un mod uniform și convențional — tot codul arată similar și urmează un model regulat, chiar și cu mai mulți contribuitori la diferite momente. Codul coerent este formatat, convențional și identificabil. Când se adoptă standarde de codare coerente, dezvoltatorii devin mai eficienți și pot îndeplini așteptările de livrare cu viteză și precizie.
Puteți discuta importanța codului care poate gestiona condiții neașteptate, și de ce acest lucru nu ar trebui să fie neglijat?
Dezvoltatorii încearcă întotdeauna să anticipeze și să se pregătească pentru evenimente neașteptate în timpul proiectării și dezvoltării, dar acest lucru nu poate fi prevenit în fiecare caz. Stări neașteptate pot apărea din cauza unei utilizări neintenționate sau a unor atacuri intenționate. Aceste stări neașteptate pot introduce, involuntar, vulnerabilități de securitate pe care atacatorii le pot exploata. De aceea, dezvoltatorii ar trebui să încerce întotdeauna să îmbunătățească calitatea și stabilitatea codului lor și să testeze condițiile neașteptate. Prin urmarea unei abordări Clean as You Code, echipele pot accelera mai bine noile funcționalități, evita costurile inutile de restructurare și promova creșterea și retenția talentelor. Codul Curat promovează securitatea, menținabilitatea și fiabilitatea, și poate permite dezvoltatorilor să anticipeze și să gestioneze stări neașteptate mai eficient și să repornească software-ul mai repede.
Puteți discuta beneficiile utilizării Inteligenței Artificiale Generative pentru generarea de cod?
Incorporarea Inteligenței Artificiale în ciclul de viață al dezvoltării software are beneficii, cum ar fi permisiunea dezvoltatorilor să lucreze mai eficient. De fapt, cercetarea GitHub a descoperit că dezvoltatorii pot finaliza sarcini cu peste 50% mai repede utilizând Inteligența Artificială. Inteligența Artificială Generativă poate, de asemenea, genera cod mai rapid, și, în schimb, poate prelua sarcinile mai puțin interesante și repetitive — cum ar fi documentația sau generarea de cod — de pe lista lor, astfel încât să se poată concentra mai bine pe munca mai valoroasă și mai plăcută de rezolvat a problemelor complexe. Indiferent cum este creat codul, însă, este esențial să fie verificat împotriva standardelor de Cod Curat pentru a se asigura că codul este securizat, fiabil și menținabil.
Ce sunt câteva dintre capcanele și riscurile potențiale ale codului generat?
În timp ce Inteligența Artificială poate elibera timpul dezvoltatorilor pentru a lucra la proiecte mai valoroase și poate crește productivitatea, nu vine fără riscuri. De aceea, cererea pentru dezvoltatori nu va dispărea în era Inteligenței Artificiale. Deoarece instrumentele de Inteligență Artificială Generativă pot genera o cantitate mare de cod rapid, există un potențial pentru erori. Iată câteva capcane specifice:
- Răspundere: Codul generat de Inteligența Artificială reduce capacitatea de a ține oamenii răspunzători pentru codul creat, ceea ce poate face rezolvarea problemelor mai grea.
- Vulnerabilități: Deoarece utilizează informații în mare parte crowdsourced, nu există garanția că codul produs este sigur sau curat. Pot exista, de asemenea, bug-uri sau probleme de securitate care pot pune afacerile în pericol.
- Calitate: Inteligența Artificială nu verifică calitatea, și doar pentru că este generat de Inteligența Artificială, nu înseamnă că este eficient sau de calitate.
- Fără context: Pierderea elementului uman înseamnă, în mod natural, pierderea contextului unei probleme sau a unui proiect. Codul generat de Inteligența Artificială trebuie revizuit pentru a se asigura că îndeplinește sarcina în întregime.
Când dezvoltatorii adoptă o abordare Clean as You Code pentru codul lor — indiferent dacă este generat de om sau de Inteligență Artificială — pot asigura că este potrivit pentru dezvoltare și producție și îndeplinește standardele necesare ale organizației lor.
Ce sunt alte variabile care ar trebui luate în considerare pentru a face codul potrivit pentru producție?
Dezvoltatorii care scriu cod care respectă principiile de Cod Curat pot fi siguri că codul lor este potrivit pentru dezvoltare și producție, ceea ce înseamnă că codul urmează anumite caracteristici:
- Consecvent: Codul ar trebui să fie consecvent și să urmeze un stil comun. Chiar și dacă codul este lucrat de mai mulți dezvoltatori diferiți de-a lungul timpului, ar trebui să aibă un aspect similar și să respecte modelele stabilite anterior.
- Intenționat: Codul intenționat ar trebui să se citească ca și cum ar fi fost scris cu atenție și grijă pentru a-și transmite scopul; ar trebui să aibă doar o singură interpretare posibilă.
- Adaptabil: Codul adaptabil este segmentat și organizat într-un mod care face mai ușor de gestionat și de văzut relațiile dintre fiecare linie de cod. Acest lucru face ca codul să fie structurat pentru evoluție ușoară și sigură.
- Responsabil: Codul, și dezvoltatorii săi, ar trebui să fie conștienți de obligațiile sale etice cu privire la date și la influența sa potențială asupra normelor societale. Codul nu ar trebui să prezinte un risc continuu de a dăuna neintenționat părților terțe.
Puteți discuta despre ofertele diverse ale Sonar și despre modul în care ajută dezvoltatorii să creeze cod responsabil, securizat, de calitate și rapid?
Prin analizoarele noastre de top din industrie, Sonar identifică problemele de codare într-un mod cuprinzător și recomandă remedieri cu bucle de feedback scurte, educând dezvoltatorul în context, permițând, în cele din urmă, organizațiilor să creeze cod responsabil, securizat, de calitate și rapid. Elementele de bază ale soluției Sonar sunt SonarLint, SonarQube (autogestionat; open source), și SonarCloud (SaaS), cu o acoperire extinsă care suportă peste 30 de limbi de programare, cadre și infrastructuri, 11 IDE-uri și peste 5.000 de reguli specifice de codare și limbaj.
SonarLint, o extensie IDE, oferă primul nivel de verificări pentru a găsi probleme în timp real, de îndată ce codul este scris. Acesta prinde o mare parte din probleme de la început și ajută dezvoltatorii să descopere și să corecteze erorile, ca un corector ortografic pentru cod. SonarQube și SonarCloud, instrumentele de analiză statică de cod Sonar, inspectează și analizează în mod constant baza de cod, cu integrarea SonarLint. Utilizând porți de calitate pentru a determina dacă codul îndeplinește standardele definite de calitate, securitate și fiabilitate pentru producție, SonarQube și SonarCloud inspectează codul pentru bug-uri, vulnerabilități, puncte fierbinți de securitate și mirosuri de cod.
Asociind setul nostru de soluții cu metodologia noastră Clean as You Code — o abordare care urmează standarde stabilite pentru a păstra codul nou, adăugat sau editat curat — dezvoltatorii și organizațiile sunt capabili să livreze Cod Curat și să remedeieze codul existent în mod organic, astfel încât să se poată concentra pe proiecte noi și inovatoare care conduc la valoare de business
Cum ajută Sonar la asigurarea faptului că codul este conform și respectă standardele industriale?
Sonar ajută dezvoltatorii să obțină feedback imediat și contextualizat, subliniind problemele unde se află în baza de cod, în cadrul fluxului de lucru de dezvoltare, pe baza experienței analizoarelor de limbaj. Dezvoltatorii obțin explicații clare despre de ce apare o problemă și despre cum să o remedeieze rapid, precum și resurse suplimentare pentru o învățare mai aprofundată. Avem educație integrată în întregul flux de lucru, de la IDE la CI/CD. De exemplu, Sonar are reguli specifice MISRA C++ 2023 disponibile în SonarLint pentru a ajuta echipele să creeze cod care este cel mai bine pregătit pentru certificare. Acesta oferă îndrumări de codare, explicând de ce este marcată o problemă și cum să o corecteze, pentru a se asigura că codul scris este conform cu MISRA.
Care este viziunea dvs. asupra modului în care Inteligența Artificială va transforma codarea în viitor?
Cred că Inteligența Artificială va continua să ofere valoare în abordarea arderii profesionale a dezvoltatorilor. Deși nu cred că Inteligența Artificială va putea niciodată să preia gândirea și atingerea umană a dezvoltatorilor, cred că, chiar și în câteva luni de acum înainte, vom vedea un set complet nou de GPT-uri — și nu numai ce va fi peste câțiva ani. Nu cred că tehnologii sau dezvoltatori vor dispărea, dar modul în care își desfășoară munca în fiecare zi va schimba, cu siguranță. Modul în care dezvoltatorii utilizează Inteligența Artificială va fi la fel de simplu și de obișnuit ca și cum ar căuta ceva pe Google (GOOGL ) ca o scurtătură. Există multe de explorat despre utilizarea Inteligenței Artificiale, dar trebuie să considerăm, în continuare, elementul uman în prim-plan pentru a verifica capcanele Inteligenței Artificiale. Există un potențial transformator pentru dezvoltarea software, dar nu ar trebui să o lăsăm să ruleze fără niciun control — mai ales atunci când afacerile digitale de astăzi depind de software-ul care le susține. Mulțumim pentru acest interviu minunat; cititorii care doresc să afle mai multe despre Sonar ar trebui să viziteze Sonar.












