Programmēšana

Sourcegraph: universāla koda meklēšana un izlūkošana

Kodu daudzums pasaulē eksplodē. Tā kā programmatūra kļūst par būtisku inovācijas virzītājspēku gandrīz katrā nozarē, programmatūras izstrādātāji saskaras ar lielākām, savstarpēji atkarīgākām koda bāzēm. Lielākā daļa organizāciju katru dienu uzstāda jaunus savas bāzes bāzes lieluma rekordus.

Šajā pasaulē tradicionālie izstrādātāju rīki, piemēram, redaktori un IDE, nepietiek. Tie bija paredzēti individuāliem izstrādātājiem, kuri strādā ar atsevišķiem koda gabaliem, nevis programmatūras komandām, kas apjomīgi izstrādā lielas koda bāzes. Mūsdienu programmatūras organizācijās meklējumi masveida koda bāzēs, nepazīstama koda izpratne un institucionālo zināšanu koplietošana kļūst par pirmās pakāpes bažām. Programmatūras komandām ir nepieciešams rīks, kas nodrošina šo universālo koda izlūkošanu.

Kodu meklēšanai jābūt universālai, lai tā būtu efektīva - tai jāietver visas valodas, visi krātuves, visi kodu resursdatori un visi konfigurācijas faili. Meklēšana, kas aprobežojas tikai ar Python vai tikai ar GitHub, ir tāda pati kā Google indeksēšana tikai vietnēs, kas izveidotas, izmantojot Ruby on Rails vai Apache HTTP Server - kas nav starteris izstrādes komandām, kas strādā mūsdienu kodu visumā.

Vadošie tehnoloģiju uzņēmumi, piemēram, Uber, Lyft un Yelp, izmanto Sourcegraph, lai apjuktu šo koda visumu. Tādi uzņēmumi kā Google un Facebook ir iztērējuši simtiem miljonu dolāru, lai izveidotu iekšējos rīkus, kas līdzīgi Sourcegraph. Kodu mitināšanas un devops uzņēmums GitLab nesen paziņoja par partnerību ar Sourcegraph, lai dabiski integrētu dažas Sourcegraph funkcijas GitLab lietotāja saskarnē.

Galvenie iemesli Sourcegraph lietošanai

Sourcegraph ir izstrādātāju platforma, kas paredzēta, lai risinātu problēmas, ar kurām saskaras mūsdienu programmatūras komandas. Sourcegraph pievēršas kritiskajiem sāpju punktiem, kurus izjūt programmatūras inženieri un inženieru vadītāji.

Atsevišķiem izstrādātājiem šeit ir galvenie iemesli Sourcegraph izmantošanai:

  1. Palieciet plūsmā, izvairieties no nāves ar tūkstoš konteksta slēdžiem
  2. Atrodiet adatu koda bāzes siena kaudzē
  3. Veiciet ātru, rūpīgu un mazāk sāpīgu kodu pārskatīšanu - vairs nav TL; DR
  4. Mācieties ar piemēru, nevis sliktas vai neesošas dokumentācijas vietā
  5. Izveidojiet lielus refaktorus un koda izmaiņas
  6. Viegli kopīgojiet un pārrunājiet kodu, īpaši ar attāliem kolēģiem
  7. Tas ir atvērts avots

Šeit ir visizplatītākie iemesli, kāpēc inženieru vadītāji iepazīstina Sourcegraph ar savu organizāciju:

  1. Palieliniet komandas ikdienas produktivitāti
  2. Veiciniet zināšanu apmaiņu
  3. Veiciniet jaunu rīku ieviešanu visā organizācijā
  4. Paātriniet jauno inženieru uzņemšanu
  5. Samaziniet incidenta reakcijas laiku
  6. Uzturēt un izplatīt koda kvalitātes standartus
  7. Veidojiet labākus iekšējos izstrādātāju rīkus, izmantojot kodu koda API
  8. To ir viegli izvietot un pielāgot savai komandai un koda bāzei

Palieciet plūsmā

Programmēšanas produktivitāte bieži mirst ar tūkstoš kontekstu slēdžiem. Pazīstams scenārijs ir tāds, ka izstrādātājs ir pa vidu, lai ieviestu funkciju vai kļūdu labojumu, bet pēkšņi viņam ir jāpāriet uz citu koda bāzes daļu. Varbūt viņiem ir jāmeklē noteikta bibliotēkas funkcija vai jāizdomā, kā to izmantot. Varbūt kolēģim ir jautājums par kādu citu koda daļu. Tagad izstrādātājam ir jāatver šie faili savā IDE un, to darot, jāiznīcina pašreizējais darba stāvoklis, kas vēlāk būs sāpīgi jāatgādina un jāatjauno.

