Ohjelmointi

Sourcegraph: Yleinen koodihaku ja älykkyys

Koodimäärä maailmassa räjähtää. Kun ohjelmistoista tulee innovaatioiden perustekijä lähes kaikilla teollisuudenaloilla, ohjelmistokehittäjät joutuvat käsittelemään suurempia, toisistaan ​​riippuvampia kooditietokantoja. Useimmat organisaatiot asettavat päivittäin uusia ennätyksiä koodikannan koolle.

Tässä maailmassa perinteiset kehittäjätyökalut, kuten toimittajat ja IDE: t, eivät ole riittäviä. Ne on suunniteltu yksittäisille kehittäjille, jotka työskentelevät yksittäisten koodikappaleiden parissa, eikä ohjelmistotiimeille, jotka kehittävät suuria kooditietokantoja mittakaavassa. Nykyaikaisissa ohjelmisto-organisaatioissa etsiminen massiivisten kooditietokantojen kautta, tuntemattomien koodien ymmärtäminen ja institutionaalisten tietojen jakaminen ovat ensisijaisen tärkeitä asioita. Ohjelmistotiimit tarvitsevat työkalun, joka mahdollistaa tämän yleisen koodintiedon.

Koodihaun on oltava universaali, jotta se olisi tehokasta - sen on katettava kaikki kielet, kaikki arkistot, kaikki koodin isännät ja kaikki määritystiedostot. Haku, joka on rajoitettu vain Pythoniin tai vain GitHubiin, on kuin Google indeksoisi vain verkkosivustot, jotka on rakennettu Ruby on Rails -sovelluksella tai Apache HTTP Server -palvelimella - ei-aloituskehitys kehitystiimeille, jotka työskentelevät modernissa koodikokonaisuudessa.

Johtavat teknologiayritykset, kuten Uber, Lyft ja Yelp, käyttävät Sourcegraphia tämän koodin universumin kiertämiseen. Yritykset, kuten Google ja Facebook, ovat käyttäneet satoja miljoonia dollareita Sourcegraphin kaltaisten sisäisten työkalujen rakentamiseen. Koodin isännöinti- ja devops-yritys GitLab ilmoitti äskettäin yhteistyöstä Sourcegraphin kanssa integroidakseen jotkut Sourcegraphin ominaisuuksista GitLabin käyttöliittymään.

Tärkeimmät syyt Sourcegraphin käyttämiseen

Sourcegraph on kehittäjäalusta, joka on suunniteltu vastaamaan nykyaikaisten ohjelmistotiimien kohtaamiin ongelmiin. Sourcegraph käsittelee kriittisiä kipupisteitä, joita ohjelmistoinsinöörit ja suunnittelupäällikkö kokevat.

Yksittäisille kehittäjille, tässä ovat tärkeimmät syyt käyttää Sourcegraphia:

  1. Pysy virtauksessa, vältä kuolemaa tuhannella kontekstikytkimellä
  2. Etsi neula koodipohjan heinäsuovasta
  3. Tee koodiarvosteluista nopeita, perusteellisia ja vähemmän tuskallisia - ei enää TL; DR
  4. Opi esimerkillä huonojen tai olemattomien asiakirjojen sijaan
  5. Tee isoista refaktoreista ja koodimuutoksista helposti käsiteltäviä
  6. Jaa ja keskustele koodista helposti, etenkin etätovereiden kanssa
  7. Se on avointa lähdekoodia

Ja tässä ovat yleisimmät syyt insinöörien johtajille, jotka esittävät Sourcegraphin organisaatioonsa:

  1. Paranna joukkueen päivittäistä tuottavuutta
  2. Kannusta tiedon jakamista
  3. Edistä uusien työkalujen käyttöönottoa organisaationlaajuisesti
  4. Nopeuta uusien insinöörien aloittamista
  5. Pienennä tapahtumien vasteaikaa
  6. Ylläpitää ja levittää koodin laatustandardeja
  7. Rakenna parempia sisäisiä kehittäjän työkaluja code-as-data -sovellusliittymällä
  8. Se on helppo ottaa käyttöön ja skaalata tiimisi ja koodipohjan kanssa

Pysy virtauksessa

Ohjelmoinnin tuottavuus kuolee usein kuoleman tuhannella kontekstikytkimellä. Tuttu skenaario on sellainen, että kehittäjä on keskellä ominaisuuden tai virheenkorjauksen toteuttamista, mutta hänen on yhtäkkiä siirryttävä koodikannan eri osaan. Ehkä heidän on etsittävä tietty kirjastotoiminto tai keksittävä, miten sitä käytetään. Ehkä kollegalla on kysyttävää jostakin muusta koodikappaleesta. Kehittäjän on nyt avattava nämä tiedostot IDE: ssä ja täten tuhottava niiden nykyinen toimintatila, joka on tuskallisen muistettava ja rekonstruoitava myöhemmin.

