Verktygen som gör vardagen enklare för utvecklare

2020-01-13

Alla programmerare har ett antal verktyg som dom använder regelbundet och som gör att dom kan jobba effektivt och komma in ett bra flow. Vissa verktyg är så smarta och kraftfulla att du vill visa dom för alla du känner och använda dom till allt och lite till. Men oavsett hur mycket du gillar ett verktyg kan det vara bra att utvärdera alternativen ibland, för som bekant ser allt ut som spikar när du har en hammare. För att ta reda på vilka era favoritverktyg är genomförde vi nyligen en undersökning och här kommer en sammanfattning av resultatet.

Webben och API:er

Med tanke på att webben och API:er mer eller mindre har tagit över världen, så det är inte konstigt att API-verktyget Postman fick många röster i vår undersökning. Det är ett program till Mac, Linux och Windows som gör det möjligt att skapa, testa och utforska API:er på ett enkelt och kraftfullt sätt i ett elegant GUI. Trots att det är en desktop-applikation så kan du smidigt dela med dig av det du gjort och samarbeta med andra tack vare inbyggda funktioner och integrationer med bland annat GitHub. Postman går att köra från kommandoraden, vilket gör det möjligt att automatisera API-testandet med hjälp av Jenkins eller något annat CI-verktyg. Utöver allt detta kan Postman även generera curl-kommandon och källkod i en mängd olika språk som utför det du byggt i GUI:et. Mycket smart, smidigt och lärorikt.

Editorer och IDE:er

Det viktigaste verktyget för alla programmerare är editorn. Men åsikterna om vilken som är bäst och vad en editor egentligen skall kunna göra varierar vilt, vilket syntes tydligt i vår undersökning. Allt från Emacs med anor från 1970-talet till VS Code som bara har några år på nacken finns representerade. Klassiska favoriter som Sublime Text och Notepad++ finns också med, men det framgår tydligt att många snarare väljer IDE än editor. Fast det är inte helt sant för väldigt många konfigurerar IDE-editorn så att den beter sig som någon av de välkända editorna. På tal om val av IDE så verkar IntelliJ och Visual Studio fortfarande vara ohotade på toppen baserat på hur ni svarade i undersökningen.

Kommunikation och samarbete

Vill du kommunicera och samarbeta med andra, lära dig från andra eller dela med dig av det du har gjort så finns det massor med verktyg för att göra det på ett effektiv sätt. Det första många tänker på när det gäller kommunikation är nog chatt eller mejl, men det finns många andra sätt att kommunicera på idag. GitHub är ett sådant exempel och fanns självklart med bland svaren i vår undersökning. Där kommunicerar du främst med hjälp av diffar, kommentarer kring kodgranskning och pull requests. Men även själva git kan ses som ett verktyg för kommunikation. Hur ofta du commitar, hur du namnger dina branches och hur du skriver dina commit-meddelanden påverkar hur tydligt du lyckas kommunicera vad du har gjort och varför du gjorde det. Just det här med att förklara varför du har gjort något är en av de mest underskattade syftena med kommunikation. Oavsett syfte, sammanhang och verktyg. Verktyg för versionshantering är perfekta för att dokumentera varför du gjort något, eftersom du skriver ett meddelande i samband med varje commit och när du fortfarande kommer ihåg varför du gjorde på ett visst sätt.

Kunskap och manualer

Att snabbt och effektivt få tag på kunskap är otroligt viktigt för alla programmerare, men efter att Google och Stack Overflow kom in i våra liv reflekterar vi knappt över hur det går till eller vilka verktyg vi använder utöver dessa. Det var därför extra kul att se att några specifika kunskaps-sajter lyftes fram som viktiga verktyg i vår undersökning. Däribland Microsoft Docs som är startpunkten för allt inom Microsofts värld och Mozillas utvecklarsajt som är närmast heltäckande och har ett mycket gott rykte bland alla som jobbar med webbutveckling.

Övriga verktyg

De verktyg vi nämnt är de som fick många röster i vår undersökning och därmed kan anses vara välkända eller populära. Men ni tipsade även om en del mindre kända verktyg och för att fler skall bli få upp ögonen för dessa kommer här en snabb presentation av ett urval av dom.

Lighthouse - Är ett automatiskt analysverktyg från Google som gör det möjligt att mäta kvaliteten på en sajt, bland annat hur snabb den är och laddas. Går att köra från Chrome, kommandoraden eller integrera i CI-processen.

ESLint - Gör det möjligt att analysera JavaScript-kod för att hitta allt från rena fel till saker som bör undvikas eller bryter mot en styleguide. Helt dynamisk så går att utöka med egna regler.

Diffchecker - Kan jämföra textfiler, PDF:er, bilder, med mera och visa skillnaderna på ett lättöverskådligt sätt. Den fullständiga betal-versionen körs på din dator, men det finns även en enkel version online.

Dokku - Kallar sig själv för ett “docker-baserat mini-Heroku” och erbjuder ett enkelt sätt att skapa en PaaS-miljö, alltså ett sätt att bygga och drifta en egen moln-plattform eller moln-infrastruktur.

ReSharper - Från den kända IDE-utvecklaren JetBrains utökar Visual Studio med mängder av kraftfulla funktioner för analys och ändring av kod, förbättrad unit testing och mycket mer. 

Total Commander - Är en modern version av den klassiska filhanteraren Norton Commander som släpptes till MS-DOS redan på 1980-talet. Total Commander finns till Windows och många anser att det är omöjligt att använda Windows på ett effektivt sätt utan detta program.

SQL Server Management Studio (SSMS) - Från Microsoft är ett kraftfullt verktyg för att hantera allt från en fristående SQL Server till en Azure SQL databas. Installation, övervakning och skapande av script och queries är några exempel på vad det kan användas till.

Buildroot - Är ett make-baserat verktyg som förenklar byggandet av Linux-system som skall köras i en embedded-miljö. Ser till att allt från rätt korskompilerings-verktyg installeras till att skapa rotfilsystem och bootloader.

Fiddler - Gör det möjligt att testa, debugga, analysera, prestandamäta och modifiera webbtrafik genom att agera HTTP- och HTTPS-proxy. Går att konfigurera och bygga ut med hjälp av JavaScript eller vilket .net-språk som helst.

QEMU - Är en emulator som gör det möjligt att till exempel köra Windows-program på Linux, men användningsområdena är nästan obegränsade eftersom den kan emulera ett stort antal processorer och köras på många olika kombinationer av hårdvara och operativsystem.

tmux - Är en modernare variant av det klassiska Unix-verktyget screen. Väldigt enkelt beskrivet gör tmux det möjligt att köra flera kommandoradsprogram samtidigt, utan att öppna flera terminalfönster eller använda en terminal med stöd för tabbar. Mängder med avancerade funktioner gör att det blir som en helt ny värld jämfört med att köra i en vanlig terminal.

RegExr - Är ett webbaserat verktyg för att testa och utforska regular expressions. Eftersom syntaxen för regular expressions är klurig, kompakt och inte helt konsekvent mellan språk och verktyg är det lätt att göra eller tänka fel. Med RegExr ser du i detalj hur uttrycket fungerar och då blir det också lätt att se om du tänkt rätt.

Har du idéer på ett intressant eller roligt ämne att skriva om eller kanske till och med en redan färdig artikel? Klicka här för att läsa mer.

Demando