abonnement Unibet Coolblue Bitvavo
pi_217443764
Sommige programmeurs/web ontwikkelaars kennen dit vast. Je hebt ooit een project ontwikkeld en deze draait online, draait goed en doet precies wat het moet doen.

De tijd loopt door en de jaren gaan snel voorbij, de code raakt verouderd omdat bepaalde functies verdwijnen. Nu wil je wel graag mee maar je code werkt goed en eigenlijk heb je helemaal geen zin om je code weer helemaal door te lopen en alles aan te passen aan de huidige tijd.

Dan kun je 4 dingen doen.
1. De website en code zo laten maar blijven draaien op verouderde software
2. De website en code compleet doorlopen en toch maar aanpassen aan de huidige tijd.
3. De website offline halen (ivm veiligheid)
4. Een wrapper gaan (schrijven)gebruiken om de verouderde/verwijderde functies weer ondersteund te krijgen met de huidige technieken.

Aan dat laatste zit ik zelf te denken, ik heb een website die draait op verouderde PHP code (Geschreven rond versie 4-5 :@) en gaat voornamelijk om de standaard mysql_ functies. Dus zit ik te denken om een wrapper te schrijven/downloaden die deze functies emuleert.

Hoe ga jij met dit soort zaken om?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_217443929
Hoe langer je wacht met modernisering, hoe lastiger het wordt. Als je te lang wacht is het vaak nauwelijks nog te doen omdat het te veel werk is, omdat allemaal libraries te veel veranderd zijn of niet meer beschikbaar zijn, en de taal zo enorm is veranderd. Als je vandaag nog met php4 code zit dan zou ik alles opnieuw schrijven in een recente versie/framework of desnoods andere taal. Dat is vast sneller dan stokoude code aanpassen.
pi_217446509
quote:
5s.gif Op woensdag 23 april 2025 07:12 schreef Chandler het volgende:

Hoe ga jij met dit soort zaken om?
AI vragen of ie het om wil zetten
Google is your friend, abuse your friends
  woensdag 23 april 2025 @ 13:58:15 #4
459912 FlippingCoin
Weer zo'n kut millennial.
pi_217446631
Dat is afhankelijk van de vorm en mate van veroudering. Als er een geïsoleerd deel van de code verouderd is kan je het strangler fig pattern of het parallel run pattern toepassen, maar als het bijvoorbeeld een verouderd framework is welke niet meer gemigreerd kan worden naar iets dat up to date is en het niet logisch is om het op te delen dan ontkom je bijna niet aan een volledige rewrite.

Dus zoals altijd, wat flauw maar:
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
Met zwijgen kruist men de duivel
  woensdag 23 april 2025 @ 13:59:06 #5
459912 FlippingCoin
Weer zo'n kut millennial.
pi_217446638
quote:
0s.gif Op woensdag 23 april 2025 13:47 schreef Metalfrost het volgende:

[..]
AI vragen of ie het om wil zetten
ja succes :+
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
Met zwijgen kruist men de duivel
pi_217454114
De veroudering zit hem vooral in het communiceren met de database.

Alles werkt met mysql_ functies, deze functies werkten perfect en zijn in de code zelf beveiligd tegen injectie en dergelijke. Maar zijn depricated en als ik over wil naar een hogere versie loop ik eigenlijk alleen daar tegen aan..

Dus mogelijk een wrapper schrijven waarbij ik alleen de functie namen bv iets verander (of zelfs niet en overschrijf)..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_217456801
quote:
0s.gif Op donderdag 24 april 2025 10:17 schreef Chandler het volgende:

Dus mogelijk een wrapper schrijven waarbij ik alleen de functie namen bv iets verander (of zelfs niet en overschrijf)..
Dat gaat de veiligheid niet verbeteren en gaat je een keer bijten.
Roses are red
Violets are blue
Wololo Wololo
Now violets are red too
  zaterdag 26 april 2025 @ 13:04:12 #8
463823 Rodgrod
Lekker met vanillekwark
pi_217471628
Een wrapper introduceert wederom techdebt, die wrapper wil je immers uiteindelijk ook weg hebben.
Los het gewoon in een keer goed op :)
❤️🐤🐤🐤🐤🐤🐤🐤🐤❤️
Doet rubber om staven
pi_217471756
Mijn code heb ik een database class en database driver classes, deze voldoen aan een interface dus ik zou enkel de database driver class voor mysql hoeven te vervangen.
Als je frameworks/libraries gebruikt moet je die bijhouden, die hebben altijd wel guides om upgraden makkelijk te houden. Maar het liefst zoveel mogelijk zelf schrijven.
Een goede IDE helpt ook met het reactoren van je code. En in het verleden heb ik voor php Rector gebruikt om een project te moderniseren.
pi_217477506
We praten over 50k aan regels zelf geschreven code (zonder frameworks en door externe gemaakte libraries), waar de site al sinds het begin goed functioneert. Nooit problemen gehad met beveilgiingskwesties... dus waarom zou een wrapper dan een slechte keuze zijn? enige waar de site op faalt is dat mysql functies depricated raken, niets meer en niets minder.

Toen die tijd gebruikte ik nog niet een MCV model of wrappers voor databases... site stamt uit begin 2010.. :@ en de site hoeft nog maar een paar jaar mee, ik heb plannen om er iets anders mee te doen maar tot die tijd zou het fijn zijn als de gebruikers de site gewoon nog kunnen blijven gebruiken zonder dat het mij honderden uren aan extra werk kost...

Maar allen dank voor de reacties!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 27 april 2025 @ 10:12:25 #11
192229 XDo
Orgasm beat it!
pi_217477540
Ik ben niet erg op de hoogte van PHP specifiek maar kan je niet gewoon find-and-replacen?
It's nothing, returned Mrs Chick. It's merely change of weather. We must expect change.
  zondag 27 april 2025 @ 21:34:01 #12
459912 FlippingCoin
Weer zo'n kut millennial.
pi_217483289
quote:
0s.gif Op zondag 27 april 2025 10:08 schreef Chandler het volgende:
We praten over 50k aan regels zelf geschreven code (zonder frameworks en door externe gemaakte libraries), waar de site al sinds het begin goed functioneert. Nooit problemen gehad met beveilgiingskwesties... dus waarom zou een wrapper dan een slechte keuze zijn? enige waar de site op faalt is dat mysql functies depricated raken, niets meer en niets minder.

Toen die tijd gebruikte ik nog niet een MCV model of wrappers voor databases... site stamt uit begin 2010.. :@ en de site hoeft nog maar een paar jaar mee, ik heb plannen om er iets anders mee te doen maar tot die tijd zou het fijn zijn als de gebruikers de site gewoon nog kunnen blijven gebruiken zonder dat het mij honderden uren aan extra werk kost...

Maar allen dank voor de reacties!
Hoever sijpelt de db specifieke code door in je codebase? Met goede cohesie is dit al veel makkelijker dan wanneer dit niet zo is.
I think that it’s extraordinarily important that we in computer science keep fun in computing
For all who deny the struggle, the triumphant overcome
Met zwijgen kruist men de duivel
pi_217484171
quote:
0s.gif Op zondag 27 april 2025 10:12 schreef XDo het volgende:
Ik ben niet erg op de hoogte van PHP specifiek maar kan je niet gewoon find-and-replacen?
Ja mits ik gebruik maak van een wrapper, anders nee...

quote:
16s.gif Op zondag 27 april 2025 21:34 schreef FlippingCoin het volgende:

[..]
Hoever sijpelt de db specifieke code door in je codebase? Met goede cohesie is dit al veel makkelijker dan wanneer dit niet zo is.
Het zit overal :{

Wat ik zei, tussen de 10 en 20 jaar oud... dus wil ik alles aanpassen dan heb ik daar echt een weektaak aan.. -O-
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_217484348
Als het echt alleen om de mysql_* functies gaat is wrappers maken op zich geen heel slechte oplossing. Maar met code van 10-20 jaar oud zou het me hogelijk verbazen als dat het enige issue is.
  maandag 28 april 2025 @ 08:11:01 #15
150517 SpecialK
No hesitation, no delay.
pi_217484384
het heet refactoring en je doet het stukje bij beetje.

klant vraagt om nieuwe feature? cool. dan schat je het 20% hoger in en spendeer je nog even een extra 20% van de tijd om wat gelaagdheid toe te passen in je code en wat snoeiwerk te doen.

kan je gewoon open over communiceren met de klant trouwens. mensen hebben vaak wel begrip dat je na 20 jaar voortschrijdend inzicht en library updates en uitgekomen security patches wat dingen wil recht zetten.

Het is niet zo moeilijk

[ Bericht 14% gewijzigd door SpecialK op 28-04-2025 08:31:36 ]
There are no things, but as a consequence there are as many things as we like
pi_217583117
Mijn lange ervaring is:

-Doe helemaal niets, en zorg ervoor dat je in ieder geval je minor patches voor die versie update, en kijk of je eventueel je database extra goed beveiligt op netwerk niveau.
-Doe een complete rewrite, overleg eventueel met de klant of bepaalde lastige zaken die veel tijd kosten nog wel noodzakelijk zijn.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')