torsdag 23 februari 2012

Tipsa oss!08 453 62 20

- Computer Sweden:

Utvecklarkrönikan: Lasagne är inte en god förebild

Jimmy Nilsson &auml;r utvecklare och en av grundarna av Factor10.<br />
Jimmy Nilsson är utvecklare och en av grundarna av Factor10.

Fakta

…om tunga teknikfrågor, varannan gång kopplade till systemutveckling och varannan till it-säkerhet. Varje månad kan du läsa Jimmy Nilsson, Tomas Djurling, Ola Bini och Anne-Marie Eklund Löwinder.

Fenomenet jag tänker på är att det verkar finnas en princip för arkitekturen i många projekt som säger att ”ju fler lager, desto bättre”. Det är åtminstone mycket vanligt i Dotnet- och Javaprojekt. Speciellt i de projekt som kallas enterpriseprojekt.

Varför blir det så här? Drivkrafterna är många, men följande sticker ut som de vanligaste:

  • ”Många lager kan vara bra att ha. Man vet aldrig när ett lager visar sig vara nyttigt.”
  • ”Personen X/boken Y säger att det ska vara så.”
  • ”All kod skall vara likartad och följa samma struktur.”

Jag tycker alla anledningarna ovan är riktigt dåliga. Den första är ett utmärkt exempel på olycksfallskomplexitet. På spekulation ökas komplexiteten i förväg. Det är bäst att låta bli och spekulera och göra saker så enkla som möjligt i stället så att de är ändringsbara när, eller om, det behövs.

Den andra anledningen brister vad gäller ”context is king”. Ingen lösning är alltid den bästa, det beror naturligtvis på situationen.

Men kanske allra värst är anledning tre. Antingen så ska koden inte vara likartad eftersom det är olika problem och olika situationer. Eller om den kan vara likartad så låter det som ett allvarligt brott mot DRY (Don’t Repeat Yourself). Troligen ska den inte handskrivas över huvud taget.

Någon skrev för ett tag sedan att ”Arkitektur är som lasagne. Ju fler lager, desto godare.”

Jag håller absolut inte med. Varken vad gäller arkitektur eller lasagne. Smaken sitter inte i antalet lager. Faktum är att det citatet får mig att bli sugen på spagetti.

Vilka är hakarna av att ha fler lager än vad som är rätt antal?

  • När något ska ändras så finns en tendens att ändringen påverkar mer än ett ställe i koden på grund av för många lager.
  • Du får massor av helt ointressant kod och mycket kod innebär att det är mer att läsa och det tar längre tid att lokalisera vad man söker.

Sammanfattningsvis så blir det dyrare att underhålla, helt enkelt.

Det verkar vara en vanlig tendens att utvecklare följer en cykel. I skolan och tidiga projekt börjar man med all kod i ett enda lager.

Därefter går man över till en extrem mängd, kanske åtta till tolv lager regelmässigt, för att slutligen vara situationsanpassad och låta den valda lösningen på problemet styra vad som är rätt antal.

Det angreppssätt som jag rekommenderar är att man inte lägger fokus på lager till att börja med i nya projekt, utan fokuserar på att förstå problemet och beskriva lösningen så enkelt som möjligt.

I takt med att behoven av lager sedan visar sig så lägger man till dem, men först efter att kritiskt ha utvärderat värdet i förhållande till kostnaden.

Flest lager vinner alltså inte.

2010-09-03 05:49
Just nu på Cloudmagazine.se | besök sajten »
Smygtitt på Libreoffice Online

Artikelkommentatorerna ansvarar själva för sina inlägg
RSS Den här artikeln har 3 kommentarer:

Intressant - (Dduck) 2010-09-03 12:48

Bra initiativ IDG! - (kebabbert) 2010-09-03 18:17

Pest eller kolera, jag väljer kolera - (aassddff) 2010-09-05 23:58

OBS! Denna artikel är mer än 60 dygn gammal och är därför stängd för vidare debatt.

Ddos-attackerna
blir allt kraftigare

Nyheter I genomsnitt blev överbelastningsattackerna 57 procent starkare under andra halvan av 2011. Detta enligt ny statistik från Kaspersky Lab.


Nya integritetsregler
spikade för appbutiker

Nyheter Appbutiker som App Store och Android Market ska bli tydligare med sina regler för integritetsskydd. Det står klart efter en överenskommelse mellan branschjättarna.


HPs vd skyller
på företrädarna

Nyheter HPs Meg Whitman tvingas bita i det sura äpplet och redovisa ett rejält vinstras och omsättningstapp för sin första tid som vd. Hon lägger skulden på sina föregångare.


- Computer Sweden:

Kronbäbisen redan på Twitter


Polisen varnar: Falska
Iphone-lurar i omlopp

Nyheter Malmöpolisen varnar för Iphone-kopior som schackras ut på Blocket och Tradera.

(9 kommentarer)


- Computer Sweden:

Cisco skickar data rekordsnabbt


Haverirapporten:
Tieto vägrade berätta

Samtidigt som Sverige skakades som allra värst av Tietos it-haveri före jul, vägrade företaget att berätta för krisberedskapsmyndigheten MSB vilka myndigheter som var drabbade. Tieto hänvisar till affärssekretessen.

(16 kommentarer)

Mest läst

Efter jobbet





Krönikan

Om ett program fungerar så gör för guds skull inget med det

Ett stort steg mot stenhård kontroll

Senaste nytt





Missa inte











Partnermaterial

Nya kompendier

Kundvård med kunden i framsätet

Utvalda whitepaper

Rätt lagringsarkitektur är nyckeln till effektiva moln
Hitta den bästa WCM-leverantören
Virtualiserade nät ger effektivare företag

Nyhetsbrev

CS nyhetsbrev varje dag

Utbildningsguide

Utbildningsguiden

Senaste tidningen

Kompendier



RSS-flöden

Nyhetsbrev
  • Dagliga
  • Veckobrev
  • Affärsfokus
  • CSjobb
  • Affärssystem
  • Språksamt

Prenumerera här

Kontakta oss
Prenumerationsärenden:
computersweden.se/info
eller ring 08-799 62 35.

Ring
till 08-453 60 00.
Skicka gärna e-post till: cs@idg.se

Postadressen är:
Computer Sweden 106 78 Stockholm

Om tidningen




AdtechSynpunkter på sajten? Kontakta nyhetschef Linus Larsson
Kontakta CS redaktion | Policy om personuppgifter & copyrightinfo
Karlbergsv. 77 106 78 Stockholm Tel: 08-453 60 00 | Copyright © 1996-2012 International Data Group