
[Musica]
è venuto a parlare di un argomento che è vicino
e caro al mio cuore in un modo codice
stream è l’ultimo graffio tuo
storia di prurito e voglio parlare per lo più no
sul prodotto ma su cosa ci ha portato
per costruire il problema che tutti noi affrontiamo
che sta rendendo più facile parlare
codice e catturare quello istituzionale
conoscenza perché penso che sia
sottovalutato nel software
processo di sviluppo
Penso forse all’ingegneria del software
più di ogni altra industria si basa su
di avere una conoscenza istituzionale
il tuo prodotto di lavoro è incredibilmente
codice difficile da capire che tu sia
non ho familiarità con me continuerò a venire
ritorno a quel tema nel corso di
le chiacchiere quindi se sei il tipo di persona
che può guardare un pezzo di codice
riconoscere immediatamente sapere esattamente come
opere e tutto ciò che su di esso
allora questo discorso non è per te e per te
può andare a far parte di una delle altre tracce ma
se sei un essere umano che richiede tempo
per capire il codice allora speriamo
avere un paio di pepite di informazioni
per te quindi volevo solo iniziare con a
sfondo molto breve su di me e il
squadra lo terrò breve lo prometto
Ho avuto la vera fortuna di lavorare
con lo stesso gruppo di ragazzi da 23 anni
il flusso di codice è in realtà il nostro quarto
avvio insieme ho un po ‘ divertente
storia per quelli di voi che sono simili
in età per me abbiamo appena attraversato Y.
Combinatore che se non ti è familiare
con esso questo programma di incubazione dove
la maggior parte dei bambini e io dico bambini
che hanno partecipato sono come 22 23
quindi avevamo una versione di questa diapositiva per
il nostro demo day pitch, ma abbiamo mentito e noi
disse
insieme perché non volevo sembrare
va tutto bene così chi sono io alto non così
molto io ma noi per le parti rilevanti di
il nostro settore come abbiamo costruito
insieme a costruire società in giro
messaggistica in tempo reale per oltre 20 anni quindi
sentiamo di comprendere questo spazio
molto molto bene e faremo una sorta di
separatamente sono l’amministratore delegato, ma sono anche un
sviluppatore scrivo codice ogni singolo giorno
quindi questo è il motivo per cui dico che questo è il
ultimo graffio o una storia di nicchia
perché qui stiamo parlando
miglioramento delle conoscenze istituzionali
flusso di lavoro intorno alla comunicazione per
gli sviluppatori quindi è come la fusione
delle mie due grandi passioni nella vita
in questo modo ci proponiamo di risolvere ciò che è
forse la parte più dolorosa di
sviluppo del software che è
comunicazione quindi andremo a fare immersioni
in questo problema e staccare il
cipolla un po ‘e prova a guardare tutto il
diversi modi in cui la comunicazione è
difficile e sottoutilizzato all’interno
ingegneria del software quindi oggi sono sicuro
questo parla rospo quasi tutti nel
stanza ogni squadra di sviluppo tiene traccia di ogni
cambia in ogni riga di ogni file in
tutto il tuo albero sorgente fino alla fine
per l’inizio del tempo si pensa di nuovo
molti di noi ne stanno usando bene altri
sistemi di controllo del codice sorgente, ma tutti noi prendiamo
tanta cura per tutti i cambiamenti
la nostra fonte innesca eppure quelli stessi
le squadre stanno prendendo tutte le discussioni
attorno a quel codice che in molti modi
spiega come tutto funzioni ogni domanda
ha chiesto ad ogni discussione ogni suggerimento
e essenzialmente lo buttiamo via dentro
o lento o chiave di posta o qualsiasi altra cosa
usando la comunicazione libera perché quelli
gli strumenti non sono collegati in alcun modo al tuo
albero dei sorgenti è una specie di pazzo se tu
pensaci un altro modo di guardare
questo è
trattiamo il nostro codice sorgente come l’oro e
eppure trattiamo la nostra discussione
codice sorgente come spazzatura e altro
che abbiamo pensato a questo più siamo noi
capito quanto sia grave di questo problema
è per gli sviluppatori è un po ‘come me
usa quello come un figlio bambino ha sempre il
le scarpe peggiori o il barbiere hanno sempre
ha il peggior taglio di capelli in città perché è così
gli ingegneri del software non hanno risolto
questo problema per noi pensi
sul modo in cui funziona Google Documenti
è super facile comunicare su a
documento in Google Documenti che hai appena
selezionando il testo e aggiungendo un commento e
ancora per gli sviluppatori se stai guardando
pezzo di codice non è affatto così facile
quindi tuffiamoci così che cosa vorrei
discutere è uno dei più comuni se non
l’ evento più comune per
sviluppatori mentre stai guardando
codice che non hai familiarità con Let ‘s
dì per esempio questo libro qui sul
Lasciato quindi volevo fare un rapido sondaggio
alza la mano se hai capito
ogni singolo blocco di codice che hai mai
visto nella tua vita
Joey sì, va bene, quindi è un dolore
che ogni Belapur sa molto bene
succede ogni giorno un centinaio di volte a
mille volte al giorno in tutto il tuo
team di sviluppo è un risultato naturale
un registro naturale al cento per cento del modo
lavoriamo infatti se non l’hai visto
il prossimo cartone animato è abbastanza buono per WTS
minuto come misura della qualità del codice ora
Penso che la parte divertente di questo sia accesa
cartoni divertenti ma la parte davvero divertente
è che anche un buon codice ha un certo numero di
WTF intendo solo che le persone non capiscono
che aspetto hanno
è difficile incrociare il codice, persino avere
una parola speciale per quella parola era Brock
inventato per gli informatici per parlare
sulla sfida della comprensione
codice quindi questo è il problema
comprensione del codice ma c’è un punto pari
problema più grande che gli sviluppatori non sono
discutere di codice quasi tutte le volte che loro
potrebbe o dovrebbe e il nostro recente
esperienza a Y commoner ci ha dato il
possibilità di parlare con un migliaio
diversi team di ingegneri del software
ognuno individualmente e abbiamo scoperto
due cose fondamentali numero uno
gli sviluppatori non parlano quasi del codice
abbastanza e quando lo fanno è raramente
conservato in ogni modo significativo per il
il futuro e il numero due sono i due fondamentali
fondazione per la costruzione istituzionale
la conoscenza è crearla prima
posto e poi per preservarlo così questo
ha portato a un’altra grande domanda che abbiamo avuto
perché la discussione in Co è così rara
perché è così raro che in realtà parlare
a vicenda sul codice sorgente, quindi guardiamo
guardò attentamente la domanda e
trovato ciò che pensiamo siano i primi tre
ragioni per cui la ragione numero uno è quella
la maggior parte delle aziende con cui abbiamo parlato ne usano alcune
variazione di un processo agile qualunque
lo chiamano lavoro è diviso in drink
all’inizio di una riunione di pianificazione
la settimana in genere ma poi durante il
settimana
una volta assegnati i compiti più
gli sviluppatori sono a testa bassa su cui lavorare
codice con pochissima interazione con
i loro coetanei e poi alla fine del
Sprint se è una settimana o due settimane
o qualunque sia la tua scelta, Cadence, vieni
è tempo di revisione del codice e tu condividi
il tuo prodotto di lavoro con il resto del tuo
squadra e se hai una buona squadra
processo probabilmente hai una sorta di
revisione del codice in cui tutti guardano a qualsiasi
commenti su di esso, ma diciamo che sei il
team lead e la tua responsabilità è per
la qualità generale del codice sei spesso
di fronte sono sicuro che molti di voi hanno affrontato
questo molte volte ti trovi di fronte a un
decisione non invidiabile da fare alla fine
di quello sprint che è se qualcuno
il lavoro è scadente ma passa QED
si è costretti a decidere di fare Chiedo che
sviluppatore per tornare indietro e aggiustarlo e farlo
è il modo giusto nel qual caso abbiamo
per far scorrere l’orario o accetto questo
codificare nel codice di base e si fondono e
ora so che c’è un ulteriore tecnico
debito che abbiamo appena fatto la base di codice molto
Messier e dovremo tornare indietro
e pulirlo in futuro parleremo
su come evitare questo il secondo
ragione ed è solo uno di cultura questo
è qualcosa che potrebbe cambiare lentamente
ma sicuramente per la maggior parte della mia carriera questo
è il più grande problema che abbiamo sentito
su e si riferiscono al concetto di questo
Codificatore Rockstar il ragazzo che conosce sempre
tutto è un indipendente
cultura di problem-solving ed è grandiosa
per i singoli contributori e
contributi ma non va bene per la squadra
lavoro basato che è la maggior parte di quello che facciamo
infatti in Stack Overflow è il suo massimo
sondaggio recente 40 percento di nuovo
gli sviluppatori si sono descritti come
competere con i loro coetanei no
collaborando con ma in competizione e
ciò che non dissipa fino a quando
sei nel settore per cinque pieni
anni così tutti questi nuovi bambini
il college sta ancora provando a fare uno su ciascuno
altro e nelle nostre interviste quando parliamo
agli sviluppatori in particolare quelli più nuovi
tendono ad evitare di fare domande anche se
quelle domande sono perfettamente valide
sono semplicemente troppo imbarazzati per chiederlo
è davvero quel problema culturale e
numero tre e questo è il grande
questa è la più grande ragione che abbiamo trovato
è che stiamo usando lo strumento sbagliato
collaborare al codice il mio preferito
esempio è questo team di sviluppo che
utilizzato e non sto inventando hanno
fotografato il loro monitor e inviato
a vicenda tramite facebook Messenger
ed è così che hanno collaborato al codice
e così davvero lo sottolineo
manca qualcosa di tutto questo
strumenti che gli sviluppatori usano che abbiamo
parlato con nessuno di loro sa quale codice
non è nessuno di loro
il tuo codice base non abbiamo ancora il
strumenti per rendere tutto questo facile così tutto questo
si traduce in una statistica piuttosto tragica
che è quello secondo lo stack
supera il sondaggio meno del 20% di
Gli sviluppatori che stanno cercando di conoscere
un codebase lo fa attraverso qualsiasi forma di
documentazione fornita dalla società
il cui codebase è così più di quattro
su cinque sviluppatori devono trovarne alcuni
altro modo per farlo in modo torniamo al
questo problema originale e diciamo
si sta guardando pezzo di codice che si
non capisco e tu in realtà vuoi
per fare una domanda che vuoi chiedere
la tua squadra come spiega questo lavoro WTF
a me questo è probabilmente il singolo
la più semplice forma di comunicazione possibile
pensa all’esempio più semplice che io sia
guardando il codice voglio solo chiedere a
domanda diamo abbiamo scoperto che nel
aziende abbiamo parlato con i tre più
modi comuni per scambiare informazioni
sul codice sono al numero uno in linea
Commenti
numero due usando github e numero tre
usando il gioco in ordine crescente di
frequenza così in linea è il github minimo
e poi rilassati e ognuno di questi ha
un problema anche per i commenti in linea
non può avere una conversazione non può chiedere a
domanda in modo da poter documentare come
qualcosa dovrebbe funzionare e poi
devi preoccuparti di restare sincronizzati
ma non puoi chiedere a qualcuno di spiegare
qualcosa per te con un commento in linea
i commenti della richiesta pull di github sono
in realtà abbastanza buono, ma lo lasciano solo
parli del codice di guida Delta così
solo le modifiche quindi alla fine di a
sprint di cosa hai cambiato puoi parlare
che ma per quanto riguarda il resto della tua
codebase se gestisci qualsiasi tipo di
codebase considerevole diciamo che hai
cinque milioni di righe di codice nel tuo
codebase ce ne sono forse cinquecento
quello ha cambiato bene quella settimana e che dire
l’altro quattro punti nove nove nove
milioni di righe di codice e se hai un
domanda su questo e il gioco è cosa
la maggior parte di noi usa oggi per parlare
codice e ha una serie di problemi
che sto per entrare in a
secondo, ma il più grande è che è
effimero
molto rapidamente tutte quelle conversazioni
scomparirà quindi prendiamo in considerazione a
un po ‘e dirò per la cronaca
Adoro lo slack che lo uso ogni giorno è a
gli sviluppatori di grandi prodotti amano il lasco e
per una buona ragione
rende molte cose davvero facili
per parlare, ma se hai mai provato
per parlare di codice all’interno del gioco che puoi
avere familiarità con alcuni di questi passi del
ragione per cui è così difficile da fare per
parlare di slack di codifica non è il gioco lento
sapere qualcosa sulla tua base di codice, quindi se
vuoi solo fare una domanda su a
funzione che stai guardando hai
ricorrere a copia e incolla ma
non è abbastanza perché tu
Devo descrivere il contesto di ciò che tu
stavano guardando così qual era il repository I
era in quello che era il file qual era il
traccia il file quale parte del follow up
il ramo era io e se vuoi chiederlo
la persona giusta, allora devi andare
spostati e vai a prenderlo e prendi la colpa
e scoprire chi è stato che ha scritto quello
codice in modo che tu possa andare @mention il giusto
la persona in attesa quindi se hai dubbi
tutti questi passaggi è in realtà molto
più difficile di quanto si pensi e si scopre
avere 18 o più cose che tu
devo fare solo una semplice domanda
e diciamo che eri disposto a fare
diciamo che sai che stai saltando
attraverso quei 18 cerchi non è troppo
lavoro per te che, a proposito, hai
fare ogni volta che hai un
domanda e hai una risposta, pensa
su quello che è appena successo che hai
qualcosa nel tuo codice che è così poco chiaro
che sei disposto a saltare
cerchi di ottenere la risposta a qualcuno
risponde bene alla tua domanda ora
domanda che rispondere Vivo in questo altro
sistema che è completamente separato dal
la tua base di codice e rapidamente scorre via
la pagina in modo che gli strumenti esistenti spero
Ti ho convinto ormai non lo sono
sufficienti per rendere più facile parlare di
codice in modo che sia il numero uno e poi il
la seconda parte di questo è il perché del perché
importa perché è importante che
manteniamo la conoscenza con il software
ingegneria e si riduce davvero
quattro quattro numeri quindi ti guiderò
attraverso tutti e quattro quindi la prima cosa è
la nostra guerra senza fine con il debito tecnico
ne abbiamo parlato un po ‘
prima ma
la morte e le tasse lo saranno sempre
lì c’è il problema del debito tecnico
spesso peggiorato a causa della difficoltà di
comunicare e la mancanza di
conoscenza dell’istituzione su come il nostro
la base di codice funziona e tutti noi abbiamo un mandato
interesse a rendere questo problema più facile
gestire e mi piacerebbe condividere con voi
una storia personale è successo un paio
anni fa, dove uno degli sviluppatori su
il team ha presentato un nuovo ramo di funzionalità
per una richiesta di pull per un ramo futuro
ha scritto un nuovo codice e lo era
piuttosto aspecifico in termini di come
implementare la soluzione ciò che fondamentalmente
Detto questo c’è questa pagina nel nel
prodotto che assomiglia a questo, mi vogliono
farne un altro farla usare allo stesso modo
widget e lo stesso stile e giusto
fallo fare questo e così sviluppatore
implementato fedelmente la nuova funzionalità
sembrava uguale funzionasse allo stesso modo
tutto sembrava fantastico passato QA PM era
felice e stiamo per fonderlo e
quando ci siamo resi conto che aveva creato un
implementazione completamente parallela di
quelle due pagine in modo che avessero come HTML
widget che erano dropdown e lui solo
riscritto tutti così ora cosa siamo noi
per fare dobbiamo tornare indietro e chiederglielo
per rifare tutto da dove cominciare
zero e questi sono i problemi che
affronti quando hai a che fare con questo
questo problema di gestione del debito tecnico così
la seconda parte è onboarding un secondo
grande motivo per cui lo stack si riversa più tardi
sondaggio degli sviluppatori ha chiesto alle persone come
rapidamente si aspettavano nuovi sviluppatori
venire alla velocità e tre quarti di
tutti gli intervistati hanno detto che tre mesi
era il tempo previsto meno di tre
mesi per arrivare alla velocità e
contributo e il 30% degli intervistati ha dichiarato
volevano che i loro sviluppatori fossero all’altezza
velocità in meno di un mese ora, se lo hai
mai lavorato su un grande progetto di grandi dimensioni
sai che può essere una sfida
e una delle parti più grandi di questo
la sfida è quando sei in scadenza
perché il frequente e ovvio
risposta a hey siamo in ritardo con questo
progetto è aggiungere più risorse ma noi
tutti sanno che spesso ha il
effetto opposto che aggiungendo nuovo
risorse in ritardo in un progetto
ciclo che mette uno scarico sul
produttività della squadra e finisci
in realtà andando indietro perché spesso
è troppo lungo per convincere qualcuno a essere un
contributore positivo a breve termine
in realtà sono un contributore negativo
quindi la terza ragione è il fatturato
la conoscenza istituzionale conta perché
che Rockstar hai assunto chi è stato tale
un grande contributo per l’ultima coppia
di anni sta per andare via
la tua squadra e infatti nel software
ingegneria sta diventando un
problema sempre più importante da affrontare
con perché il tempo medio tra
i cambiamenti di lavoro si stanno restringendo c’è a
rapporto fatto da Radford che lo ha scoperto
il software guida tutti i settori con a
tasso di rotazione del fatturato in avvicinamento a 25
percentuale e nel sondaggio StackOverflow
Il 56% degli sviluppatori ha cambiato lavoro
negli ultimi due anni e la mediana
la durata è di soli due anni per il software
ingegneri ed è anche peggio per i più piccoli
aziende con un solo incarico mediano
un anno e mezzo quindi quando assumi
qualcuno che pensi di aver avuto questo fantastico
nuove possibilità di noleggio si mantengono solo
quel dipendente per 18 mesi, quindi pensa
su come ciò si riferisce alla sfida
di onboarding se si sta andando solo
averli nella tua squadra per 18 mesi e
ti bastano quattro o cinque mesi solo per
trasformali in un contributore positivo
tu in realtà si ottiene positivo
contributi per poco più di un anno
quindi diventa ancora più importante
catturare le conoscenze istituzionali
il più possibile mentre quel dipendente è
lavorando per te così quando inevitabilmente
lasciare almeno hai mantenuto come
molte informazioni possibili così l’ultima
ragione che catturando istituzionali
la conoscenza è importante perché tu
non riesco sempre a raggiungere e toccare
qualcuno sulla spalla sempre più
stiamo diventando una forza lavoro remota in
Effettivamente è stato fatto un numero di sondaggi
su questo argomento e uno dei più interessanti
quelli trovati che non offrono lavoro a distanza
è ora la ragione numero uno per le persone
lasciare il loro lavoro e il numero uno e
numero tre motivi per cui le persone
Sep nuovi posti di lavoro sono alla ricerca di nuovi posti di lavoro
sono legati alla flessibilità del telecomando
lavorando sia a tempo pieno remoto o essere
in grado di lavorare a distanza part-time e questo
dura al 79% dei knowledge worker a
almeno un po ‘di lavoro da remoto e oltre la metà
di noi lavorare regolarmente da casa in modo tutto
questa è l’informazione importante
su come affrontare un problema
fissandoci in faccia è l’elefante
nella stanza erano tutti a conoscenza e
ma nessuno ha fatto nulla al riguardo e
questo è il motivo per cui parlo di questo essere il
ultimo graffio la tua storia di prurito
perché quando finalmente ci siamo resi conto di tutto
questi pezzi si adattano insieme questo è ciò che
ci ha dato la motivazione per creare codice
flusso in modo che cosa sono i passaggi in
per risolvere bene questi problemi è così
davvero un processo abbastanza semplice in due fasi
questo è il numero uno che faremo
è facile parlare di codice quando
qualcosa è più facile succede di più
spesso e tutti abbiamo visto questo in
diversi aspetti della nostra vita e tutti se
perdoni una specie di analogia qui se
puoi pensare fino al 2004
2005 quel periodo di tempo nessuno di noi sapeva
che volevamo condividere le foto dei nostri
pranzo con i nostri amici nessuno di noi
fatto che tutti potremmo farlo perché noi
tutte le proprie fotocamere digitali allora e noi
tutti avevano account di posta elettronica in modo tecnico
potresti fare una foto del tuo pranzo
potresti caricare sul tuo laptop o sul tuo
desktop e potresti email ma nessuno di
noi l’abbiamo fatto perché era troppo difficile
troppi passaggi si spera che ciò ricordi
ora dei troppi passaggi di gioco
tutti abbiamo telecamere nelle nostre tasche e
sono tutti collegati ai social network
quindi scattiamo foto e condividiamo tutti i tipi
di cose tutto il tempo e l’unico
la differenza è che è più facile farlo
più facile può avere effetti profondi su come
spesso succede qualcosa quindi immagina un
mondo in cui era super facile parlare
sul codice
così che cosa se era a due passi, invece
di quei 18 cosa se potessi semplicemente
seleziona il codice di cui stai parlando e
scrivi la tua domanda ora siamo tutti molto
familiarità con questo modello in effetti io
l’ ho già menzionato prima se lo hai
usato Google Docs sai quanto è facile
è giusto tutto quello che fai è selezionare il
frase che vuole parlare e si
fai semplicemente clic su Aggiungi commento
cosa succede se Google lo ha portato via e se
Google ha detto no che non vogliamo offrire
quella caratteristica più e al fine di
collaborare su un documento che dovevi
come scrivere un’e-mail o qualcosa di simile
hai dovuto guardare il
il documento apre un’e-mail capisce chi
sta per essere – e poi copia e incolla
l’URL al Google Doc e quindi copia
e incolla la frase che vuoi
cambia e poi scrivi ehi Dave
e George a pagina tre il quarto
paragrafo e sembra ridicolo giusto
eppure questo è ciò che noi come software
gli ingegneri devono fare ogni singolo giorno
quando parliamo di codice in sospeso
quindi rendiamolo più semplice e il secondo
la cosa che dobbiamo fare è che dobbiamo salvare
quelle conversazioni perché quelle sono
conversazioni preziose e piuttosto che
buttare via nel bidone della spazzatura e se
abbiamo trattato quelli con la stessa cura che
abbiamo trattato bene la nostra base di codici
già visto cosa succede quando
usi slack o email o altro
soluzioni si perdono nel flusso
per sempre e non vedrai mai quelli
commenti ancora ma cosa succederebbe se potessimo salvare
quei fili legati per sempre al codice
che si riferiscono a cosa succede se tutti quelli
chattare nelle chat che hai cosa fare se tutto
di quelle conversazioni che hai tutto
quelle discussioni in cui hai deciso perché
ha cambiato la costante da 60
secondi a 120 secondi e quale problema
questo avrebbe risolto se avessimo potuto
catturare tutto ciò e legarlo per sempre
al codice a cui si riferiscono in modo che il
futuro tu che guardi il codice
sei mesi da adesso o un anno da adesso
potrebbe essere ricordato all’istante perché
il cambiamento è stato fatto così con quello sto andando
per cambiare marcia e mostrarti una demo
di ciò che abbiamo costruito ecco sto guardando
un editore chiamato Adam tutti familiari
con Adam scommetto tutto di te
Scommetto che nessuno di voi lo sta usando
più sei passato a vs codice
giusto così e se non lo hai tu probabilmente
citare in giudizio e si dovrebbe verificare vs
codice è piuttosto bello quando siamo prima
ha iniziato a costruire l’aggressione del sito qui
quando abbiamo iniziato a costruire il codice
flusso eravamo okay qualunque cosa o
dovremmo iniziare con la maggior parte di Adam
auditor hacker cominciamo con quello
uno e questo era come nove mesi fa o
qualcosa e c’erano così tante persone
usando Adam abbiamo pensato che sarebbe stato il
ottima prima scelta ma tra allora e
ora come siamo passati attraverso Y Combinator
e ho parlato con oltre un migliaio
diversi team di sviluppo e c’è
uno di loro fuori dai mille dove
l’intero team sta usando Adam così è
tutti si sono spostati verso il codice, quindi forse
non sorprende che abbiamo una versione quattro vs
codice che esce presto ok, ma oggi
abbiamo Adam quindi lascia che ti mostri come
lavori
come per un IDE tipico ho il mio progetto
qui a sinistra dove sto guardando a
particolare get get repo e io sono ho un
file nel mezzo che è il file che sono
modificare così il modo in cui il flusso di codice
funziona solo da un plugin di editor così tu
non è necessario cambiare editor per continuare a utilizzare
l’editore che ami finchè è
Il codice di Adam Revere verrà costruito più tardi
e basta accenderlo si installa
come qualsiasi altro plug-in e poi solo
accendilo con un tasto di scelta rapida per nasconderlo
quando sei quando non lo vuoi lì
pure così sembra e funziona proprio come
un flusso di chat , quindi se hai familiarità con
come funziona il rallentamento o come funziona HipChat
funziona allo stesso modo in modo che tu possa parlare
i tuoi compagni di squadra non puoi menzionarli
puoi condividere i seguenti che puoi condividere
collega tutte quelle caratteristiche le persone che
eri tu chi puoi chi può vedere questo
flusso di chat o esattamente le stesse persone
chi vede questo repository perché ci proviamo
per legare la chat al repository in modo che tu
puoi parlare del tuo codice se ci sono
persone della tua squadra che non vogliono
usare il flusso di codice che è bello perché noi
avere sia l’integrazione lenta che anche
bidirezionale e funziona in entrambe le direzioni
quindi post in coach dream aggiungi post a
allentato e possono rispondere e perdere e
ritorna allo stream del codice stesso con
e-mail quindi se non usi il gioco e tu
preferisci l’email
invieremo un’e-mail e loro inseriranno
Lottie l’importo ritorna nello stesso
con il supporto del team Microsoft
presto, quindi, perché dovremmo usare?
questo invece di una mail slacker bene
spero che ormai tu possa indovinare dove
questa demo sta andando ce la faremo
Super facile parlare di codice, quindi facciamolo
dire che ho una domanda su questo
particolare funzione chiamata spegni
monitoraggio e voglio chiedere bene alla squadra
tutto quello che devo fare è selezionare l’ hit del codice
una chiave e posso scrivere la mia domanda ora tu
può vedere qui potrebbe quindi il mio nome è Peter
pizarra quindi questo è il mio post che puoi vedere
che tutti sapranno esattamente cosa
Sto parlando perché includiamo il
blocco di codice come allegato al
messaggio e noterai anche che se
puoi vedere questo nella parte posteriore
nome collin strikers era automaticamente
a ora menzionato perché ha fatto scorrere il codice a
citato colin attaccante bene è
perché l’allenatore che ha fatto il git a guardare
e ho scoperto che era colin chi
ha scritto quel codice quindi se ce ne sono molti
autori e qualunque blocco di codice i
selezionato Vorrei aggiungere menzionata multipla
la gente così ora non solo sarà più facile
per me a fare la domanda
viene automaticamente instradato verso destra
la persona pensa quindi all’impatto su a
sviluppatore junior qualcuno che è giusto
è entrato nel team e ne ha molti
domande sul codice bene oggi loro
Fondamentalmente ho sfruttato il vantaggio del team
la spalla 15 volte al giorno e ottiene
Davvero fastidioso con qualcosa di simile
flusso di codice la domanda ottiene
automaticamente indirizzato al corretto
sviluppatore a cui è meglio rispondere
domanda e che può essere semplicemente gestita da
una chat sincrona quindi quella è la
esempio più semplice vorrei mostrarvi
qualcosa un po ‘di più
sofisticato in questo caso
Larry sta postando un messaggio alla squadra
quindi Larry è uno sviluppatore senior del nostro
squadra e ha trovato un codice che
lui vuole migliorare e dice che lo sai
quali variabili dovrebbero essere così
tipicamente essere dichiarato come costanti e
include un blocco di codice che rappresenta
il cambiamento che vuole fare ora
Ovviamente Larry avrebbe potuto fare questo cambiamento
lui stesso potrebbe aver appena fatto il
cambiamento commesso lo ha spinto e quello
sarebbe andato bene, ma quello che vuole
fare invece è lui vuole condividere questo
informazioni importanti
tutta la squadra per aumentare tutti i nostri
la conoscenza ci rende tutti più intelligenti su come
scrivere codice migliore e presumibilmente per
questo codice base ora come Larry
creato quel messaggio è esattamente lo stesso
modo in cui ho creato questa domanda che
è anche se Larry ha fatto un cambiamento prima di così
per esempio se aggiungo del nuovo codice allora
Posso solo selezionarlo e commentare su di esso
ed è così che Larry lo ha creato
messaggio ora per me perché sto vedendo
il messaggio che voglio scoprire di più
su questo quindi tutto quello che devo fare è cliccare
su di esso e il flusso di codice mi porterà a
il file giusto mi scorre a destra
posizione all’interno del file selezionare il
blocco di codice a cui si stava riferendo
e dammi la possibilità di agire
su di esso quindi per esempio potrei voler vedere
un diff e quindi posso semplicemente fare clic sul
mostra il pulsante diff e ora ottengo un visual
rappresentazione del codice che ho
nella mia versione e nel locale modificato
versione condivisa da Larry ma posso anche
parla con lui quindi diciamo per
esempio, voglio chiedergli che cosa ho ottenuto
vuoi cambiare, ma perché dovrei farlo
quel cambiamento e Larry può solo rispondere
in tempo reale e se pensi a cosa
abbiamo fatto così lontano senza codice
stream è che questa conversazione lo farà
richiede così tanto attrito probabilmente
non succederebbe mai, ma anche così vorrei ancora
devo tornare indietro e dirlo a Larry sì
questo cambiamento in quel file in questo
repository in questa linea
cosa mi puoi spiegare perché funzioni
ma perché non solo è il contesto
conserva tutto il file ma anche dentro
questa discussione di cui stiamo parlando a
cambiamento specifico che Larry vuole fare
è semplicemente super semplice, quindi Larry’s
mi ha convinto che eviterà a
bug in fondo alla strada così posso andare avanti e
applica questa patch se osservi attentamente
vedrai che ho incorporato il suo
cambia nel mio codice e ne farò parte
il mio prossimo commit così che è quanto è facile
per scambiare snippet di codice che puoi
pensa a molti scenari diversi
dove questo potrebbe essere utile uno di loro
sarebbe ad esempio io sono un junior
sviluppatore e ho incontrato un muro di mattoni
Ho un errore di sintassi e non posso
capirlo bene con il flusso di codice tutto
Devo fare è selezionare quel tipo di codice
qualcuno può aiutare e uno dei miei
i compagni di squadra possono inviarmi una patch su una riga
forse ho avuto due punti invece di a
punto e virgola o qualcosa di sciocco come quello
e faccio clic su Applica patch e ritorno
affari quindi ci sono un certo numero di
diversi scenari in cui è possibile vedere
che solo essere in grado di condividere facilmente
frammenti di codice sarebbero utili e
quindi la grande parte su come
preservare tutta questa conoscenza per sempre
è che potresti aver notato il giusto
a sinistra qui di questo blocco di codice
ci riferivamo a noi abbiamo lasciato un’immagine
un’annotazione di conversazione là e
marcatore di annotazione ora perché è lì
beh, è per il futuro per me
un anno quando torno da oggi e io sono
guardando questo codice e ho dimenticato perché noi
cambiato quelle variabili in costante o
forse sono un nuovo sviluppatore del team
guardando questo codice per la prima volta
e sto cercando di grattarmi la testa e
pensando a questo codice perché funziona
in questo modo posso vedere questa annotazione
marcatore e semplicemente cliccando su di esso che sarà
riportami a quel thread di conversazione
e ricorda quello scambio che Larry e
Ho avuto che ha descritto esattamente il motivo per cui noi
fatto questo cambiamento così questo risale a
questo esempio di quando lo cambi
costante da 60 secondi a 120 è
super facile da documentare semplicemente in chat
e dire selezionare quella parte del codice dire
hey questo è questo è dove stiamo andando
fare un cambiamento è tutto a posto
che il tuo compagno di squadra risponde, vai avanti
e ora sarà per sempre collegato
e cosa c’è di veramente bello nel modo
questo funziona è che questa annotazione
il marcatore rimarrà per sempre legato a quello
blocco di codice anche come nostro codice di anche
anche se il nuovo codice è stato aggiunto sopra anche questo
se questo blocco di codice viene tagliato e incollato
a una parte diversa del file o anche
in un file diverso e funziona ancora
attraverso i rami quindi se Larry per esempio
è su un ramo sono su un diverso
ramo bene lo stesso blocco di codice per
noi potremmo apparire in posti diversi in
il file e il flusso di codice è in grado di
calcola tutto e sincronizza tutto
così con quello che siamo
Mi piacerebbe dare a tutti un
possibilità di fare domande o condividere un
storia su come pensano che parlare
più sul codice potrebbe aiutare il loro
processo di sviluppo e se lo sei
interessato a un’immersione più profonda nel
demo, ovviamente, vieni a vederci nella
sala espositori quindi mi fermerò lì per
tutte le domande che ottieni aiutano a cercare
e quella persona non è più qui no
più a lungo sulla squadra come su come ti muovi
quella domanda a qualcun altro
domanda molto interessante, quindi diciamo per
esempio in questa prima interazione dove
Ho avuto una domanda su questa funzione e
il sistema aggiunge automaticamente menzionato
chiamare attaccante
beh, e se Colin avesse lasciato la squadra in modo tale
delle cose interessanti è quel flusso di codice
ti consente di gestire l’iscrizione così
ci fai sapere le colonne non più
lì e poi si facci sapere che
George ha preso il posto di Colin e così
mapperemo quello che ora George otterrà
@mention invece di chiamare qualsiasi
esempio che Colin sarebbe stato a
menzionato qualsiasi opzione per i plugin vocali
a quelle conversazioni no ma in realtà
una delle cose che siamo veramente
eccitato è con il nostro codice vs quindi no
voce ma è in fondo alla strada
la tabella di marcia ma ciò che alcune persone hanno
chiedo è qualcuno a cui sia familiare
condividere live come qualcuno ha provato un paio
di persone così visive studio e contro codice
ha questa nuova funzionalità chiamata live share
che è essenzialmente come la condivisione dello schermo
per gli sviluppatori ed è davvero fantastico
se non lo hai controllato dovresti
dai un’occhiata a una delle fantastiche funzionalità di
è questo se voglio guardare il lavoro
che stavi facendo, tu lo condividi
con me e il mio editore fondamentalmente riflette
quello che stai guardando ma ci riesco
controllarlo in modo che io possa navigare
il tuo albero sorgente e così tu il tuo
domanda tipo mi ha ricordato quello
il pezzo mancante è che non possiamo
parlano tra loro e quindi siamo abbastanza
eccitato che il 7 maggio se qualcuno
sarò alla conferenza di costruzione in
Seattle saremo sul palco con Microsoft
annunciando la nostra integrazione con live
condividi così puoi
condividere il codice a vicenda e parlare di
con quell’unica domanda attraverso il
app e verrò laggiù con un microfono
hai qualche piano per IntelliJ sì?
quindi la nostra roadmap dei prodotti è molto editor
guidato prima era Adam vs codici in maggio
La famiglia IntelliJ sta per finire
Luglio e poi altri editor nel
seconda metà dell’anno è che è
interessante per noi che siamo sviluppatori se
stavi creando un’app di messaggistica oggi
probabilmente hai bisogno di costruire un iOS
versione una versione Android e un web e
forse una versione desktop così dovresti
gestire come tre o quattro basi di codice per
facciamo che abbiamo un problema simile ma
noi non siamo i nostri clienti o editori
OSS quindi dobbiamo costruire il nostro stream di codice
per un gruppo di editori diversi se
chiunque è un esperto di plug-in IDE
sviluppo
vieni a parlare con me e ne assumiamo uno
più domande qui per voi come gestire
il venditore blocca come gestisci il venditore
dove sono archiviati i dati così i dati sono
in realtà tutto sul tuo portatile in chiaro
testo in modo che si muova crittografato ma quando
è memorizzato sul tuo portatile è in a
sequel come database e leggibile dall’uomo
sai che è possibile interrogare lo si può fare
qualunque cosa tu voglia , salviamo anche il tuo
messaggi nel cloud in modo che quando un nuovo
la persona si unisce alla loro squadra che possono
scarica l’ intera cronologia delle conversazioni
così puoi esportarlo puoi fare qualsiasi cosa
tu vuoi con esso
cool, quindi parla un po ‘di ottenere
cronologia delle revisioni ovviamente il cambiamento
probabilmente le costanti lo faranno
essere perpetuo ma per altri metodi che
andare subire un sacco di refactoring è lì
qualsiasi modo di gestire quando le discussioni
non sono più applicabili a quello che sono
parlando di sì è fantastico
osservazione che tu sai questo
a volte sai che tutti sappiamo come chattare
funziona a volte come se fosse super
prezioso per salvarlo e salvarlo per a
molto tempo ma altre volte è una specie di
come buttare via e così il nostro modello è quello
la chat principale
che è una specie di effimero ma quando
stai parlando di codice che aggiungiamo questi
marcatori di annotazioni che ti ricollegano
a quei fili ma puoi sbloccare un
marcatore di annotazione, nel qual caso ordina
scompare e poi esiste solo dentro
la linea principale è così gentile del flusso di lavoro
sarebbe che se stai facendo il
cambiamento che rende quella discussione no
più applicabile ad esso
allora tu qualsiasi cosa sì esattamente
bene ho avuto di più che è la stessa domanda
ma ho un’altra domanda è questa
in grado di tracciare come rinominare file e
cose del genere perché a volte e
prendi se puoi rinominare un padre ed è
quasi diventa tu sai qualsiasi cosa se
c’era un prima svanisce solo perché
ora è essenzialmente un nuovo file il nostro obiettivo
è essere in grado di tracciare il 100% di tutto il
cose diverse che puoi fare al tuo
codebase e fai tutte le conversazioni
allineare perfettamente a quello che erano
riferendosi a ci sono alcuni estremi
scenari in cui puoi ingannare il nostro
algoritmo se davvero ci provi ma
la rinomina dei file è una delle cose che noi
supporto sostieni come un on-prem
git o non deve essere github in
la nuvola qualsiasi sapore di git funzionerà
perché l’ unica interazione che abbiamo
otterrebbe è qualunque sia il tuo computer
usando il client git sul tuo computer
l’altra domanda che qualche volta ha chiesto
c’è una versione on-prem del nostro
servizio e la risposta è sfortunatamente
no non ancora vedremo se il mercato
lo richiede e se lo fa lo costruiremo
ma penso che il gioco abbia dimostrato che è possibile
creare un servizio di messaggistica senza
on-prem e avere abbastanza successo così
vedremo altre domande
quali sono le capacità di ricerca di
questi voglio cercare indipendentemente dal
codebase oggi non c’è ronzio di ricerca
è una delle funzionalità più richieste
su una mappa stradale, quindi una volta ne prendiamo un po ‘
la copertura editoriale è in cima
la nostra lista delle priorità, la cosa interessante sei tu
sapere se si pensa che cosa si potrebbe fare con
ricerca penso che sia abbastanza carino
concetto di essere in grado di cercare il
discussione attorno al tuo codice e al tuo
base di codice allo stesso tempo, perché lo faremo
risultati di superficie da entrambi perché
a volte potresti ricordare che hai parlato
su una funzione ma non ti ricordi
il nome della funzione e così puoi
ricordalo in questo modo, così vediamo e
anche solo essere in grado di cercare le cose
come commit ID e nomi di filiali e
cose del genere così una vera e propria unificata
ricerca del tuo codice base e il
discussione intorno ad esso una delle cose che
non ha veramente raggiungere nella demo è in
Oltre alla semplice discussione umana in giro
il tuo codice base abbiamo anche intenzione di farlo
integrare con applicazioni di terze parti nel
allo stesso modo che fa qualcosa di simile
Allora perché si vuole fare che bene
la ragione è lenta non lo sa
tutto ciò che riguarda il codice base così per
esempio se hai un processo in
la produzione che muore e stai usando un
strumento di segnalazione degli arresti anomali probabilmente ping allentamento
oggi e vieni avvisato di quello che è
bello ma mettendo una piattaforma di messaggistica
nel tuo IDE bene quando esegue il ping del codice
lo streaming può portarti direttamente alla linea
del file in cui si è arrestato in modo anomalo, quindi è possibile
basta cliccare su di esso e andare proprio lì e
fornisci una cronologia corrente di tua conoscenza
il tuo arresto è correlato alle aree di
il tuo codice che è problematico quindi il nostro
l’obiettivo a lungo termine è essere la messaggistica
piattaforma per il codice base in modo che tu possa
inserisci tutti i tuoi strumenti di sviluppo in esso
e avere una sorta di controllo della missione
vista del tuo codice nello stesso modo in cui
usi il gioco per i non sviluppatori
aziende
Ho avuto una domanda simile
quindi per korkin contestuale questo è veramente
grande
ma per il contesto aziendale di seve sono
usando JIRA e abbiamo preso il numero I
non voglio che il proprietario del mio prodotto lo sappia
sta cambiando
farebbe bene questo, è il nostro piano
essere la piattaforma di messaggistica per
sviluppatori così nella misura in cui abbiamo
estensioni con bene lascia che ti chieda
rispondi a due modi in cui pensiamo di avere dei giurati
integrazione aport Jerry e così sarete in
in grado di come sviluppatore sarete in grado di
interagire con giurato ciò che siamo improbabili
aggiungere mai al flusso di codice è come
strumenti di gestione del progetto come noi no
voglio essere lo strumento per consegnare ogni
aspetto del software che vogliamo concentrare molto
fortemente lo sviluppatore sperimentare la
le persone che scrivono il codice dovrebbero avere strumenti
per rendere più facile parlare di scrittura
codice okay e un’altra domanda quindi noi
anche i file JavaScript ce ne sono sei
migliaia di righe non mi giudicano
quando rifattiamo potremmo effettivamente farlo
più file fuori di loro sì e quando
ciò accade saremmo in grado di prendere
questa conversazione e metterli su quelli
file che sono e solo se eliminiamo il
file originale saremo ancora in grado di
preservare in modo che sia uno di quelli
casi in cui ho detto che potremmo sostenere
se provi a romperlo probabilmente
capiremo uno scenario dove puoi
prova a rompere il modello ma fuori dal
scatola dovrebbe dovrebbe farlo perché
quando tu quando copi, paghi e incolli
quei blocchi di codice nei nuovi file
lo teniamo traccia come parte di un commit così
quello dovrebbe funzionare e io non giudico
hai capito che abbiamo la stessa email
Christy
è tutto quello che viene fatto
all’interno dell’IDE stesso intendo se se
c’è uno sviluppatore di annunci che non sta utilizzando
che gli IDE rovineranno le cose
la risposta la tua domanda stanno andando
rovinare tutto, non lo rovinerebbero
su tutto il monitoraggio è in realtà fatto il
l’ implementazione tecnica è in realtà
una ONG e funziona come un piccolo demone
il tuo computer piuttosto che doverlo
riscrivi quell’implementazione perché
questa è la cosa più difficile di cosa
stiamo consegnando cerchiamo di farlo sembrare
molto semplice nel front-end ma il
algoritmo per tenere traccia di quali conversazioni
puntare a quali parti del codice attraversano
rami e come la vostra base di codice si evolve
è in realtà super-complesso e questo è
scritto in movimento e viene eseguito come un demone su
il tuo computer e in pratica ciò che facciamo
è solo tracciare con ogni messaggio voi
aggiungi allo stream tracciamo tutto il
metadati di cui abbiamo bisogno per essere in grado di
ricreare l’UX intorno così penso
tiene traccia di ciò che era il tuo ID di commit presso
tempo su quale ramo sei su di te
modificato localmente come faresti il log
modificare localmente il file tutto questo
informazioni che dobbiamo essere in grado di
ricreare le cose più tardi così alcuni dicono
un’idea così semplice perché non è nessuno
costruito questo ancora e penso che una volta abbiamo ottenuto
in esso abbiamo capito perché, perché
in realtà è un problema piuttosto difficile da
risolvere
beh, penso che siamo quasi fuori dal tempo
ottimo un minuto sull’orologio quindi se
c’è una domanda davvero importante
qualcuno vuole chiedere altrimenti vi ringrazio
molto Peter fantastico grazie ragazzi
grazie a tutti
[Applausi]
è venuto a parlare di un argomento che è vicino
e caro al mio cuore in un modo codice
stream è l’ultimo graffio tuo
storia di prurito e voglio parlare per lo più no
sul prodotto ma su cosa ci ha portato
per costruire il problema che tutti noi affrontiamo
che sta rendendo più facile parlare
codice e catturare quello istituzionale
conoscenza perché penso che sia
sottovalutato nel software
processo di sviluppo
Penso forse all’ingegneria del software
più di ogni altra industria si basa su
di avere una conoscenza istituzionale
il tuo prodotto di lavoro è incredibilmente
codice difficile da capire che tu sia
non ho familiarità con me continuerò a venire
ritorno a quel tema nel corso di
le chiacchiere quindi se sei il tipo di persona
che può guardare un pezzo di codice
riconoscere immediatamente sapere esattamente come
opere e tutto ciò che su di esso
allora questo discorso non è per te e per te
può andare a far parte di una delle altre tracce ma
se sei un essere umano che richiede tempo
per capire il codice allora speriamo
avere un paio di pepite di informazioni
per te quindi volevo solo iniziare con a
sfondo molto breve su di me e il
squadra lo terrò breve lo prometto
Ho avuto la vera fortuna di lavorare
con lo stesso gruppo di ragazzi da 23 anni
il flusso di codice è in realtà il nostro quarto
avvio insieme ho un po ‘ divertente
storia per quelli di voi che sono simili
in età per me abbiamo appena attraversato Y.
Combinatore che se non ti è familiare
con esso questo programma di incubazione dove
la maggior parte dei bambini e io dico bambini
che hanno partecipato sono come 22 23
quindi avevamo una versione di questa diapositiva per
il nostro demo day pitch, ma abbiamo mentito e noi
disse
insieme perché non volevo sembrare
va tutto bene così chi sono io alto non così
molto io ma noi per le parti rilevanti di
il nostro settore come abbiamo costruito
insieme a costruire società in giro
messaggistica in tempo reale per oltre 20 anni quindi
sentiamo di comprendere questo spazio
molto molto bene e faremo una sorta di
separatamente sono l’amministratore delegato, ma sono anche un
sviluppatore scrivo codice ogni singolo giorno
quindi questo è il motivo per cui dico che questo è il
ultimo graffio o una storia di nicchia
perché qui stiamo parlando
miglioramento delle conoscenze istituzionali
flusso di lavoro intorno alla comunicazione per
gli sviluppatori quindi è come la fusione
delle mie due grandi passioni nella vita
in questo modo ci proponiamo di risolvere ciò che è
forse la parte più dolorosa di
sviluppo del software che è
comunicazione quindi andremo a fare immersioni
in questo problema e staccare il
cipolla un po ‘e prova a guardare tutto il
diversi modi in cui la comunicazione è
difficile e sottoutilizzato all’interno
ingegneria del software quindi oggi sono sicuro
questo parla rospo quasi tutti nel
stanza ogni squadra di sviluppo tiene traccia di ogni
cambia in ogni riga di ogni file in
tutto il tuo albero sorgente fino alla fine
per l’inizio del tempo si pensa di nuovo
molti di noi ne stanno usando bene altri
sistemi di controllo del codice sorgente, ma tutti noi prendiamo
tanta cura per tutti i cambiamenti
la nostra fonte innesca eppure quelli stessi
le squadre stanno prendendo tutte le discussioni
attorno a quel codice che in molti modi
spiega come tutto funzioni ogni domanda
ha chiesto ad ogni discussione ogni suggerimento
e essenzialmente lo buttiamo via dentro
o lento o chiave di posta o qualsiasi altra cosa
usando la comunicazione libera perché quelli
gli strumenti non sono collegati in alcun modo al tuo
albero dei sorgenti è una specie di pazzo se tu
pensaci un altro modo di guardare
questo è
trattiamo il nostro codice sorgente come l’oro e
eppure trattiamo la nostra discussione
codice sorgente come spazzatura e altro
che abbiamo pensato a questo più siamo noi
capito quanto sia grave di questo problema
è per gli sviluppatori è un po ‘come me
usa quello come un figlio bambino ha sempre il
le scarpe peggiori o il barbiere hanno sempre
ha il peggior taglio di capelli in città perché è così
gli ingegneri del software non hanno risolto
questo problema per noi pensi
sul modo in cui funziona Google Documenti
è super facile comunicare su a
documento in Google Documenti che hai appena
selezionando il testo e aggiungendo un commento e
ancora per gli sviluppatori se stai guardando
pezzo di codice non è affatto così facile
quindi tuffiamoci così che cosa vorrei
discutere è uno dei più comuni se non
l’ evento più comune per
sviluppatori mentre stai guardando
codice che non hai familiarità con Let ‘s
dì per esempio questo libro qui sul
Lasciato quindi volevo fare un rapido sondaggio
alza la mano se hai capito
ogni singolo blocco di codice che hai mai
visto nella tua vita
Joey sì, va bene, quindi è un dolore
che ogni Belapur sa molto bene
succede ogni giorno un centinaio di volte a
mille volte al giorno in tutto il tuo
team di sviluppo è un risultato naturale
un registro naturale al cento per cento del modo
lavoriamo infatti se non l’hai visto
il prossimo cartone animato è abbastanza buono per WTS
minuto come misura della qualità del codice ora
Penso che la parte divertente di questo sia accesa
cartoni divertenti ma la parte davvero divertente
è che anche un buon codice ha un certo numero di
WTF intendo solo che le persone non capiscono
che aspetto hanno
è difficile incrociare il codice, persino avere
una parola speciale per quella parola era Brock
inventato per gli informatici per parlare
sulla sfida della comprensione
codice quindi questo è il problema
comprensione del codice ma c’è un punto pari
problema più grande che gli sviluppatori non sono
discutere di codice quasi tutte le volte che loro
potrebbe o dovrebbe e il nostro recente
esperienza a Y commoner ci ha dato il
possibilità di parlare con un migliaio
diversi team di ingegneri del software
ognuno individualmente e abbiamo scoperto
due cose fondamentali numero uno
gli sviluppatori non parlano quasi del codice
abbastanza e quando lo fanno è raramente
conservato in ogni modo significativo per il
il futuro e il numero due sono i due fondamentali
fondazione per la costruzione istituzionale
la conoscenza è crearla prima
posto e poi per preservarlo così questo
ha portato a un’altra grande domanda che abbiamo avuto
perché la discussione in Co è così rara
perché è così raro che in realtà parlare
a vicenda sul codice sorgente, quindi guardiamo
guardò attentamente la domanda e
trovato ciò che pensiamo siano i primi tre
ragioni per cui la ragione numero uno è quella
la maggior parte delle aziende con cui abbiamo parlato ne usano alcune
variazione di un processo agile qualunque
lo chiamano lavoro è diviso in drink
all’inizio di una riunione di pianificazione
la settimana in genere ma poi durante il
settimana
una volta assegnati i compiti più
gli sviluppatori sono a testa bassa su cui lavorare
codice con pochissima interazione con
i loro coetanei e poi alla fine del
Sprint se è una settimana o due settimane
o qualunque sia la tua scelta, Cadence, vieni
è tempo di revisione del codice e tu condividi
il tuo prodotto di lavoro con il resto del tuo
squadra e se hai una buona squadra
processo probabilmente hai una sorta di
revisione del codice in cui tutti guardano a qualsiasi
commenti su di esso, ma diciamo che sei il
team lead e la tua responsabilità è per
la qualità generale del codice sei spesso
di fronte sono sicuro che molti di voi hanno affrontato
questo molte volte ti trovi di fronte a un
decisione non invidiabile da fare alla fine
di quello sprint che è se qualcuno
il lavoro è scadente ma passa QED
si è costretti a decidere di fare Chiedo che
sviluppatore per tornare indietro e aggiustarlo e farlo
è il modo giusto nel qual caso abbiamo
per far scorrere l’orario o accetto questo
codificare nel codice di base e si fondono e
ora so che c’è un ulteriore tecnico
debito che abbiamo appena fatto la base di codice molto
Messier e dovremo tornare indietro
e pulirlo in futuro parleremo
su come evitare questo il secondo
ragione ed è solo uno di cultura questo
è qualcosa che potrebbe cambiare lentamente
ma sicuramente per la maggior parte della mia carriera questo
è il più grande problema che abbiamo sentito
su e si riferiscono al concetto di questo
Codificatore Rockstar il ragazzo che conosce sempre
tutto è un indipendente
cultura di problem-solving ed è grandiosa
per i singoli contributori e
contributi ma non va bene per la squadra
lavoro basato che è la maggior parte di quello che facciamo
infatti in Stack Overflow è il suo massimo
sondaggio recente 40 percento di nuovo
gli sviluppatori si sono descritti come
competere con i loro coetanei no
collaborando con ma in competizione e
ciò che non dissipa fino a quando
sei nel settore per cinque pieni
anni così tutti questi nuovi bambini
il college sta ancora provando a fare uno su ciascuno
altro e nelle nostre interviste quando parliamo
agli sviluppatori in particolare quelli più nuovi
tendono ad evitare di fare domande anche se
quelle domande sono perfettamente valide
sono semplicemente troppo imbarazzati per chiederlo
è davvero quel problema culturale e
numero tre e questo è il grande
questa è la più grande ragione che abbiamo trovato
è che stiamo usando lo strumento sbagliato
collaborare al codice il mio preferito
esempio è questo team di sviluppo che
utilizzato e non sto inventando hanno
fotografato il loro monitor e inviato
a vicenda tramite facebook Messenger
ed è così che hanno collaborato al codice
e così davvero lo sottolineo
manca qualcosa di tutto questo
strumenti che gli sviluppatori usano che abbiamo
parlato con nessuno di loro sa quale codice
non è nessuno di loro
il tuo codice base non abbiamo ancora il
strumenti per rendere tutto questo facile così tutto questo
si traduce in una statistica piuttosto tragica
che è quello secondo lo stack
supera il sondaggio meno del 20% di
Gli sviluppatori che stanno cercando di conoscere
un codebase lo fa attraverso qualsiasi forma di
documentazione fornita dalla società
il cui codebase è così più di quattro
su cinque sviluppatori devono trovarne alcuni
altro modo per farlo in modo torniamo al
questo problema originale e diciamo
si sta guardando pezzo di codice che si
non capisco e tu in realtà vuoi
per fare una domanda che vuoi chiedere
la tua squadra come spiega questo lavoro WTF
a me questo è probabilmente il singolo
la più semplice forma di comunicazione possibile
pensa all’esempio più semplice che io sia
guardando il codice voglio solo chiedere a
domanda diamo abbiamo scoperto che nel
aziende abbiamo parlato con i tre più
modi comuni per scambiare informazioni
sul codice sono al numero uno in linea
Commenti
numero due usando github e numero tre
usando il gioco in ordine crescente di
frequenza così in linea è il github minimo
e poi rilassati e ognuno di questi ha
un problema anche per i commenti in linea
non può avere una conversazione non può chiedere a
domanda in modo da poter documentare come
qualcosa dovrebbe funzionare e poi
devi preoccuparti di restare sincronizzati
ma non puoi chiedere a qualcuno di spiegare
qualcosa per te con un commento in linea
i commenti della richiesta pull di github sono
in realtà abbastanza buono, ma lo lasciano solo
parli del codice di guida Delta così
solo le modifiche quindi alla fine di a
sprint di cosa hai cambiato puoi parlare
che ma per quanto riguarda il resto della tua
codebase se gestisci qualsiasi tipo di
codebase considerevole diciamo che hai
cinque milioni di righe di codice nel tuo
codebase ce ne sono forse cinquecento
quello ha cambiato bene quella settimana e che dire
l’altro quattro punti nove nove nove
milioni di righe di codice e se hai un
domanda su questo e il gioco è cosa
la maggior parte di noi usa oggi per parlare
codice e ha una serie di problemi
che sto per entrare in a
secondo, ma il più grande è che è
effimero
molto rapidamente tutte quelle conversazioni
scomparirà quindi prendiamo in considerazione a
un po ‘e dirò per la cronaca
Adoro lo slack che lo uso ogni giorno è a
gli sviluppatori di grandi prodotti amano il lasco e
per una buona ragione
rende molte cose davvero facili
per parlare, ma se hai mai provato
per parlare di codice all’interno del gioco che puoi
avere familiarità con alcuni di questi passi del
ragione per cui è così difficile da fare per
parlare di slack di codifica non è il gioco lento
sapere qualcosa sulla tua base di codice, quindi se
vuoi solo fare una domanda su a
funzione che stai guardando hai
ricorrere a copia e incolla ma
non è abbastanza perché tu
Devo descrivere il contesto di ciò che tu
stavano guardando così qual era il repository I
era in quello che era il file qual era il
traccia il file quale parte del follow up
il ramo era io e se vuoi chiederlo
la persona giusta, allora devi andare
spostati e vai a prenderlo e prendi la colpa
e scoprire chi è stato che ha scritto quello
codice in modo che tu possa andare @mention il giusto
la persona in attesa quindi se hai dubbi
tutti questi passaggi è in realtà molto
più difficile di quanto si pensi e si scopre
avere 18 o più cose che tu
devo fare solo una semplice domanda
e diciamo che eri disposto a fare
diciamo che sai che stai saltando
attraverso quei 18 cerchi non è troppo
lavoro per te che, a proposito, hai
fare ogni volta che hai un
domanda e hai una risposta, pensa
su quello che è appena successo che hai
qualcosa nel tuo codice che è così poco chiaro
che sei disposto a saltare
cerchi di ottenere la risposta a qualcuno
risponde bene alla tua domanda ora
domanda che rispondere Vivo in questo altro
sistema che è completamente separato dal
la tua base di codice e rapidamente scorre via
la pagina in modo che gli strumenti esistenti spero
Ti ho convinto ormai non lo sono
sufficienti per rendere più facile parlare di
codice in modo che sia il numero uno e poi il
la seconda parte di questo è il perché del perché
importa perché è importante che
manteniamo la conoscenza con il software
ingegneria e si riduce davvero
quattro quattro numeri quindi ti guiderò
attraverso tutti e quattro quindi la prima cosa è
la nostra guerra senza fine con il debito tecnico
ne abbiamo parlato un po ‘
prima ma
la morte e le tasse lo saranno sempre
lì c’è il problema del debito tecnico
spesso peggiorato a causa della difficoltà di
comunicare e la mancanza di
conoscenza dell’istituzione su come il nostro
la base di codice funziona e tutti noi abbiamo un mandato
interesse a rendere questo problema più facile
gestire e mi piacerebbe condividere con voi
una storia personale è successo un paio
anni fa, dove uno degli sviluppatori su
il team ha presentato un nuovo ramo di funzionalità
per una richiesta di pull per un ramo futuro
ha scritto un nuovo codice e lo era
piuttosto aspecifico in termini di come
implementare la soluzione ciò che fondamentalmente
Detto questo c’è questa pagina nel nel
prodotto che assomiglia a questo, mi vogliono
farne un altro farla usare allo stesso modo
widget e lo stesso stile e giusto
fallo fare questo e così sviluppatore
implementato fedelmente la nuova funzionalità
sembrava uguale funzionasse allo stesso modo
tutto sembrava fantastico passato QA PM era
felice e stiamo per fonderlo e
quando ci siamo resi conto che aveva creato un
implementazione completamente parallela di
quelle due pagine in modo che avessero come HTML
widget che erano dropdown e lui solo
riscritto tutti così ora cosa siamo noi
per fare dobbiamo tornare indietro e chiederglielo
per rifare tutto da dove cominciare
zero e questi sono i problemi che
affronti quando hai a che fare con questo
questo problema di gestione del debito tecnico così
la seconda parte è onboarding un secondo
grande motivo per cui lo stack si riversa più tardi
sondaggio degli sviluppatori ha chiesto alle persone come
rapidamente si aspettavano nuovi sviluppatori
venire alla velocità e tre quarti di
tutti gli intervistati hanno detto che tre mesi
era il tempo previsto meno di tre
mesi per arrivare alla velocità e
contributo e il 30% degli intervistati ha dichiarato
volevano che i loro sviluppatori fossero all’altezza
velocità in meno di un mese ora, se lo hai
mai lavorato su un grande progetto di grandi dimensioni
sai che può essere una sfida
e una delle parti più grandi di questo
la sfida è quando sei in scadenza
perché il frequente e ovvio
risposta a hey siamo in ritardo con questo
progetto è aggiungere più risorse ma noi
tutti sanno che spesso ha il
effetto opposto che aggiungendo nuovo
risorse in ritardo in un progetto
ciclo che mette uno scarico sul
produttività della squadra e finisci
in realtà andando indietro perché spesso
è troppo lungo per convincere qualcuno a essere un
contributore positivo a breve termine
in realtà sono un contributore negativo
quindi la terza ragione è il fatturato
la conoscenza istituzionale conta perché
che Rockstar hai assunto chi è stato tale
un grande contributo per l’ultima coppia
di anni sta per andare via
la tua squadra e infatti nel software
ingegneria sta diventando un
problema sempre più importante da affrontare
con perché il tempo medio tra
i cambiamenti di lavoro si stanno restringendo c’è a
rapporto fatto da Radford che lo ha scoperto
il software guida tutti i settori con a
tasso di rotazione del fatturato in avvicinamento a 25
percentuale e nel sondaggio StackOverflow
Il 56% degli sviluppatori ha cambiato lavoro
negli ultimi due anni e la mediana
la durata è di soli due anni per il software
ingegneri ed è anche peggio per i più piccoli
aziende con un solo incarico mediano
un anno e mezzo quindi quando assumi
qualcuno che pensi di aver avuto questo fantastico
nuove possibilità di noleggio si mantengono solo
quel dipendente per 18 mesi, quindi pensa
su come ciò si riferisce alla sfida
di onboarding se si sta andando solo
averli nella tua squadra per 18 mesi e
ti bastano quattro o cinque mesi solo per
trasformali in un contributore positivo
tu in realtà si ottiene positivo
contributi per poco più di un anno
quindi diventa ancora più importante
catturare le conoscenze istituzionali
il più possibile mentre quel dipendente è
lavorando per te così quando inevitabilmente
lasciare almeno hai mantenuto come
molte informazioni possibili così l’ultima
ragione che catturando istituzionali
la conoscenza è importante perché tu
non riesco sempre a raggiungere e toccare
qualcuno sulla spalla sempre più
stiamo diventando una forza lavoro remota in
Effettivamente è stato fatto un numero di sondaggi
su questo argomento e uno dei più interessanti
quelli trovati che non offrono lavoro a distanza
è ora la ragione numero uno per le persone
lasciare il loro lavoro e il numero uno e
numero tre motivi per cui le persone
Sep nuovi posti di lavoro sono alla ricerca di nuovi posti di lavoro
sono legati alla flessibilità del telecomando
lavorando sia a tempo pieno remoto o essere
in grado di lavorare a distanza part-time e questo
dura al 79% dei knowledge worker a
almeno un po ‘di lavoro da remoto e oltre la metà
di noi lavorare regolarmente da casa in modo tutto
questa è l’informazione importante
su come affrontare un problema
fissandoci in faccia è l’elefante
nella stanza erano tutti a conoscenza e
ma nessuno ha fatto nulla al riguardo e
questo è il motivo per cui parlo di questo essere il
ultimo graffio la tua storia di prurito
perché quando finalmente ci siamo resi conto di tutto
questi pezzi si adattano insieme questo è ciò che
ci ha dato la motivazione per creare codice
flusso in modo che cosa sono i passaggi in
per risolvere bene questi problemi è così
davvero un processo abbastanza semplice in due fasi
questo è il numero uno che faremo
è facile parlare di codice quando
qualcosa è più facile succede di più
spesso e tutti abbiamo visto questo in
diversi aspetti della nostra vita e tutti se
perdoni una specie di analogia qui se
puoi pensare fino al 2004
2005 quel periodo di tempo nessuno di noi sapeva
che volevamo condividere le foto dei nostri
pranzo con i nostri amici nessuno di noi
fatto che tutti potremmo farlo perché noi
tutte le proprie fotocamere digitali allora e noi
tutti avevano account di posta elettronica in modo tecnico
potresti fare una foto del tuo pranzo
potresti caricare sul tuo laptop o sul tuo
desktop e potresti email ma nessuno di
noi l’abbiamo fatto perché era troppo difficile
troppi passaggi si spera che ciò ricordi
ora dei troppi passaggi di gioco
tutti abbiamo telecamere nelle nostre tasche e
sono tutti collegati ai social network
quindi scattiamo foto e condividiamo tutti i tipi
di cose tutto il tempo e l’unico
la differenza è che è più facile farlo
più facile può avere effetti profondi su come
spesso succede qualcosa quindi immagina un
mondo in cui era super facile parlare
sul codice
così che cosa se era a due passi, invece
di quei 18 cosa se potessi semplicemente
seleziona il codice di cui stai parlando e
scrivi la tua domanda ora siamo tutti molto
familiarità con questo modello in effetti io
l’ ho già menzionato prima se lo hai
usato Google Docs sai quanto è facile
è giusto tutto quello che fai è selezionare il
frase che vuole parlare e si
fai semplicemente clic su Aggiungi commento
cosa succede se Google lo ha portato via e se
Google ha detto no che non vogliamo offrire
quella caratteristica più e al fine di
collaborare su un documento che dovevi
come scrivere un’e-mail o qualcosa di simile
hai dovuto guardare il
il documento apre un’e-mail capisce chi
sta per essere – e poi copia e incolla
l’URL al Google Doc e quindi copia
e incolla la frase che vuoi
cambia e poi scrivi ehi Dave
e George a pagina tre il quarto
paragrafo e sembra ridicolo giusto
eppure questo è ciò che noi come software
gli ingegneri devono fare ogni singolo giorno
quando parliamo di codice in sospeso
quindi rendiamolo più semplice e il secondo
la cosa che dobbiamo fare è che dobbiamo salvare
quelle conversazioni perché quelle sono
conversazioni preziose e piuttosto che
buttare via nel bidone della spazzatura e se
abbiamo trattato quelli con la stessa cura che
abbiamo trattato bene la nostra base di codici
già visto cosa succede quando
usi slack o email o altro
soluzioni si perdono nel flusso
per sempre e non vedrai mai quelli
commenti ancora ma cosa succederebbe se potessimo salvare
quei fili legati per sempre al codice
che si riferiscono a cosa succede se tutti quelli
chattare nelle chat che hai cosa fare se tutto
di quelle conversazioni che hai tutto
quelle discussioni in cui hai deciso perché
ha cambiato la costante da 60
secondi a 120 secondi e quale problema
questo avrebbe risolto se avessimo potuto
catturare tutto ciò e legarlo per sempre
al codice a cui si riferiscono in modo che il
futuro tu che guardi il codice
sei mesi da adesso o un anno da adesso
potrebbe essere ricordato all’istante perché
il cambiamento è stato fatto così con quello sto andando
per cambiare marcia e mostrarti una demo
di ciò che abbiamo costruito ecco sto guardando
un editore chiamato Adam tutti familiari
con Adam scommetto tutto di te
Scommetto che nessuno di voi lo sta usando
più sei passato a vs codice
giusto così e se non lo hai tu probabilmente
citare in giudizio e si dovrebbe verificare vs
codice è piuttosto bello quando siamo prima
ha iniziato a costruire l’aggressione del sito qui
quando abbiamo iniziato a costruire il codice
flusso eravamo okay qualunque cosa o
dovremmo iniziare con la maggior parte di Adam
auditor hacker cominciamo con quello
uno e questo era come nove mesi fa o
qualcosa e c’erano così tante persone
usando Adam abbiamo pensato che sarebbe stato il
ottima prima scelta ma tra allora e
ora come siamo passati attraverso Y Combinator
e ho parlato con oltre un migliaio
diversi team di sviluppo e c’è
uno di loro fuori dai mille dove
l’intero team sta usando Adam così è
tutti si sono spostati verso il codice, quindi forse
non sorprende che abbiamo una versione quattro vs
codice che esce presto ok, ma oggi
abbiamo Adam quindi lascia che ti mostri come
lavori
come per un IDE tipico ho il mio progetto
qui a sinistra dove sto guardando a
particolare get get repo e io sono ho un
file nel mezzo che è il file che sono
modificare così il modo in cui il flusso di codice
funziona solo da un plugin di editor così tu
non è necessario cambiare editor per continuare a utilizzare
l’editore che ami finchè è
Il codice di Adam Revere verrà costruito più tardi
e basta accenderlo si installa
come qualsiasi altro plug-in e poi solo
accendilo con un tasto di scelta rapida per nasconderlo
quando sei quando non lo vuoi lì
pure così sembra e funziona proprio come
un flusso di chat , quindi se hai familiarità con
come funziona il rallentamento o come funziona HipChat
funziona allo stesso modo in modo che tu possa parlare
i tuoi compagni di squadra non puoi menzionarli
puoi condividere i seguenti che puoi condividere
collega tutte quelle caratteristiche le persone che
eri tu chi puoi chi può vedere questo
flusso di chat o esattamente le stesse persone
chi vede questo repository perché ci proviamo
per legare la chat al repository in modo che tu
puoi parlare del tuo codice se ci sono
persone della tua squadra che non vogliono
usare il flusso di codice che è bello perché noi
avere sia l’integrazione lenta che anche
bidirezionale e funziona in entrambe le direzioni
quindi post in coach dream aggiungi post a
allentato e possono rispondere e perdere e
ritorna allo stream del codice stesso con
e-mail quindi se non usi il gioco e tu
preferisci l’email
invieremo un’e-mail e loro inseriranno
Lottie l’importo ritorna nello stesso
con il supporto del team Microsoft
presto, quindi, perché dovremmo usare?
questo invece di una mail slacker bene
spero che ormai tu possa indovinare dove
questa demo sta andando ce la faremo
Super facile parlare di codice, quindi facciamolo
dire che ho una domanda su questo
particolare funzione chiamata spegni
monitoraggio e voglio chiedere bene alla squadra
tutto quello che devo fare è selezionare l’ hit del codice
una chiave e posso scrivere la mia domanda ora tu
può vedere qui potrebbe quindi il mio nome è Peter
pizarra quindi questo è il mio post che puoi vedere
che tutti sapranno esattamente cosa
Sto parlando perché includiamo il
blocco di codice come allegato al
messaggio e noterai anche che se
puoi vedere questo nella parte posteriore
nome collin strikers era automaticamente
a ora menzionato perché ha fatto scorrere il codice a
citato colin attaccante bene è
perché l’allenatore che ha fatto il git a guardare
e ho scoperto che era colin chi
ha scritto quel codice quindi se ce ne sono molti
autori e qualunque blocco di codice i
selezionato Vorrei aggiungere menzionata multipla
la gente così ora non solo sarà più facile
per me a fare la domanda
viene automaticamente instradato verso destra
la persona pensa quindi all’impatto su a
sviluppatore junior qualcuno che è giusto
è entrato nel team e ne ha molti
domande sul codice bene oggi loro
Fondamentalmente ho sfruttato il vantaggio del team
la spalla 15 volte al giorno e ottiene
Davvero fastidioso con qualcosa di simile
flusso di codice la domanda ottiene
automaticamente indirizzato al corretto
sviluppatore a cui è meglio rispondere
domanda e che può essere semplicemente gestita da
una chat sincrona quindi quella è la
esempio più semplice vorrei mostrarvi
qualcosa un po ‘di più
sofisticato in questo caso
Larry sta postando un messaggio alla squadra
quindi Larry è uno sviluppatore senior del nostro
squadra e ha trovato un codice che
lui vuole migliorare e dice che lo sai
quali variabili dovrebbero essere così
tipicamente essere dichiarato come costanti e
include un blocco di codice che rappresenta
il cambiamento che vuole fare ora
Ovviamente Larry avrebbe potuto fare questo cambiamento
lui stesso potrebbe aver appena fatto il
cambiamento commesso lo ha spinto e quello
sarebbe andato bene, ma quello che vuole
fare invece è lui vuole condividere questo
informazioni importanti
tutta la squadra per aumentare tutti i nostri
la conoscenza ci rende tutti più intelligenti su come
scrivere codice migliore e presumibilmente per
questo codice base ora come Larry
creato quel messaggio è esattamente lo stesso
modo in cui ho creato questa domanda che
è anche se Larry ha fatto un cambiamento prima di così
per esempio se aggiungo del nuovo codice allora
Posso solo selezionarlo e commentare su di esso
ed è così che Larry lo ha creato
messaggio ora per me perché sto vedendo
il messaggio che voglio scoprire di più
su questo quindi tutto quello che devo fare è cliccare
su di esso e il flusso di codice mi porterà a
il file giusto mi scorre a destra
posizione all’interno del file selezionare il
blocco di codice a cui si stava riferendo
e dammi la possibilità di agire
su di esso quindi per esempio potrei voler vedere
un diff e quindi posso semplicemente fare clic sul
mostra il pulsante diff e ora ottengo un visual
rappresentazione del codice che ho
nella mia versione e nel locale modificato
versione condivisa da Larry ma posso anche
parla con lui quindi diciamo per
esempio, voglio chiedergli che cosa ho ottenuto
vuoi cambiare, ma perché dovrei farlo
quel cambiamento e Larry può solo rispondere
in tempo reale e se pensi a cosa
abbiamo fatto così lontano senza codice
stream è che questa conversazione lo farà
richiede così tanto attrito probabilmente
non succederebbe mai, ma anche così vorrei ancora
devo tornare indietro e dirlo a Larry sì
questo cambiamento in quel file in questo
repository in questa linea
cosa mi puoi spiegare perché funzioni
ma perché non solo è il contesto
conserva tutto il file ma anche dentro
questa discussione di cui stiamo parlando a
cambiamento specifico che Larry vuole fare
è semplicemente super semplice, quindi Larry’s
mi ha convinto che eviterà a
bug in fondo alla strada così posso andare avanti e
applica questa patch se osservi attentamente
vedrai che ho incorporato il suo
cambia nel mio codice e ne farò parte
il mio prossimo commit così che è quanto è facile
per scambiare snippet di codice che puoi
pensa a molti scenari diversi
dove questo potrebbe essere utile uno di loro
sarebbe ad esempio io sono un junior
sviluppatore e ho incontrato un muro di mattoni
Ho un errore di sintassi e non posso
capirlo bene con il flusso di codice tutto
Devo fare è selezionare quel tipo di codice
qualcuno può aiutare e uno dei miei
i compagni di squadra possono inviarmi una patch su una riga
forse ho avuto due punti invece di a
punto e virgola o qualcosa di sciocco come quello
e faccio clic su Applica patch e ritorno
affari quindi ci sono un certo numero di
diversi scenari in cui è possibile vedere
che solo essere in grado di condividere facilmente
frammenti di codice sarebbero utili e
quindi la grande parte su come
preservare tutta questa conoscenza per sempre
è che potresti aver notato il giusto
a sinistra qui di questo blocco di codice
ci riferivamo a noi abbiamo lasciato un’immagine
un’annotazione di conversazione là e
marcatore di annotazione ora perché è lì
beh, è per il futuro per me
un anno quando torno da oggi e io sono
guardando questo codice e ho dimenticato perché noi
cambiato quelle variabili in costante o
forse sono un nuovo sviluppatore del team
guardando questo codice per la prima volta
e sto cercando di grattarmi la testa e
pensando a questo codice perché funziona
in questo modo posso vedere questa annotazione
marcatore e semplicemente cliccando su di esso che sarà
riportami a quel thread di conversazione
e ricorda quello scambio che Larry e
Ho avuto che ha descritto esattamente il motivo per cui noi
fatto questo cambiamento così questo risale a
questo esempio di quando lo cambi
costante da 60 secondi a 120 è
super facile da documentare semplicemente in chat
e dire selezionare quella parte del codice dire
hey questo è questo è dove stiamo andando
fare un cambiamento è tutto a posto
che il tuo compagno di squadra risponde, vai avanti
e ora sarà per sempre collegato
e cosa c’è di veramente bello nel modo
questo funziona è che questa annotazione
il marcatore rimarrà per sempre legato a quello
blocco di codice anche come nostro codice di anche
anche se il nuovo codice è stato aggiunto sopra anche questo
se questo blocco di codice viene tagliato e incollato
a una parte diversa del file o anche
in un file diverso e funziona ancora
attraverso i rami quindi se Larry per esempio
è su un ramo sono su un diverso
ramo bene lo stesso blocco di codice per
noi potremmo apparire in posti diversi in
il file e il flusso di codice è in grado di
calcola tutto e sincronizza tutto
così con quello che siamo
Mi piacerebbe dare a tutti un
possibilità di fare domande o condividere un
storia su come pensano che parlare
più sul codice potrebbe aiutare il loro
processo di sviluppo e se lo sei
interessato a un’immersione più profonda nel
demo, ovviamente, vieni a vederci nella
sala espositori quindi mi fermerò lì per
tutte le domande che ottieni aiutano a cercare
e quella persona non è più qui no
più a lungo sulla squadra come su come ti muovi
quella domanda a qualcun altro
domanda molto interessante, quindi diciamo per
esempio in questa prima interazione dove
Ho avuto una domanda su questa funzione e
il sistema aggiunge automaticamente menzionato
chiamare attaccante
beh, e se Colin avesse lasciato la squadra in modo tale
delle cose interessanti è quel flusso di codice
ti consente di gestire l’iscrizione così
ci fai sapere le colonne non più
lì e poi si facci sapere che
George ha preso il posto di Colin e così
mapperemo quello che ora George otterrà
@mention invece di chiamare qualsiasi
esempio che Colin sarebbe stato a
menzionato qualsiasi opzione per i plugin vocali
a quelle conversazioni no ma in realtà
una delle cose che siamo veramente
eccitato è con il nostro codice vs quindi no
voce ma è in fondo alla strada
la tabella di marcia ma ciò che alcune persone hanno
chiedo è qualcuno a cui sia familiare
condividere live come qualcuno ha provato un paio
di persone così visive studio e contro codice
ha questa nuova funzionalità chiamata live share
che è essenzialmente come la condivisione dello schermo
per gli sviluppatori ed è davvero fantastico
se non lo hai controllato dovresti
dai un’occhiata a una delle fantastiche funzionalità di
è questo se voglio guardare il lavoro
che stavi facendo, tu lo condividi
con me e il mio editore fondamentalmente riflette
quello che stai guardando ma ci riesco
controllarlo in modo che io possa navigare
il tuo albero sorgente e così tu il tuo
domanda tipo mi ha ricordato quello
il pezzo mancante è che non possiamo
parlano tra loro e quindi siamo abbastanza
eccitato che il 7 maggio se qualcuno
sarò alla conferenza di costruzione in
Seattle saremo sul palco con Microsoft
annunciando la nostra integrazione con live
condividi così puoi
condividere il codice a vicenda e parlare di
con quell’unica domanda attraverso il
app e verrò laggiù con un microfono
hai qualche piano per IntelliJ sì?
quindi la nostra roadmap dei prodotti è molto editor
guidato prima era Adam vs codici in maggio
La famiglia IntelliJ sta per finire
Luglio e poi altri editor nel
seconda metà dell’anno è che è
interessante per noi che siamo sviluppatori se
stavi creando un’app di messaggistica oggi
probabilmente hai bisogno di costruire un iOS
versione una versione Android e un web e
forse una versione desktop così dovresti
gestire come tre o quattro basi di codice per
facciamo che abbiamo un problema simile ma
noi non siamo i nostri clienti o editori
OSS quindi dobbiamo costruire il nostro stream di codice
per un gruppo di editori diversi se
chiunque è un esperto di plug-in IDE
sviluppo
vieni a parlare con me e ne assumiamo uno
più domande qui per voi come gestire
il venditore blocca come gestisci il venditore
dove sono archiviati i dati così i dati sono
in realtà tutto sul tuo portatile in chiaro
testo in modo che si muova crittografato ma quando
è memorizzato sul tuo portatile è in a
sequel come database e leggibile dall’uomo
sai che è possibile interrogare lo si può fare
qualunque cosa tu voglia , salviamo anche il tuo
messaggi nel cloud in modo che quando un nuovo
la persona si unisce alla loro squadra che possono
scarica l’ intera cronologia delle conversazioni
così puoi esportarlo puoi fare qualsiasi cosa
tu vuoi con esso
cool, quindi parla un po ‘di ottenere
cronologia delle revisioni ovviamente il cambiamento
probabilmente le costanti lo faranno
essere perpetuo ma per altri metodi che
andare subire un sacco di refactoring è lì
qualsiasi modo di gestire quando le discussioni
non sono più applicabili a quello che sono
parlando di sì è fantastico
osservazione che tu sai questo
a volte sai che tutti sappiamo come chattare
funziona a volte come se fosse super
prezioso per salvarlo e salvarlo per a
molto tempo ma altre volte è una specie di
come buttare via e così il nostro modello è quello
la chat principale
che è una specie di effimero ma quando
stai parlando di codice che aggiungiamo questi
marcatori di annotazioni che ti ricollegano
a quei fili ma puoi sbloccare un
marcatore di annotazione, nel qual caso ordina
scompare e poi esiste solo dentro
la linea principale è così gentile del flusso di lavoro
sarebbe che se stai facendo il
cambiamento che rende quella discussione no
più applicabile ad esso
allora tu qualsiasi cosa sì esattamente
bene ho avuto di più che è la stessa domanda
ma ho un’altra domanda è questa
in grado di tracciare come rinominare file e
cose del genere perché a volte e
prendi se puoi rinominare un padre ed è
quasi diventa tu sai qualsiasi cosa se
c’era un prima svanisce solo perché
ora è essenzialmente un nuovo file il nostro obiettivo
è essere in grado di tracciare il 100% di tutto il
cose diverse che puoi fare al tuo
codebase e fai tutte le conversazioni
allineare perfettamente a quello che erano
riferendosi a ci sono alcuni estremi
scenari in cui puoi ingannare il nostro
algoritmo se davvero ci provi ma
la rinomina dei file è una delle cose che noi
supporto sostieni come un on-prem
git o non deve essere github in
la nuvola qualsiasi sapore di git funzionerà
perché l’ unica interazione che abbiamo
otterrebbe è qualunque sia il tuo computer
usando il client git sul tuo computer
l’altra domanda che qualche volta ha chiesto
c’è una versione on-prem del nostro
servizio e la risposta è sfortunatamente
no non ancora vedremo se il mercato
lo richiede e se lo fa lo costruiremo
ma penso che il gioco abbia dimostrato che è possibile
creare un servizio di messaggistica senza
on-prem e avere abbastanza successo così
vedremo altre domande
quali sono le capacità di ricerca di
questi voglio cercare indipendentemente dal
codebase oggi non c’è ronzio di ricerca
è una delle funzionalità più richieste
su una mappa stradale, quindi una volta ne prendiamo un po ‘
la copertura editoriale è in cima
la nostra lista delle priorità, la cosa interessante sei tu
sapere se si pensa che cosa si potrebbe fare con
ricerca penso che sia abbastanza carino
concetto di essere in grado di cercare il
discussione attorno al tuo codice e al tuo
base di codice allo stesso tempo, perché lo faremo
risultati di superficie da entrambi perché
a volte potresti ricordare che hai parlato
su una funzione ma non ti ricordi
il nome della funzione e così puoi
ricordalo in questo modo, così vediamo e
anche solo essere in grado di cercare le cose
come commit ID e nomi di filiali e
cose del genere così una vera e propria unificata
ricerca del tuo codice base e il
discussione intorno ad esso una delle cose che
non ha veramente raggiungere nella demo è in
Oltre alla semplice discussione umana in giro
il tuo codice base abbiamo anche intenzione di farlo
integrare con applicazioni di terze parti nel
allo stesso modo che fa qualcosa di simile
Allora perché si vuole fare che bene
la ragione è lenta non lo sa
tutto ciò che riguarda il codice base così per
esempio se hai un processo in
la produzione che muore e stai usando un
strumento di segnalazione degli arresti anomali probabilmente ping allentamento
oggi e vieni avvisato di quello che è
bello ma mettendo una piattaforma di messaggistica
nel tuo IDE bene quando esegue il ping del codice
lo streaming può portarti direttamente alla linea
del file in cui si è arrestato in modo anomalo, quindi è possibile
basta cliccare su di esso e andare proprio lì e
fornisci una cronologia corrente di tua conoscenza
il tuo arresto è correlato alle aree di
il tuo codice che è problematico quindi il nostro
l’obiettivo a lungo termine è essere la messaggistica
piattaforma per il codice base in modo che tu possa
inserisci tutti i tuoi strumenti di sviluppo in esso
e avere una sorta di controllo della missione
vista del tuo codice nello stesso modo in cui
usi il gioco per i non sviluppatori
aziende
Ho avuto una domanda simile
quindi per korkin contestuale questo è veramente
grande
ma per il contesto aziendale di seve sono
usando JIRA e abbiamo preso il numero I
non voglio che il proprietario del mio prodotto lo sappia
sta cambiando
farebbe bene questo, è il nostro piano
essere la piattaforma di messaggistica per
sviluppatori così nella misura in cui abbiamo
estensioni con bene lascia che ti chieda
rispondi a due modi in cui pensiamo di avere dei giurati
integrazione aport Jerry e così sarete in
in grado di come sviluppatore sarete in grado di
interagire con giurato ciò che siamo improbabili
aggiungere mai al flusso di codice è come
strumenti di gestione del progetto come noi no
voglio essere lo strumento per consegnare ogni
aspetto del software che vogliamo concentrare molto
fortemente lo sviluppatore sperimentare la
le persone che scrivono il codice dovrebbero avere strumenti
per rendere più facile parlare di scrittura
codice okay e un’altra domanda quindi noi
anche i file JavaScript ce ne sono sei
migliaia di righe non mi giudicano
quando rifattiamo potremmo effettivamente farlo
più file fuori di loro sì e quando
ciò accade saremmo in grado di prendere
questa conversazione e metterli su quelli
file che sono e solo se eliminiamo il
file originale saremo ancora in grado di
preservare in modo che sia uno di quelli
casi in cui ho detto che potremmo sostenere
se provi a romperlo probabilmente
capiremo uno scenario dove puoi
prova a rompere il modello ma fuori dal
scatola dovrebbe dovrebbe farlo perché
quando tu quando copi, paghi e incolli
quei blocchi di codice nei nuovi file
lo teniamo traccia come parte di un commit così
quello dovrebbe funzionare e io non giudico
hai capito che abbiamo la stessa email
Christy
è tutto quello che viene fatto
all’interno dell’IDE stesso intendo se se
c’è uno sviluppatore di annunci che non sta utilizzando
che gli IDE rovineranno le cose
la risposta la tua domanda stanno andando
rovinare tutto, non lo rovinerebbero
su tutto il monitoraggio è in realtà fatto il
l’ implementazione tecnica è in realtà
una ONG e funziona come un piccolo demone
il tuo computer piuttosto che doverlo
riscrivi quell’implementazione perché
questa è la cosa più difficile di cosa
stiamo consegnando cerchiamo di farlo sembrare
molto semplice nel front-end ma il
algoritmo per tenere traccia di quali conversazioni
puntare a quali parti del codice attraversano
rami e come la vostra base di codice si evolve
è in realtà super-complesso e questo è
scritto in movimento e viene eseguito come un demone su
il tuo computer e in pratica ciò che facciamo
è solo tracciare con ogni messaggio voi
aggiungi allo stream tracciamo tutto il
metadati di cui abbiamo bisogno per essere in grado di
ricreare l’UX intorno così penso
tiene traccia di ciò che era il tuo ID di commit presso
tempo su quale ramo sei su di te
modificato localmente come faresti il log
modificare localmente il file tutto questo
informazioni che dobbiamo essere in grado di
ricreare le cose più tardi così alcuni dicono
un’idea così semplice perché non è nessuno
costruito questo ancora e penso che una volta abbiamo ottenuto
in esso abbiamo capito perché, perché
in realtà è un problema piuttosto difficile da
risolvere
beh, penso che siamo quasi fuori dal tempo
ottimo un minuto sull’orologio quindi se
c’è una domanda davvero importante
qualcuno vuole chiedere altrimenti vi ringrazio
molto Peter fantastico grazie ragazzi
grazie a tutti
[Applausi]
Please follow and like us: