Kom ihåg mig?
Home Menu

Menu


Hur gör ni för att dela kod mellan projekt?

 
Ämnesverktyg Visningsalternativ
Oläst 2008-03-05, 01:53 #1
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
Goddagens...

Under mina senaste år som webbutvecklare så har jag tagit fram en hel del bibliotek som jag återanvänder mellan mina projekt. Både php, javascript och ibland också enstaka css-filer.

Varje gång jag börjar på ett nytt projekt så kopierar jag från ett tidigare projekt till en ny katalog, och börjar konstruera en ny site med dessa bibliotek som grund. Ibland kommer jag på en smart uppdatering till något bibliotek, gör uppdateringen och konstaterar efter ett tag att mina filer står lite olika till i utveckling mellan alla mina projekt. Biblioteket har utvecklats på något sätt hos nästan alla mina projekt, men alla har olika uppdaternigar och skulle hemskt gärna ha samma uppdateringar som de andra projekten fått.

Detta är egentligen bara ett I-landsproblem, men å andra sidan är det slöseri med tid att flytta uppdateringar och samla ihop dem i en enda fil - som man sedan lägger in i varje projekt.

Någon som känner igen sig?

För PHP så kan jag ju skapa en sån där global includekatalog. Minns inte vad det heter, men includes i php-mappen är ju en sådan. Det kanske finns mer smarta knep än så också, vad vet jag.

Javascripten... Ja det vettefan... Att ladda dem från en annan domän känns lite tokigt, men det går ju... Alla projekt ligger ju på en varsin domän, så det är inte tal om något "../js/whatever". CSS kan dupliceras utan att jag bryr mig.

Jag tänkte mest höra hur ni andra gör, om ni har några knep eller om ni klåpar runt som jag har gjort.
totoo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 08:03 #2
stakess avatar
stakes stakes är inte uppkopplad
Medlem
 
Reg.datum: May 2005
Inlägg: 219
stakes stakes är inte uppkopplad
Medlem
stakess avatar
 
Reg.datum: May 2005
Inlägg: 219
Jadå. Jag har en grundkatalogstruktur med statistka html\css\js filer samt php "klass" bibliotek för varje nytt projekt. Lite som ett eget ramverk med olika komponenter, vissa som jag under åren byggt själv, andra 3:e parts "ramverk" som JQuery eller Swiftmailer
stakes är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 08:10 #3
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
Ligger alla projekt på samma server bör du kunna lägga alla filer i en virtuellkatalog som är samma fysiska katalog. Åtminstone för javascripten.

I annat fall skulle jag nog ha en katalog där senaste versionen alltid finns och så drar du ner den när du ska pilla på något i ett gammalt projekt.
jonny är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 09:00 #4
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Lumax Lumax är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 610
Jag har ett eget repository i subversion där jag har alla "generella" funktioner vars kod delas av flera projekt. När jag sedan gör en uppdatering av någon sida så kör jag "merge" så att jag får med eventuella uppdateringar från dom generella sakerna.
Lumax är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 09:03 #5
coredevs avatar
coredev coredev är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2007
Inlägg: 1 554
coredev coredev är inte uppkopplad
Bara ett inlägg till!
coredevs avatar
 
Reg.datum: Sep 2007
Inlägg: 1 554
Jag använder mig av en katalog som heter "Global":

Sajt1/
Sajt2/
Sajt3/
...
Global/

I Global lägger jag allt som är gemensamt (typ 80% av all kod återanvänds mellan alla olika projekt). Katalogen länkas sedan in genom mjuka länkar in i Sajt1, Sajt2, etc.. så att man kommer åt dom via www.Sajt1.se/Global/Styles/hejsanhoppsan.css och även genom relativa pather innuti projektet require_once('Global/klasser/hejsan.class.php')..

Fungerar klockrent, men kräver att man kan/får göra mjuka länkar på servern..
coredev är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 10:30 #6
Daniel.sts avatar
Daniel.st Daniel.st är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 762
Daniel.st Daniel.st är inte uppkopplad
Mycket flitig postare
Daniel.sts avatar
 
Reg.datum: Jul 2006
Inlägg: 762
Jobbar förvisso i ASP.NET och C# och där löser man det elegant genom att lägga detta i egna DLLer som man sen enkelt inkluderar som referenser i sina projekt.
Daniel.st är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 15:24 #7
Adam N Adam N är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 205
Adam N Adam N är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 205
Citat:
Originally posted by Daniel.st@Mar 5 2008, 10:30
Jobbar förvisso i ASP.NET och C# och där löser man det elegant genom att lägga detta i egna DLLer som man sen enkelt inkluderar som referenser i sina projekt.
Spelar väl inte så stor roll om man lägger det i en egen dll
eller en egen katalog? Kanske enklare att uppdatera
enskilda funktioner om det är en katalog.
Adam N är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-05, 20:07 #8
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
Detta problemet har jag också, förvisso, men jag har helt enkelt gjort så att jag har ett "ramverk" som jag kopierar precis som du men försöker att inte ändra koden för mycket så att syntaxen fortfarande blir de samma, men koden är bara optimerad.

Gör man då en uppdatering så ser man till att göra så mycket uppdateringar som möjligt, och sedan börja använda den som ramverk istället.

Learn to live with it
eliasson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-06, 10:18 #9
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Jag har gjort som så att ja byggt mitt egna "ramverk" eller "cms". Till och med byggt installations fil, script som skapar alla filer och mysql databaser jag behöver. Sedan bygger jag bara design och utvecklar nya funktioner om det behövs.
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-06, 10:25 #10
Ara Ara är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Mar 2005
Inlägg: 1 956
Ara Ara är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Mar 2005
Inlägg: 1 956
Subversion borde väl lösa dina problem.

Det bara användea branch och merge för att uppnå önskad effekt.
Ara ä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 08:59.

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