Kom ihåg mig?
Home Menu

Menu


Projektstruktur med programmering i fokus (m. PHP som exmpel)

 
Ämnesverktyg Visningsalternativ
Oläst 2013-10-09, 17:21 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Det går alldeles utmärkt att bygga sitt eget ramverk. Primärt gör man det för att långsiktigt effektivisera utvecklingsjobbet och höja kvaliteten på sin egen kod.

Det går givetvis att använda ett befintligt ramverk, men då lär man sig inte så mycket, dessutom måste man först lära sig ett antal olika ramverk för att testa vilket som passar bäst för ens behov.

Jag har alltid som utgångspunkt att bygga egna ramverk för min kod. Men jag kanske börjar med top-down-modell i stället för en bottom-up-modell.

Dvs jag tänker ut de funktionella komponenter jag vill använda och sen löser jag det tekniska efter hand som det behövs, med stegvis förfining, det har funkat för mig (men jag varierar mig så vissa tekniska komponenter bygger jag också bottom-up).

Skilj ut de komponenter som är till för att kapsla in HTML så de går att återanvända oavsett vilken typ av funktionell komponent du använder.

Det funktionella är ju oftast det som skiljer mellan de projekt man bygger.

Ska du bygga ett HTML-ramverk på ett bra sätt så bör du tänka på att Element är en generalisering av exemplevis DIV, BODY, HEAD mfl taggar. Det betyder att om man vill vara ortodox inom objektorientering så ska DIV vara en egen klass, PARAGRAF en egen klass m.m.

Man kan ju i BODY lägga många olika DIV och DIV kan vara nästade i varandra.

Skilj även på detaljklasser och listklasserna, det är inte samma sak, då det är helt olika egenskaper på listor och detalj/informationsklasser.

Det kan vara en hög tröskel att få till ett användbart ramverk, men när man väl har rätt struktur så blir det kollosalt enkelt att använda, bygga ut och modifiera, det är enligt min mening mycket av det som är poängen med objektorientring.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-10-09, 19:26 #2
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Det går givetvis att använda ett befintligt ramverk, men då lär man sig inte så mycket, dessutom måste man först lära sig ett antal olika ramverk för att testa vilket som passar bäst för ens behov.
Där håller jag inte med.
Om man använder ett bra ramverk och verkligen sätter sig in i hur det fungerar(läser källkoden) lär man sig väldigt mycket, men framför allt lär man sig rätt. De flesta ramverk prioriterar best practices och hög kvalitet i koden så långt det är möjligt vilket gör att lär sig att skriva bra kod själv när man utökar och utvecklar i ramverket. Det finns inte, åtminstone inte enligt mig, något bättre sätt att lära sig än att kolla på bra kod och använda den om man vill lära sig rätt och skriva bra kod.

Givetvis lär man sig mycket att experimentera och bygga eget också, men risken är att man då lär sig fel och får dåliga vanor när man kodar. Börjar man med ett ramverk utan väldigt goda kunskaper om mjukvaruarkitektur så kommer man mes största sannolikhet också få skriva om hela ramverket eller kasta det när man blivit en duktigare utvecklare. Det är inget jag kan rekommendera oavsett vilken kunskapsnivå man ligger är på. Jag egentligen inte någon poäng med att skriva egna ramverk från grunden alls. Det är ett enormt jobb att hålla sitt egna ramverk modernt och up to date.

En väldigt intressant trend är det som tartareandesire skrev om ovan, dvs att man plockar komponenter ifrån olika ramverk och på så sätt syr ihop ett eget ramverk där man plockat de bästa modulerna för varje uppgift. I och med att Composer blivit en standard kan man numera på ett väldigt smidigt sätt hantera dessa beroenden och uppdatera komponenterna separat från sin egen "app"- eller "core"-kod. Man får då både extremt flexibel kod som man har väldigt mycket kontroll över samtidigt som den inte är så jobbig att underhålla. Modulerna uppdateras löpande av tredje part och har redan bra dokumentation vilket förenklar enormt mycket.
pelmered är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 09:01.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017