stub Peter McKee, Head of Developer Relations hos Sonar - Interview Series - Unite.AI
Følg os

Interviews

Peter McKee, Head of Developer Relations hos Sonar – Interview Series

mm

Udgivet

 on

Peter McKee er leder af Developer Relations hos Sonar, en platform, der løser trillion-dollar-udfordringen med dårlig kode. Sonar ruster udviklere og organisationer til systematisk at opnå en tilstand af Clean Code, så al kode er egnet til udvikling og produktion. Ved at anvende Sonars Clean as You Code-metodologi minimerer organisationer risiko, reducerer teknisk gæld og får mere værdi ud af deres software på en forudsigelig og bæredygtig måde.

Hvad tiltrak dig oprindeligt til datalogi?

Jeg har altid interesseret mig for computere fra en ung alder. Selv da jeg oprindeligt forfulgte en anden karrierevej, blev jeg konstant trukket tilbage til computere og programmering. På et tidspunkt drev min far et stålfirma i Virginia, og de havde mistet deres konsulentgruppe. Da jeg havde lært at programmere, da jeg var yngre, inviterede han mig til at arbejde og bygge systemer for ham. Jeg vidste ærligt talt ikke, hvad jeg lavede 100 % i starten, men jeg lærte af bøger og arbejde på jobbet og blev fuldstændig autodidakt. Det fortsatte med at drive min interesse for kodning og computere og cementerede virkelig min interesse for datalogi.

Kan du præcisere, hvordan du vil definere, hvad der er Clean Code, og hvorfor det er så vigtigt?

Det er blevet sagt i årevis nu, at software vil æde verden, og jeg vil sige, at vi er på det punkt nu, hvor det er officielt – verden er bygget på software, og alle virksomheder er faktisk en softwarevirksomhed. Grundlaget for god software er kvalitetskode, da kode er kernen i al software og dikterer dens adfærd og ydeevne. Det er derfor Ren kode - Kode, der er konsekvent, bevidst, tilpasningsdygtig og ansvarlig - er så vigtig. Kode, der er ren, er let at forstå og ændre, fungerer problemfrit under kørsel og indeholder ingen teknisk gæld, hvilket gør den egnet til formålet. Clean Code er den standard, som organisationer bør omfavne for at sikre, at deres software fortsætter med at være et aktiv – ikke en forpligtelse – og er den vigtigste drivkraft for nutidens forretningssucces.

Clean Code gavner teams og organisationer af alle størrelser og modenhedsniveauer og øger værdien af ​​software som et resultat. Et par specifikke fordele er, at det:

  • Øger udviklingsevner — Udviklere kan opdage, forstå og løse problemer, mens de koder, mens de også lærer bedste praksis
  • Øger effektiviteten og produktiviteten — Reduktion af kontinuerlig efterbearbejdning og lange feedback-cyklusser, hvilket resulterer i større produktivitet
  • Reducerer omdømme- og forretningsrisiko — Clean Code sikrer færre sikkerhedsrisici ved at give teams mulighed for proaktivt at løse problemer, før de når produktionen
  • Sænker teknisk gæld på kodeniveau — Clean Code løser gradvist kodebasens gæld uden behov for en massiv applikationseftersyn og afbrydelse
  • Øger softwareudviklingshastigheden — Clean Code-standarder og strømlinede flow forbedrer DevOps-hastigheden og fremmer hurtigere time-to-market

Kan du diskutere vigtigheden af ​​konsistens og struktur i kode, og hvad er nogle eksempler på konsistent og ren kode?

Ensartet kodekvalitet er noget enhver leder eller teknisk direktør sigter efter at opretholde. Konsistens er afgørende, når det kommer til kodekvalitet, fordi konsistens fører til forudsigelighed. Det er skrevet på en ensartet og konventionel måde - al koden ligner ens og følger et regulært mønster, selv med flere bidragydere på forskellige tidspunkter. Konsistent kode er formateret, konventionel og identificerbar. Når konsekvente kodningsstandarder vedtages, bliver udviklere mere effektive og er i stand til at opfylde deres leveringsforventninger med hastighed og præcision.

Kan du diskutere vigtigheden af ​​kode, der kan håndtere uventede forhold, og hvorfor dette ikke bør overses?

Udviklere forsøger altid at forudse og forberede sig på uventede hændelser under design- og udviklingsprocessen, men dette kan ikke forhindres i alle tilfælde. Uventede tilstande kan opstå på grund af utilsigtet misbrug eller bevidst udløste angreb. Disse uventede tilstande kan utilsigtet introducere sikkerhedssårbarheder, som angribere kan udnytte. Det er derfor, udviklere bør stræbe efter altid at forbedre kvaliteten og stabiliteten af ​​deres kode og teste for uventede forhold. Ved at følge a Clean as You Code tilgang, kan teams bedre fremskynde nye funktioner, undgå unødvendige omarbejdningsomkostninger og fremme talentvækst og fastholdelse. Clean Code fremmer sikkerhed, vedligeholdelse og pålidelighed og kan gøre det muligt for udviklere at forudse og håndtere uventede tilstande mere effektivt og få softwaren op og køre hurtigere.

Kan du diskutere fordelene ved at bruge Generativ AI til kodegenerering?

At inkorporere AI i softwareudviklingens livscyklus har sine fordele, såsom at gøre det muligt for udviklere at arbejde mere effektivt. Faktisk, GitHub forskning viste, at udviklere kan udføre opgaver mere end 50 % hurtigere ved at bruge AI. GenAI kan også generere kode hurtigere og til gengæld tage byrden af ​​mere kedelige, rutinemæssige opgaver - såsom dokumentation eller generering af kodestykker - fra deres tallerken, så de er i stand til bedre at koncentrere sig om mere værdifuldt, givende arbejde for at løse mere komplekse problemer. Uanset hvordan kode oprettes, er det dog vigtigt, at det kontrolleres i forhold til Clean Code-standarder for at sikre, at koden er sikker, pålidelig og vedligeholdelig.

Hvad er nogle af de potentielle faldgruber og risici ved genereret kode?

 Selvom AI kan frigøre udviklernes tid til at arbejde på projekter af højere værdi og øge produktiviteten, kommer det ikke uden risici. Dette er grunden til, at efterspørgslen efter udviklere ikke forsvinder i AIs tidsalder. Fordi GenAI-værktøjer hurtigt kan generere en masse kode, er der risiko for fejl. Her er et par specifikke faldgruber:

  • Ansvarlighed: AI-genereret kode reducerer evnen til at holde folk ansvarlige for kode, der er skabt, hvilket kan gøre det sværere at løse/adressere problemer.
  • Sårbarheder: Fordi det i vid udstrækning tager crowdsourced information, er der ingen garanti for, at den producerede kode er sikker eller ren. Der kan endda være fejl eller sikkerhedsproblemer, der kan sætte virksomheden i fare.
  • Kvalitet: AI dobbelttjekker ikke for kvalitet, og bare fordi det er genereret fra AI, betyder det ikke, at det er effektivt eller af høj kvalitet.
  • Ingen kontekst: At miste det menneskelige element betyder naturligvis, at du mister konteksten af ​​et problem eller projekt. Den AI-genererede kode skal gennemgås for at sikre, at den udfører arbejdet fuldt ud.

Når udviklere tager en Clean as You Code-tilgang med deres kode – menneskelig eller AI-genereret – kan de sikre, at den er egnet til udvikling og produktion og opfylder de påkrævede standarder i deres organisation.

Hvad er nogle andre variabler, der bør overvejes i egnethed til produktionskode?

 Udviklere, der skriver kode, der overholder Clean Code-principperne, kan være sikre på, at deres kode er egnet til udvikling og produktion, hvilket betyder, at koden følger visse egenskaber:

  • Konsekvent: Koden skal være konsistent og følge en fælles stil. Selvom koden arbejdes på af flere forskellige udviklere over tid, bør den have et lignende udseende og overholde tidligere etablerede mønstre.
  • Forsætlig: Forsætlig kode bør læses som om den blev skrevet med opmærksomhed og omhu for at formidle dens formål; den bør kun have én tilgængelig fortolkning.
  • Tilpasningsbar: Tilpasningsbar kode er segmenteret og organiseret på en måde, der gør det nemmere at administrere og se relationerne mellem hver linje kode. Dette gør koden struktureret til nem og sikker udvikling.
  • Ansvarlig: Kodeksen og dens udviklere bør være opmærksomme på dens etiske forpligtelser vedrørende data og dens potentielle indflydelse på samfundsnormer. Kodekset bør i sidste ende ikke udgøre en vedvarende risiko for utilsigtet skade på tredjemand.