Nämä keskeytykset ovat tuhoisia, koska ne vievät kehittäjän virtaustilasta, ja negatiivinen vaikutus tuottavuuteen on merkittävä. Sourcegraphin selainpohjainen koodihaku- ja etsintäkäyttöliittymä antaa kehittäjälle mahdollisuuden ylläpitää muokkaustilaa samalla kun tutkia koodin muita osia. Tämä toimintatilan säilyttäminen tekee kontekstikytkimistä huomattavasti edullisempia, jolloin yksittäiset kehittäjät saavat enemmän aikaan vähemmällä pahenemisella.

Lähde

Löydä neulat heinäsuovasta

Päivittäisen ohjelmistotekniikan yleinen tehtävä on tietyn merkkijonon tai mallin etsiminen koodista. Tämä voi olla virheilmoitus, joka näkyy tuotantolokeissa, poistettava anti-kuvio tai yksinkertaisesti jokin ainutlaatuinen merkkijono, jonka kehittäjä liittää tiettyyn lähdekoodin kiinnostavaan kohtaan.

Lähde

Näiden neulojen löytäminen on usein tuskallista. IDE: llä on hakuominaisuuksia, mutta kyseinen koodi voi olla olemassa sen ulkopuolella, mitä IDE on avannut. Komentorivityökaluilla ei myöskään ole pääsyä paikallisen tiedostojärjestelmän ulkopuoliseen koodiin, ja niiden käyttö voi olla hankalaa. Koodin isännät etsivät vain isäntänsä koodia, ja haku on usein hidasta tai heikkolaatuista. Koodihaun on oltava universaali, jotta se olisi tehokasta.

Sourcegraphin avulla kehittäjät käyttävät koodihakua, joka kattaa koko koodikokonaisuuden, tukemalla täysipainoisesti säännöllisiä lausekkeita ja kehittyneempiä kuvasovituksia, kuten Combyn syntaksia. Sourcegraphin hakukone on optimoitu lähdekoodia varten, joten se on uskomattoman nopea. Se on myös suunniteltu alusta asti suuriin kooditukikohtiin ja organisaatioihin. Joillakin organisaatioilla on satoja tuhansia arkistoja, ja Sourcegraph tuo ne kaikki kehittäjien ulottuville.

Ilmeellisen ja tehokkaan haun syntaksin avulla käyttäjä voi suodattaa tuloksia tiedoston, kielen, arkiston ja lukemattomien muiden määritteiden mukaan. Sourcegraph on tietoinen myös koodisemantiikasta ja mahdollistaa symbolien etsimisen suoraan.

Lähde

Opi esimerkin avulla

"Kuinka voin käyttää tätä?" on kysymys, jonka kehittäjät kysyvät kymmeniä kertoja päivässä. Useimmiten paras dokumentaatio on käyttöesimerkki. Sourcegraphin globaalien hakuviittaustoiminnon avulla kehittäjä voi etsiä käyttöesimerkkejä kaikkialta koodista, vaikka ihanteellinen käyttöesimerkki olisi olemassa toisessa arkistossa. Tämä on erityisen hyödyllistä vanhoissa, tuntemattomissa tai huonosti dokumentoiduissa koodikannoissa.

Tee koodiarvostelut nopeasti ja perusteellisesti

Koodin tarkistamista koskevassa yleisessä mielipiteessä sanotaan, että jos lähetät 10 rivin muutosjoukon, saat 10 kommenttia, mutta jos lähetät tuhan rivin muutosjoukon, et saa kommentteja - ja automaattista hyväksyntää.

Laatukoodiarvostelut ovat usein tuskallisia ja hitaita, koska perinteisistä työkaluista puuttuu monia olennaisia ​​ominaisuuksia, jotka auttavat arvioijaa ymmärtämään koodimuutokset nopeasti. Sourcegraph lisää IDE: n kaltaisen koodinavigoinnin ja työkaluvihjeitä kehittäjien nykyiseen koodin tarkistustyönkulkuun.

Sourcegraph hover -työkaluvihjeiden avulla tarkistaja voi nopeasti kurkistaa toimintomääritelmiä ja dokumentaatiota joutumatta vetämään muutosjoukkoa paikalliseen IDE: hen. Poistumatta koodin tarkistusrajapinnasta, Sourcegraph antaa sinun siirtyä määritelmään, jotta ymmärrät paremmin, miten viitattu koodikappale toimii.

Lähde

Sourcegraph integroi nämä koodinavigointiominaisuudet suoraan suosittujen koodien tarkistustyökalujen, kuten GitHub Pull Requests, GitLab Merge Requests ja Phabricator, käyttöliittymään, joten kehittäjäkokemus paranee ilman vaihtokustannuksia.

Paremmat koodiarvostelut vähentävät virheitä, ylläpitävät koodin laatustandardeja ja lisäävät institutionaalisen tietämyksen leviämistä koko suunnitteluorganisaatiossa.

Lähde Lähde

Tee isoista refaktoreista ajettavia

Kun koodipohjat kasvavat, suurista refaktoreista tulee väistämätön pullonkaula koodin laadun parantamiseen ja uusien ominaisuuksien käyttöönottoon. Esimerkiksi jaetun kirjaston sovellusliittymä voidaan joutua päivittämään uuden ominaisuuden tukemiseksi, mutta se saattaa edellyttää päivityksiä kymmenille tai jopa satoille loppupään huollettaville. Koodissa olevien paikkojen lukumäärä, jonka on muututtava yhden jaetun riippuvuuden päivittämisen seurauksena, voi helposti nousta tuhansiin pisteisiin eri joukkueiden omistamien komponenttien välillä.

Sourcegraph ei vain auta kehittäjiä ymmärtämään refaktorin vaikutuksia (antamalla heidän etsiä ja löytää kaikki paikat, joissa tiettyä kirjastotoimintoa käytetään), se tarjoaa myös laitteen refaktorin toteuttamiseen ja muutosjoukkojen ja koodiarvostusten kampanjan hallintaan. Sourcegraph-kampanjat ovat ensimmäinen laatuaan kaikkien ohjelmistoyritysten käytettävissä oleva työkalu. Kuten Sourcegraph-koodihaku, Campaigns tukee uutta Comby-mallin vastaavaa syntaksia, joka on käyttäjäystävällisempi ja ilmeikkäämpi kuin säännölliset lausekkeet.

Lähde

Kannusta tiedon jakamista organisaatiossasi

Nykyaikaiset ohjelmistotiimit tekevät yhteistyötä jakamaan institutionaalista tietoa koodista. Mutta koodista keskusteleminen on usein vaikeaa näistä syistä:

  • Et voi jakaa hyperlinkkejä tiedostoihin, jotka olet avannut IDE: ssä
  • Perinteisillä selainkoodien katselutyökaluilla ei ole hyvää koodinavigointia

Sourcegraph tarjoaa molempien maailmojen parhaat puolet: tarkan ja tarkan koodinavigoinnin web-käyttöliittymässä. Tämä helpottaa sekä linkkien jakamista että vastaanottajan aloittavan linkitetyn koodin tutkimisen ja ymmärtämisen välittömästi ilman vaivaa ja kitkaa vetää sitä paikalliseen IDE: hen.

Lähde

Koodilinkkien jakamisesta tulee entistä tärkeämpää etäsuunnittelutiimeille. Sourcegraph-linkit jaetaan satoja kertoja päivässä chatissa, ongelmien seurannassa sekä virallisissa asiakirjoissa ja wikissä. Näistä tulee välttämättömiä tietokanavia etenkin silloin, kun on mahdotonta kutsua kollegaa työpöydälle.

Se on avointa lähdekoodia

Sourcegraph on avoimen lähdekoodin ohjelmisto. Ongelmien seuranta on julkinen ja tiimi reagoi hyvin vikailmoituksiin ja ominaisuuspyyntöihin. Nykyaikaisten ohjelmistokehittäjien tulisi suosia avoimia työkaluja samoista syistä kuin he suosivat avoimen lähdekoodin kirjastoja: perustietojen, joihin ohjelmisto ja tiimi on rakennettu, tulisi olla avointa kaikille, jotta kaikki ymmärtäisivät sen toiminnan ja kaikki voivat auttaa parantamaan sitä.

Paranna tiimisi kokonaistuottavuutta

Kuinka ohjelmistoprojekti jää vuoden taakse? Yksi päivä kerrallaan. Sourcegraph auttaa tiimiäsi pysymään määräaikojen ulkopuolella yksinkertaistamalla päivittäisiä tehtäviä. Sen avulla kehittäjät voivat minimoida kontekstikytkinten vaikutukset, pysyä sujuvana, tehdä nopeamman koodin tarkistuksen ja löytää vastauksen kysymyksiin, kuten "Kuinka käytän tätä?" joita kysytään kymmeniä kertoja päivässä. Nämä tehokkuuden lisäykset kasvavat nopeasti.

Edistä organisaationlaajuista uusien työkalujen käyttöönottoa

