Toon posts:

Eigen brouwsel meer standaard maken

Pagina: 1
Acties:

  • raymondw
  • Registratie: November 2000
  • Laatst online: 22:51
Sinds 2006 ben ik om de zoveel maanden bezig met 1 projectje wat door een 5 a 10 tal mensen word gebruikt voor een gezamenlijke hobby.
Alle code is geschreven in Kate/Notepad++ in PHP5.x met MYSQL5.x en draait redundant in CentOS/Ubuntu VM's.
94% van de data komt uit de database en is een simpel en goed sorteren en samenvoegen van tabellen, 5% is input vanuit XML en dit komt vanuit de client/OS kant en de overige 1% zijn externe Bing maps.

Sinds afgelopen week heb ik naar mijn idee de belangrijkste componenten echt "af" (voor zover af, af is ;) )

Mijn grootste wens is nu om alles wat meer bom-proof te maken. Aangezien ik met 0.0 kennis van PHP begonnen ben zitten er hier en daar nog wel wat gekke dingen in en is het nog niet erg bestand tegen SQL injections, random deletes, etc.
Dat betekent dat ik alle 322KB aan code opnieuw ga doorlopen met mijn in de afgelopen jaren verworven kennis.

Daar komt dan ook meteen de vraag uit, is het verstandig om de code via een framework achtig iets te gaan standaardiseren?
Of is het dan "beter" om de gewoon je eigen code te fine-tunen, er rekening mee houdend dat er ook nog wat look-n-feel bij komt via CSS/AJAX?

Alvast bedankt voor jullie hersenspinsels ;)

to linux or not ,that's my quest... | 5800X | 32GB 3800C15 | X570-Pro | 980 1TB | 7900XTX | iRacing | PVoutput


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Hangt helemaal af van de tijd en moeite die je erin wil gaan steken, maar die gaat zich wel terugverdienen. Zo niet in een betere applicatie dan wel in opgedane ervaring. Van het vanaf de grond opnieuw schrijven wordt software zelden beter.

Aan de andere kant is het wel een leuke exercitie. Ga in kaart brengen wat de software allemaal doet, en schrijf het geheel opnieuw met bijvoorbeeld Zend Framework. Gaat wel een hoop tijd kosten en in eerste instantie waarschijnlijk meer bugs opleveren dan je nu hebt, maar je leert er wel weer wat bij. :)

[Voor 8% gewijzigd door CodeCaster op 28-06-2011 10:20]

https://oneerlijkewoz.nl
I have these thoughts / so often I ought / to replace that slot / with what I once bought / 'cause somebody stole my car radio / and now I just sit in silence


  • RobIII
  • Registratie: December 2001
  • Nu online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

In ieder geval het lezen waard: Things You Should Never Do, Part I. Een bestaand framework "er in bouwen" kan altijd; of het het waard is is up to you. Misschien is een complete rewrite wél de oplossing (staar je niet blind op Spolsky) maar ook dat is up to you; hou dan alleen Spolsky in je achterhoofd als je die afweging maakt.

Ik schop dit topic even richting SEA en strip even [PHP] eraf; dan kunnen we 't wat minder specifiek maar wel interessanter maken ;)

[Voor 68% gewijzigd door RobIII op 28-06-2011 10:18]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Boss
  • Registratie: September 1999
  • Laatst online: 13:49

Boss

+1 Overgewaardeerd

Een framework is handig als je herbruikbare componenten op een gestandaardiseerde manier met elkaar wilt laten samenwerken en integreren. Dus als je verwacht dat je de gemaakte componenten ook voor andere projecten gaat gebruiken dan is dat de moeite waard.

Besef je wel dat je versie 1.0 van je nieuwe framework direct weer weg kan gooien omdat je tijdens het ontwikkelen zoveel dingen bent tegengekomen dat je bedenkt dat het allemaal nog beter en mooier kan :-)

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • raymondw
  • Registratie: November 2000
  • Laatst online: 22:51
Alvast bedankt voor de feedback ;)
Dat het tijd gaat kosten vind ik niet erg, de huidige omgeving is ook al 5-jaar in ontwikkeling.
Vandaar ook de twee VM's, 1 voor "productie" op Centos en de "test" op basis van Ubuntu.
Zodra ik mijn stukje dev goed genoeg vind gaat het actief via wat scripts die ook backups maken.

Mijn eerste stukken code waren echt ellende, uiteindelijk een goeie username/passwd combinatie kunnen maken met wat gevonden info en wat afkijkwerk uit bv Joomla voor de salted passwords.
Al dat houtje touwtje werk is wel goed om je hoofd te breken over bepaalde oplossingen die uiteindelijk heel simpel blijken te zijn.
Maar het helpt je niet verder met het maken van nette code.

Wat ik nu iig al heb is de dat functies in verschillende losse pagina's zijn opgebroken.
Naar mijn idee zou het dan vrij simpel mogelijk zijn om met een framework aan de gang te gaan en kijken hoe ik uit kom met de eerste functies.
Het doel is niet het herschrijven van de hele zooi, maar meer een vertaling naar een framework om alles meer in een standaard aan te vliegen.

Daarbij hoop ik ook dat het/een framework standaard hooks zou kunnen hebben naar bv AJAX dropdown menu's.
Of een beter doorgave van bepaalde waardes tussen verschillende pagina's.
Of richtlijnen tegen SQL injections

@Boss, je onderschrift geeft wel een btje mijn gevoel weer :*)