Šie pārtraukumi ir destruktīvi, jo tie izved izstrādātāju no plūsmas stāvokļa, un negatīvā ietekme uz produktivitāti ir ievērojama. Sourcegraph pārlūkprogrammā balstītā koda meklēšanas un izpētes saskarne ļauj izstrādātājam saglabāt redaktora stāvokli, vienlaikus izpētot citas koda daļas. Šāda darba stāvokļa saglabāšana padara konteksta pārslēgšanu daudz lētāku, ļaujot atsevišķiem izstrādātājiem paveikt vairāk un mazāk pasliktināties.

Sourcegraph

Siena kaudzē atrodiet adatas

Ikdienas programmatūras izstrādē bieži sastopams uzdevums ir meklēt konkrētu virkni vai modeli kodā. Tas var būt kļūdas ziņojums, kas tiek parādīts ražošanas žurnālos, anti-modelis, kas būtu jānoņem, vai vienkārši kāda unikāla virkne, kuru izstrādātājs saista ar noteiktu avota koda interešu punktu.

Sourcegraph

Šo adatu atrašana bieži ir sāpīga. IDE ir meklēšanas iespējas, taču attiecīgais kods var pastāvēt ārpus IDE atvērtā. Komandrindas rīkiem arī nav piekļuves kodam ārpus vietējās failu sistēmas, un to lietošana var būt apgrūtinoša. Kodu mitinātāji meklē tikai tos, kurus viņi mitina, un bieži vien meklēšana ir lēna vai nekvalitatīva. Kodu meklēšanai jābūt universālai, lai tā būtu efektīva.

Izmantojot Sourcegraph, izstrādātājiem ir kodu meklēšana, kas aptver visu kodu visumu, pilnībā atbalstot regulāras izteiksmes un uzlabotu modeļu atbilstību, piemēram, Comby sintaksi. Sourcegraph meklētājprogramma ir optimizēta pirmkodam, tāpēc tā ir neticami ātra. Tas tika izstrādāts arī no paša sākuma līdz lielam koda bāzam un organizācijām. Dažām organizācijām ir simtiem tūkstošu krātuvju, un Sourcegraph tās visas pieliek katra izstrādātāja rokai.

Izteiksmīga un jaudīga meklēšanas sintakse ļauj lietotājam filtrēt rezultātus pēc faila, valodas, krātuves un neskaitāmiem citiem atribūtiem. Sourcegraph pārzina arī kodu semantiku un ļauj meklēt simbolus tieši.

Sourcegraph

Uzziniet pēc piemēra

"Kā es varu to izmantot?" ir jautājums, ko izstrādātāji uzdod desmitiem reižu dienā. Vislabākā dokumentācija ir lietošanas piemērs. Sourcegraph globālā atrašanas atsauču funkcija ļauj izstrādātājam meklēt lietojuma piemērus visā koda visumā, pat ja ideālais lietošanas piemērs pastāv citā repozitorijā. Tas ir īpaši noderīgi vecās, nepazīstamās vai slikti dokumentētās koda bāzēs.

Veiciet ātru un rūpīgu kodu pārskatīšanu

Parasti par koda pārskatīšanu ir teikts, ka, iesniedzot 10 rindiņu izmaiņu kopu, jūs saņemsit 10 komentārus, bet, iesniedzot tūkstošrindu izmaiņu kopu, nesaņemsit komentārus un automātisku apstiprinājumu.

Kvalitātes kodu pārskatīšana bieži ir sāpīga un lēna, jo tradicionālajos rīkos trūkst daudz būtisku funkciju, kas palīdzētu recenzentam ātri saprast koda izmaiņas. Sourcegraph pievieno IDE līdzīgu kodu navigāciju un rīku padomus izstrādātāju esošajai kodu pārskatīšanas darbplūsmai.

Sourcegraph hover rīku padomi ļauj recenzentam ātri palūkoties uz funkciju definīcijām un dokumentāciju, nevelkot izmaiņu kopu vietējā IDE. Neatstājot kodu pārskatīšanas saskarni, Sourcegraph ļauj pāriet uz definīciju, lai pilnīgāk saprastu, kā darbojas atsauces kods.

Sourcegraph

Sourcegraph integrē šīs koda navigācijas funkcijas tieši tādu populāru kodu pārskatīšanas rīku lietotāja saskarnē kā GitHub Pull Requests, GitLab Merge Requests un Phabricator, tāpēc izstrādātāja pieredze uzlabojas bez jebkādām pārslēgšanas izmaksām.

Labāka kodu pārskatīšana samazina kļūdas, atbalsta koda kvalitātes standartus un palielina institucionālo zināšanu izplatību visā inženieru organizācijā.

Sourcegraph Sourcegraph

Padariet lielus refaktorus viegli vadāmus

Pieaugot koda bāzēm, liela mēroga refaktori kļūst par neizbēgamu sastrēgumu koda kvalitātes uzlabošanai un jaunu funkciju ieviešanai. Piemēram, koplietojamas bibliotēkas API var būt jāatjaunina, lai atbalstītu jaunu funkciju, taču, to darot, var būt nepieciešami desmitiem vai pat simtiem pakārtoto apgādājamo atjauninājumi. Vietu skaits kodā, kas jāmaina vienas kopīgas atkarības atjaunināšanas rezultātā, var viegli sasniegt tūkstošiem punktu, kas sadalīti pa dažādiem komponentiem, kuri pieder dažādām komandām.

Sourcegraph ne tikai palīdz izstrādātājiem izprast refaktora ietekmi (ļaujot viņiem meklēt un atklāt visas vietas, kurās tiek izmantota konkrēta bibliotēkas funkcija), bet arī nodrošina aparātu refaktora izpildīšanai un izmaiņu kopu un kodu pārskatīšanas kampaņas pārvaldībai. Sourcegraph kampaņas ir pirmais šāda veida rīks, kas pieejams visiem programmatūras uzņēmumiem. Tāpat kā Sourcegraph kodu meklēšana, arī Kampaņas atbalsta jauno Comby modeļu atbilstības sintaksi, kas ir lietotājam draudzīgāka un izteiksmīgāka nekā parastās izteiksmes.

Sourcegraph

Veiciniet zināšanu apmaiņu visā jūsu organizācijā

Mūsdienu programmatūras komandas sadarbojas, lai dalītos institucionālajās zināšanās par kodu. Bet koda apspriešana bieži ir sarežģīta šo iemeslu dēļ:

  • Jūs nevarat kopīgot hipersaites uz failiem, kurus esat atvēris savā IDE
  • Tradicionālajiem pārlūkprogrammas kodu skatīšanas rīkiem nav laba navigācija kodā

Sourcegraph piedāvā labāko no abām pasaulēm: precīzu un precīzu navigāciju ar kodu tīmekļa saskarnē. Tas atvieglo gan saišu kopīgošanu, gan saņēmējam nekavējoties sākt izpētīt un saprast saistīto kodu, bez grūtībām un berzes to ievilkt vietējā IDE.

Sourcegraph

Kodu saišu koplietošana kļūst vēl svarīgāka attālinātām inženieru komandām. Sourcegraph saites tiek koplietotas simtiem reižu dienā tērzēšanā, izsekošanas izsekotājos, oficiālajā dokumentācijā un wiki. Tie kļūst par būtiskiem zināšanu kanāliem, it īpaši, ja nav iespējams piezvanīt kolēģim pie sava galda.

Tas ir atvērts avots

Sourcegraph ir atvērtā pirmkoda programmatūra. Izdevumu izsekotājs ir publisks, un komanda ļoti atsaucīgi reaģē uz kļūdu ziņojumiem un funkciju pieprasījumiem. Mūsdienu programmatūras izstrādātājiem vajadzētu dot priekšroku atvērtiem rīkiem to pašu iemeslu dēļ, kādēļ viņi atbalsta atvērtā koda bibliotēkas: pamatzināšanām, uz kurām balstās jūsu programmatūra un komanda, jābūt pieejamām visiem, lai visi varētu saprast, kā tā darbojas, un visi varētu palīdzēt to uzlabot.

Palieliniet savas komandas kopējo produktivitāti

Kā programmatūras projektam atpalikt gadu? Viena diena vienlaikus. Sourcegraph palīdz jūsu komandai nepārsniegt termiņus, racionalizējot ikdienas uzdevumus. Tas ļauj izstrādātājiem līdz minimumam samazināt konteksta pārslēgšanas ietekmi, uzturēt plūsmu, ātrāk pārskatīt kodus un atrast atbildi uz tādiem jautājumiem kā “Kā to izmantot?” kas tiek jautāts desmitiem reižu katru dienu. Šie efektivitātes uzlabojumi ātri summējas.

Veiciniet jaunu rīku ieviešanu visā organizācijā

Lielākā daļa Sourcegraph lietotāju to lieto vairākas reizes dienā, taču daudzi izstrādātāju rīki tiek izmantoti daudz retāk. CIO un izstrādātāju produktivitātes direktoriem var būt izaicinājums veicināt jaunu rīku ieviešanu.

Novērojamības un veiktspējas monitori, izplatīti lietojumprogrammu marķieri, koda pārklājuma analizatori - visi šie rīki var nebūt viegli atrodami vai pieejami visiem jūsu komandas locekļiem.

Sourcegraph

Sourcegraph paplašinājuma API ļauj trešo pušu rīkiem pievienot anotācijas Sourcegraph tīmekļa lietotāja saskarnē un kodu resursdatoru, piemēram, GitHub un GitLab, lietotāja saskarnē. Pastāv paplašinājumi tādiem populāriem ārpakalpojuma rīkiem kā Codecov, Datadog un Sentry, un iekšējās izstrādātāju rīku komandas var izveidot privātus paplašinājumus arī iekšējiem rīkiem.

Paātriniet jaunu inženieru uzņemšanu

Tā var būt cīņa ar jaunu inženieru uzņemšanu, it īpaši, ja inženieru organizācija vai koda bāze ir liela. Sourcegraph samazina laiku starp sākuma datumu un pirmo apņemšanos, ļaujot ātrāk izprast esošo kodu. Jaunie darbinieki bieži pavada lielāko daļu laika, lecot pa nepazīstamām koda bāzes daļām, lai izveidotu organizācijas koda garīgo modeli. Sourcegraph universālā koda navigācija ļauj viņiem izpētīt visu koda bāzi, minimāli mainot kontekstu, un spēja kopīgot saites ļauj uzdot konkrētus jautājumus, kas netērē vecāko inženieru laiku.

Samaziniet incidenta reakcijas laiku

Katra minūte ir svarīga, reaģējot uz ražošanas incidentu. Sourcegraph koda meklēšana samazina laiku, kas vajadzīgs problēmas pamatcēloņiem, padarot to viegli atrast kļūdas ziņojumus avota kodā. Bieži kļūdas ziņojums rodas no augšupējas atkarības, un tāpēc to ir grūti atrast, izmantojot IDE vai komandrindas meklēšanas rīku. Sourcegraph indeksē visu jūsu organizācijai atbilstošo kodu un padara kļūdu ziņojumus uzreiz atrodamus.

Sourcegraph paplašinājuma API ļauj arī integrēt devops rīkus Sourcegraph. Piemēram, paplašinājums Sentry parāda ražošanas brīdinājumu skaitu, ko ģenerē konkrēta instrumentu koda rinda. Tas sniedz vērtīgas konteksta zināšanas, atkļūdojot incidentus.

Sourcegraph

Uzturēt un izplatīt koda kvalitātes standartus

Sourcegraph ļauj organizācijām uzturēt un izplatīt koda kvalitātes standartus, izmantojot dažus vektorus:

  • Efektīva, bet rūpīga koda pārskatīšana, izmantojot Sourcegraph kodu navigāciju un rīku padomus, novērš sliktas kvalitātes kodu apvienošanu.
  • Automātiskos koda kvalitātes pārbaudītājus (piemēram, Codecov) var integrēt koda pārskatīšanā, izmantojot Sourcegraph paplašinājuma API. Sourcegraph pievieno šīs anotācijas esošajam kodu pārskatīšanas rīkam.
  • Kodu saišu koplietošana un pārlūka koda navigācija ļauj izstrādātājiem atsaukties uz atdarināmo un pretmodeļu paraugiem.

Eksponējiet savu koda bāzi kā datu kopu, izmantojot API

Sourcegraph atklāj spēcīgu GraphQL API. API iekšējās izstrādātāju rīku komandas izmanto, lai izveidotu iekšējos rīkus, kas izmanto Sourcegraph iespējas, piemēram, universālu kodu meklēšanu, koda navigāciju un kodu statistiku. Piekļuves žetoni ļauj uzticamiem rīkiem droši autentificēties Sourcegraph. Sourcegraph tiek piegādāts ar interaktīvu API pārlūku, kas atvieglo API apgūšanu un eksperimentēšanu.

Sourcegraph
$config[zx-auto] not found$config[zx-overlay] not found