Kan du diskutere nogle af de forskellige tilbud fra Sonar, og hvordan det hjælper kodere med at bygge ansvarlig, sikker kode af høj kvalitet hurtigt og systematisk?

 Gennem vores brancheførende analysatorer identificerer Sonar kodningsproblemer på en omfattende måde og anbefaler rettelser med korte feedback-sløjfer, mens udvikleren uddannes i kontekst, hvilket i sidste ende gør det muligt for organisationer at bygge ansvarlig, sikker kode af høj kvalitet hurtigt og systematisk. Kerneelementerne i Sonar-løsningen er SonarLint, SonarQube (selvstyret; open source), og SonarCloud (SaaS), med omfattende dækning, der understøtter over 30 programmeringssprog, rammer og infrastrukturer, 11 IDE'er og mere end 5,000 kodning og sprogspecifikke regler.

SonarLint, en IDE-udvidelse, giver den første kontrollinje for at finde problemer i realtid fra det øjeblik, koden er skrevet. Det fanger en stor del af problemerne på forhånd og hjælper udviklere med at opdage og rette fejl som en stavekontrol for kode. SonarQube og SonarCloud, Sonars statiske analysekodegennemgangsværktøjer, inspicerer og analyserer kontinuerligt kodebasen med SonarLint-integration. Ved at bruge kvalitetsgates til at afgøre, om kode opfylder de definerede standarder for kvalitet, sikkerhed og pålidelighed til produktion, inspicerer SonarQube og SonarCloud kode for fejl, sårbarheder, sikkerhedshotspots og kodelugte.

Ved at parre vores løsningssæt med vores Clean as You Code-metode – en tilgang, der følger fastlagte standarder for at holde ny, tilføjet eller redigeret kode ren – er udviklere og organisationer i stand til at levere Clean Code og afhjælpe eksisterende kode organisk, så de kan fokusere på ny , innovative projekter, der skaber forretningsværdi

Hvordan hjælper Sonar med at sikre, at koden er kompatibel og opfylder industristandarder?

Sonar hjælper udviklere med at få adgang til øjeblikkelig og kontekstualiseret feedback, der fremhæver problemer, hvor de er i kodebasen, inden for udviklingsworkflowet baseret på mange års erfaring med sproganalysatorer. Udviklere får adgang til klare forklaringer på, hvorfor et problem opstår, og hvordan man hurtigt kan afhjælpe det, samt yderligere ressourcer til mere dybdegående læring. Vi har uddannelse bygget gennem hele arbejdsgangen, fra IDE til CI/CD. For eksempel har Sonar specifikke MISRA C++ 2023 regler tilgængelig i SonarLint for at hjælpe teams med at skabe kode, der er bedst forberedt til eventuel certificering. Det tilbyder kodningsvejledning, der forklarer hvorfor bag et markeret problem, og hvordan man løser det, for at sikre, at koden, der skrives, er MISRA-kompatibel.

Hvad er din vision for, hvordan AI vil transformere kodning i fremtiden?

 Jeg tror, ​​at AI vil fortsætte med at levere stor værdi til at tackle udviklerudbrændthed. Selvom jeg ikke tror, ​​at kunstig intelligens nogensinde vil være i stand til at aflæse udviklernes tænkning og det menneskelige berøring, tror jeg, at selv om et par måneder vil vi se et helt nyt sæt GPT'er - pyt med et par år fra nu af vil se ud. Jeg tror ikke på, at teknologer eller udviklere vil forsvinde, men den karakter, hvormed de udfører deres arbejde hver dag, vil helt sikkert ændre sig. Den måde, udviklere bruger kunstig intelligens på, vil være lige så enkel og almindelig som at Google søger efter noget som en genvej. Der er meget, der skal udforskes om brugen af ​​AI, men vi skal stadig overveje det menneskelige element på forkant for at kontrollere AI's ulemper. Der er et transformativt potentiale for softwareudvikling, men vi må ikke lade det køre uden kontrol - især når digitale virksomheder i dag er afhængige af den software, der understøtter det.

Tak for det gode interview, læsere, der ønsker at lære mere, bør besøge Sonar.

En stiftende partner af unite.AI og et medlem af Forbes Technology Council, Antoine er en fremtidsforsker der brænder for fremtiden for kunstig intelligens og robotteknologi.

Han er også grundlægger af Værdipapirer.io, en hjemmeside, der fokuserer på at investere i disruptiv teknologi.