Suurin osa Sourcegraph-käyttäjistä käyttää sitä useita kertoja päivässä, mutta monia kehittäjien työkaluja käytetään paljon harvemmin. Tietohallintojohtajille ja kehittäjien tuottavuuden johtajille voi olla haaste ajaa uusien työkalujen käyttöönottoa.

Havaittavuus- ja suorituskykymonitorit, hajautetut sovellusten jäljityslaitteet, koodin peittoanalysaattorit - nämä ovat kaikki työkaluja, jotka eivät välttämättä ole helposti löydettävissä tai kaikkien tiimisi jäsenten käytettävissä.

Lähde

Sourcegraphin laajennussovellusliittymä antaa kolmansien osapuolten työkalujen lisätä merkintöjä Sourcegraph-verkko-käyttöliittymään ja koodikoneiden, kuten GitHub ja GitLab, käyttöliittymään. Laajennuksia on olemassa suosituille valmiille työkaluille, kuten Codecov, Datadog ja Sentry, ja sisäiset kehittäjätyöryhmät voivat luoda yksityisiä laajennuksia myös sisäisiin työkaluihin.

Nopeuta uusien insinöörien aloittamista

Uusien insinöörien kyytiin saattaminen voi olla taistelua, varsinkin jos suunnitteluorganisaatio tai koodikanta on suuri. Sourcegraph vähentää alkamispäivän ja ensimmäisen sitoutumisen välistä aikaa mahdollistamalla nykyisen koodin nopeamman ymmärtämisen. Uudet työntekijät viettävät usein suurimman osan ajastaan ​​hyppäämällä tuntemattomien osien läpi koodipohjan rakentaakseen organisaation koodin henkisen mallin. Sourcegraphin yleinen koodinavigointi antaa heille mahdollisuuden tutustua koko kooditietokantaan vähäisellä kontekstivaihdolla, ja kyky jakaa linkkejä antaa heille mahdollisuuden esittää tiettyjä kysymyksiä, jotka eivät tuhlaa vanhojen insinöörien aikaa.

Pienennä tapahtumien vasteaikaa

Jokainen minuutti on tärkeä, kun vastaat tuotantotapahtumaan. Lähdekoodihaku vähentää aikaa, joka kuluu ongelman syihin, helpottamalla virheviestien löytämistä lähdekoodista. Usein virheilmoitus on peräisin ylävirran riippuvuudesta, ja siksi sitä on vaikea löytää IDE- tai komentorivihaun avulla. Sourcegraph indeksoi kaiken organisaatiollesi liittyvän koodin ja tekee virheilmoituksista heti löydettävissä.

Sourcegraph-laajennussovellusliittymä mahdollistaa myös devops-työkalujen integroinnin Sourcegraphiin. Esimerkiksi Sentry-laajennus näyttää tietyn rivin instrumentointikoodin tuottaman tuotevaroituksen määrän. Tämä antaa arvokasta asiayhteyteen liittyvää tietoa tapahtumien virheenkorjauksessa.

Lähde

Ylläpitää ja levittää koodin laatustandardeja

Sourcegraph antaa organisaatioille mahdollisuuden ylläpitää ja levittää koodin laatustandardeja muutaman vektorin kautta:

  • Tehokas, mutta perusteellinen koodin tarkistus Sourcegraph-koodinavigoinnilla ja työkaluvihjeillä estää huonolaatuisen koodin yhdistämisen.
  • Automaattiset koodinlaadun tarkistimet (esim. Codecov) voidaan integroida koodin tarkasteluun Sourcegraph-laajennussovellusliittymän kautta. Sourcegraph lisää nämä merkinnät olemassa olevaan koodin tarkistustyökaluun.
  • Koodilinkkien jakaminen ja selaimen koodinavigointi antavat kehittäjille mahdollisuuden viitata esimerkkeihin jäljiteltävistä malleista ja anti-kuvioista.

Esitä kooditietokanta tietojoukoksi API: n kautta

Sourcegraph paljastaa tehokkaan GraphQL-sovellusliittymän. Sisäiset kehittäjätyöryhmät käyttävät sovellusliittymää sisäisten työkalujen rakentamiseen, jotka hyödyntävät Sourcegraph-ominaisuuksia, kuten yleinen koodihaku, koodinavigointi ja kooditilastot. Käyttöoikeustunnukset mahdollistavat luotettavien työkalujen todentamisen Sourcegraphiin turvallisesti. Sourcegraph toimittaa interaktiivisen API-tutkimusmatkailijan, mikä helpottaa API: n oppimista ja kokeilua.

Lähde
$config[zx-auto] not found$config[zx-overlay] not found