The Codest Kärnvärde #1
The Codest tror på fyra viktiga värden som är kärnan i alla åtgärder som vidtas av The Codest-team. I den här artikeln förklarar vår CEO och medgrundare, Greg Polec, vad...
Hej och varmt välkomna till det andra avsnittet i vår TheCodesReview-serie. Den här veckan har vi fokuserat på kvalitet i mjukvaruutvecklingsprojekt, vikten av frontend-arkitektur och övergången från teknisk till operativ ledare och vad som krävs i fjärrinstallationstiderna på exemplet Dailymotion.
Tips om refaktorisering för att förbättra kvaliteten.
Varför är frontend-arkitekturen viktig och hur gör man den skalbar och underhållbar?
Övergång från CTO till en COO-roll i en teknikorganisation.
Om du är intresserad av att gå från att vara en teknikledare till en operativ roll kan du fördjupa dig i de ytterligare resurser som finns länkade längst ner i inlägget.
Kommentarerna om refaktorisering och arkitektur den här veckan levereras av våra Ruby- och React-ingenjörer.
Refaktorisering kod har alltid varit oerhört populärt, men det är inte alla som vet hur man gör det på ett bra sätt och när det är en bra tidpunkt att göra det. Jag har sett många försök att göra refaktorisering som slutade med misslyckande (särskilt i produktion, vilket inte är en sak att vara stolt över). Att lära sig tips från den nämnda artikeln kan hjälpa många programmerare att förbättra sina viktiga refaktoriseringsfärdigheter.
Det främsta tipset från artikeln är "förstå koden", vilket alltid är det första på min checklista som ska göras innan refaktorisering. Du kommer inte att skapa bättre kod om du inte vet vad den nuvarande koden gör. Att förstå rörig kod kan vara ansträngande, men det är det pris du måste betala för att förbättra din kodbas. Ändå är avkastningen från denna investering hög och det kommer att löna sig.
Nästa tips som är värt att nämna är att "testa tidigt och ofta", vilket inte bara kan tillämpas i refaktoriseringssammanhang utan även i utvecklarnas dagliga arbete. Ämnet testning är enormt. Det handlar inte bara om att lära sig syntaxen för hur man skriver tester, utan man måste också skilja på olika typer av tester. För att lära dig mer om testning rekommenderar jag att du bekantar dig med testpyramiden och sedan lär dig mer om skillnaderna mellan klassiska skolor och Londonskolor.
Sammanfattningsvis fokuserar artikeln på lokal refaktorisering, vilket är bra och kan förbättra programmerarnas tillfredsställelse med sitt arbete. Men för att skapa en förstklassig applikation på arkitekturnivå måste du gå utöver omfattningen av den här artikeln och lära dig mer om frågor relaterade till applikationsarkitektur. Detta kan hjälpa dig att börja avsluta en oändlig resa och det är vad jag önskar er alla, inklusive mig själv.
Hur uppnår man en mer skalbar och underhållbar arkitektur?
Rätt sätt att strukturera din app baserat på MVVM-arkitektur?
Hur undviker du extra arbete när din app växer?
Förmodligen har alla under sin karriär stött på ett fall där dålig arkitektur avsevärt förlängde den tid som behövdes för att slutföra en uppgift. Röriga mappar, inkonsekvent namngivning av filer eller kataloger kan sabotera projekt redan från början.
Författaren till artikeln visar tydligt fördelarna med att välja rätt metod för projektstrukturen. Börjar med skapa-react-app och inspirerad av MVVM-arkitekturen, visar han fördelarna med sin lösning mycket exakt. Han utgår från den grundläggande konfigurationen och går igenom varje mapp samtidigt som han förklarar från fall till fall varför han anser att detta tillvägagångssätt är lämpligt. Själva tillvägagångssättet verkar ganska komplicerat och förmodligen onödigt till en början när projektet befinner sig i ett tidigt skede, men låt oss komma ihåg att införandet av lämpliga regler från början hjälper oss att undvika tidskrävande omstrukturer när vi utökar projektet med nya komponenter och funktioner. En korrekt vald projektstruktur gör det också möjligt för nya projektmedlemmar att enkelt förvärva komponenter och tjänster. Låt oss inte glömma att alla sätt att strukturera inte passar perfekt i alla projekt.
Från min sida skulle jag vilja lägga till grundregeln att det är meningslöst att välja den optimala arkitekturen för projektet om inte varje besättningsmedlem följer de fastställda reglerna.
Läs mer om detta: Hur kan man förbättra Vue.js-appar? Några praktiska tips
Att gå från CTO till COO.
Arbeta i en miljö helt på distans. Hur man behåller Team energisk och engagerad.
Tillit till data kontra magkänsla.
I det 236 avsnittet av Modern CTO pratar Joel med Dailymotions COO Guillaume Clement. Dailymotion har ett uppdrag att vara en meningsfull och näringsrik plattform för videoinnehåll bland ett antal plattformar som är rent underhållningsorienterade och tjänar syftet med "video snabbmat". För att uppnå detta i en verksamhet som är starkt driven av algoritmer och datavetenskaplig teknik, måste man fatta svåra beslut baserade på magkänsla i förhållande till vad data säger.
Det typiskt korrekta måttet för videoplattformar, media och Adtech företag eftersom "spenderad tid" inte är den självklara KPI:n att arbeta med om du verkligen strävar efter att leverera meningsfullt innehåll till dina användare, och inte bara vill hålla deras uppmärksamhet framför skärmen så länge som möjligt. Referensen till dokumentären "The Social Dilemma" på Netflix är oundviklig. Guillaume har också nyligen bytt från en CTO-roll till en COO-roll i företaget, vilket innebär nya utmaningar inom verksamhet och personalhantering. Utmaningen är ännu mer krävande under pandemin när distansupplägget är ett test för ledare att hålla teamen engagerade och tankesättet på hög nivå. Det är viktigt att tillgodose de individuella behoven hos medarbetare som är mer sociala eller mer introverta, och att ha en begränsad mängd kontorsmingel tillgängligt för dem som behöver en regelbunden kick för att komma igång.