to linux or not ,that's my quest... | 5800X | 32GB 3800C15 | X570-Pro | 980 1TB | 7900XTX | iRacing | PVoutput


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Het is leuk om eens gedaan te hebben ja, dat loginverhaal bijvoorbeeld. Dan snap je ook beter wat er op de achtergrond allemaal gebeurt als je de volgende keer gewoon Zend_Auth gebruikt. ;) Triviale code schrijven is niet leuk, in valkuilen stappen waar duizenden anderen je al in zijn voorgegaan is ook niet leuk.

Daarom is het hameren op het gebruiken van frameworks wel nuttig. Dan kun je je tijd besteden aan het schrijven van leuke code, namelijk het stuk wat jouw applicatie uniek maakt. En als je je code een béétje netjes op orde hebt, is het migreren van dat gedeelte naar een framework niet eens zo moeilijk.

https://oneerlijkewoz.nl
I have these thoughts / so often I ought / to replace that slot / with what I once bought / 'cause somebody stole my car radio / and now I just sit in silence


  • fleppuhstein
  • Registratie: Januari 2002
  • Laatst online: 07-05 09:51
Als je je code gelijk aan elkaar wilt maken, moet je misschien even kijken naar de PEAR extensie/plugin/tool phpcs. Hiermee kan je je code testen op diverse standaarden (Zend,PEAR of Squiz). Met phpDocumentor kan je kijken of je ook een beetje nette documentatie hebt geschreven. Zo zijn er redelijk wat "build" stappen waarmee wij de code "testen" voordat er iets in source control verdwijnt.

Wellicht kan je daarvan wat vinden op google, termen: build, continous integration, jenkins, hudson.

  • lauwsa
  • Registratie: Juli 2010
  • Laatst online: 08-05 16:04
Je hebt trouwens ook software die je php code kan scannen op lekken. Dit zal niet alles vinden maar het kan je er wel bij helpen. Ik bedoel bijvoorbeeld Pixy, maar ik weet niet als deze up to date is.

  • djc
  • Registratie: December 2001
  • Laatst online: 28-07-2022
Gebruik je al een versiebeheer-tool als Subversion, Mercurial of Git? Daar zou ik in ieder geval mee beginnen.

Als ik jou was zou ik in beginsel niet beginnen met een rewrite, maar in plaats daarvan proberen te refactoren. Dat wil zeggen, vind de steeds terugkerende patronen in je codebase en probeer daar goede abstracties voor te vinden. Die abstracties zullen deels dingen zijn die specifiek zijn voor jouw applicatie/code, en deels generiek. De generieke onderdelen kun je vervolgens makkelijk vervangen door externe libraries (dus pas na het refactoren). Op deze manier kun je in veel kleine stappen je codebase helemaal verbeteren zonder dat je op enig moment met een half-af, niet-werkend prototype blijft zitten.

Rustacean


  • raymondw
  • Registratie: November 2000
  • Laatst online: 22:51
Na wat lezen en rondkieken op de verschillende sites heb ik mijn Ubuntu vmmachine van een kloon voorzien en heb er Zend op geïnstalleerd.
De eerste stapjes met de tut op de website gedaan en het ziet er redelijk overzichtelijk uit.

@djc: Het terugvinden van patronen is echt vrij lastig, mijn eerste stapjes waren echt eerste stapjes.
Veel van de gebruikte code is zelfs met mijn beperkte inzicht al gebrekkig.
Het valt mij überhaupt mee dat bepaalde code het doet...
Na 5 jaar de code doorspitten op dat soort dingen is bijna net zoveel werk vermoed ik.

Daarbij komt dat het privé project is waarbij het buiten het gemak voor de kleine groep mensen om ook een leerproces voor mij is :*)

Nu eerst maar eens inlezen en kijken of ik wat van mijn code er in kan krijgen.
Mensen die nog een advies hebben over een goed boek voor Zend?

to linux or not ,that's my quest... | 5800X | 32GB 3800C15 | X570-Pro | 980 1TB | 7900XTX | iRacing | PVoutput


  • iH8
  • Registratie: December 2001
  • Laatst online: 13-04-2019
raymondw schreef op donderdag 30 juni 2011 @ 12:45:
Mensen die nog een advies hebben over een goed boek voor Zend?
Zend Framework in Action en nog veel meer maar je kunt ook eerst even gratis Survive the deep end lezen.

Aunt bunny is coming to get me!


Anoniem: 42791

CodeCaster schreef op dinsdag 28 juni 2011 @ 12:52:
Het is leuk om eens gedaan te hebben ja, dat loginverhaal bijvoorbeeld. Dan snap je ook beter wat er op de achtergrond allemaal gebeurt als je de volgende keer gewoon Zend_Auth gebruikt. ;) Triviale code schrijven is niet leuk, in valkuilen stappen waar duizenden anderen je al in zijn voorgegaan is ook niet leuk.

Daarom is het hameren op het gebruiken van frameworks wel nuttig. Dan kun je je tijd besteden aan het schrijven van leuke code, namelijk het stuk wat jouw applicatie uniek maakt. En als je je code een béétje netjes op orde hebt, is het migreren van dat gedeelte naar een framework niet eens zo moeilijk.
Maar wel weer erg leerzaam, want dan begrijp je des te beter waarom frameworks vaak een bepaalde manier van werken afdwingen. En je ziet het nut van bepaalde patterns als je het eerst op de foute manier deed.

Ik weet niet hoe de applicatie van de TS er nu uitziet, maar als je vanuit 0 kennis begonnen bent denk ik dat er ruimte voor verbetering is en dat een framework uitproberen een uitstekende manier is om in aanraking te komen met bewezen programmeermethoden. Ik zeg doen.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee