Spaghetti
Pagina: 1 2 3 4 5 6 volgende »
Veel code die ik hier op PHPhulp lees zijn van een beginnersniveau, spaghetticode dus. Niet dat daar iets mis mee, we zijn allemaal ooit begonnen, maar toch...
Ook gevorderde ontwikkelaars hebben problemen die ze vast willen delen, maar blijkbaar niet hier.
Daarom twee vragen:
Delen jullie deze observatie met mij?
En zo ja, wat kunnen we eraan doen om het algehele niveau van de site op te krikken.
Nogmaals, er is helemaal niets mis met het zijn van een beginner en het om hulp vragen bij beginnersproblemen. Ik zou het alleen leuk vinden als ook mensen met meer ervaring hier hun complexere problemen zouden ook delen.
Pim
Dus het zou heel erg handig zijn dat er een OO PHP handleiding komt. Dus niet alleen van returns en dergelijke, maar wat verder... Zoals bijvoorbeeld een database connectie met OO PHP.
(Ik heb al database connecties gezien, maar zoals ik al zei, er zijn er bijna geen enkele die hetzelfde zijn.)
Pim, ja ik deel die observatie met je. Ik denk dat we niet per se moeten denken aan OO enzo (dit is ook nog gericht op Aarons reactie), maar dat we misschien ook goede voorbeelden moeten maken over hoe het moet in PHP.
Ik ben zelf een tijdje geleden begonnen met SQL boilerplate. Het doel daarvan is dat ik duidelijk wil maken, doormiddel van de beste voorbeelden, hoe je nou precies een database connectie maakt en hoe je queries nou het beste uitvoert. En niet alleen voor mysql_*, maar ook voor MySQLi en PDO en natuurlijk ook voor databases als MSSQL.
Misschien dat de SQL top talenten van deze site, ik denk bijv. even aan Erwin H, hieraan ook kunnen meewerken? Zodat we een goede lap aan code die laten zien hoe het moet krijgen? (github werkt met git en deze mensen kunnen een account aanmaken en sql-boilerplate forken. Ik zal binnenkort een tutorial over GIT schrijven)
En die complexere problemen heb ik niet zo veel, meer omdat ik niet zo veel PHP script maak. Maar ik begin OO patterns, tips en trucks te leren dus misschien dat er straks wel goede voorbeelden komt.
Ik denk ook dat we de tutorial sectie wat moeten ophogen. Er zijn de laatste tijd al wat top tutorial gekomen, van Niels, Pim en ook mij. En misschien dat we dat zo vol moeten houden. Dat we door het niveau van de tutorials ook het niveau wat opkrikken. Ik weet ondertussen al niet meer waarover ik kan schrijven, dus misschien een algeheel topic, of -naar Bas Kregeler kijkend- zelfs een onderdeel op de site waar mensen hun Tutorial ideeën kunnen plaatsen zodat we ook een zicht krijgen op wat nodig is hier op PHPhulp.
Is wel een erg lang bericht geworden, kort samengevat:
Wat kunnen we eraan doen?
- Projecten ondernemen als SQL boilerplate, en dat met meerdere mensen doen.
- Tutorials schrijven die op niveau zijn en een topic (of site onderdeel) maken waarbij mensen kunnen aangeven waar vraag naar is. Zo kunnen de goede tutorials blijven komen en lopen we met de tijd mee.
- Tutorials meer op laten vallen. Tutorials zijn een beetje weggepropt hier op de site. Laat deze meer opvallen, zodat er hier mensen komen voor die tutorials en dat je niet alleen de standaard oud gediende mensen tutorials ziet lezen...
Gewijzigd op 07/01/2012 19:35:49 door Wouter J
Pim, ik zou ook (net als Aaron) de juiste manier van OOP leren, want ik zie ook telkens verschillende oplossingen. Vandaar ook mijn eerdere vraag om een simpele basis tutorial waarin een aantal basiselementen worden uitgelegd (database connectie, active records... dat soort nuttige dingen die je meteen in de praktijk kunt toepassen).
Veel mensen kopieren (via google gevonden) scripts aan elkaar vast en 'proberen' dan wat met variabelen en statements te priegelen.
Probleem is dat PHP een super-ongestructureerde programmeertaal is. (Ik ben nog uit de tijd van Algol68, LISP, Simula en dat soort talen).
In perl/PHP mag zo'n beetje alles, en de syntax is troebel.
Ik vraag me af wat er zou gebeuren als je bv. in elk script vooraan 'use strict' zou toevoegen.
Veel zaken die hier gemeld/gevraagd worden zijn problemen met kopieren+plakken en niet met echt zelf iets programmeren.
Vaak zelfs in ontwerpfase ('wie heeft er voor mij een script voor een vuurwerk-fabriek?' [eerste-jaars ICT-student])...en soms zijn de structuur-conflicten in de database-opzet, het script of de query evident.
Heb wel bewondering voor het geduld waarmee sommige meer ervaren mensen netjes blijven antwoorden.
En onbegrip voor de eigenwijsheid van sommige van die google-kids die dan ineens weer een 'hack' vinden en roepen: "jullie hadden het allemaal mis! ik weet nu hoe het zit... me script werkt" (vooral ook 'me' script)
(meestal nadat ze bv. (ondanks herhaalde adviezen) eindelijk een variabele per ongeluk buiten de quotes zetten.
Desondanks een leuk forum hier...het niveau verhogen? geen idee hoe dat moet.
Het gebruik van de Nederlandse taal hier (het misbruik beter, met taal- en spelfouten) geeft geen aanleiding om bv. het verschil tussen een variabele en een functie uit te leggen.
Als je de syntax van de eigen taal niet beheerst, wordt zelfs perl erg moeilijk.
Maar wellicht ben ik gewoon zo'n ouderwetse zak die vindt dat alles vroeger beter was?
@Pim, bedankt voor dit topic. Binnen het team spreken we al langer over het opschonen van de tutorials sectie.. maar het komt er nooit echt van. Niels wilt daar denk ik liever zelf wat over zeggen, dus ik hou me mond wel.
Ook volledig mee eens!
Ik ben uit de tijd van (Q)Basic, Framework en PAL (later ObjectPAL).
Ik ben overigens ook blij dat er nog genoeg mensen zijn op dit forum die, soms ellenlang (in straattaal inmiddels waarschijnlijk lllllllllllll), geduld hebben.
Over het 'gebruik' van de Nederlandse taal kan ik me soms ook ergeren. Het is vaak niet iets om over naar huis te schrijven (laat staan als je al niet kunt schrijven).
Gelukkig gaat deze vlieger niet voor iedereen op.
Ondanks dat tijden en de middelen veranderen: "Vroeger was er ook een jeugd van tegenwoordig".
Gewijzigd op 08/01/2012 01:28:47 door Wolf Wolf
het omhoog krikken kan voornamelijk worden gedaan om de meer geadvanceerde vragen van andere fora's te "kopieeren" en hierover te discussieren. op die manier kan iedereen zien dat er genoeg professionals hier zitten en stellen ze hun vragen ook hier. het zijn voornamelijk de beginners die hier wat vragen, en dat is zonde.. ik houd het topic in de gaten, ben benieuwd wat we hieraan kunnen doen!
@Wolf: Ik ben het inderdaad eens met het soms lage niveau van grammatica in sommige topic's. Zelf probeer ik daar ook zoveel mogelijk mensen op te attenderen, maar soms krijg je het er moeilijk uit. Zo nu en dan krijg je zelfs berichten terug met: "zal beter opleten".
Eddy Bisschops op 08/01/2012 01:31:17:
...in sommige topic's.
topic's => topics
on topic: ik geloof niet dat dit topic bedoeld is om het taalniveau van de leden te bediscussiëren, dus graag weer on topic.
Ozzie, ik denk dat het gewoon relevant is hoor? Hoe dan ook.. je zal me niet horen zeggen dat ik zelf perfecte grammatica heb maar zo nu en dan is het gewoon niet meer te lezen.. en ik denk dat je dat zelf ook wel begrijpt wat ik bedoel
ik zie regelmatig teksten voorbij komen die volledig aan elkaar worden geplakt zonder een enkel leesteken of hoofdletter ook zie ik regelmatig werkwoorden die fout worden geschreven dan vraag je je inderdaad af hoe deze mensen fatsoenlijk moeten gaan programmeren als ze al niet eens normaal nederlands kunnen schrijven
Maar goed, wat ik bedoel te zeggen... de vraag die Pim stelt heeft geen betrekking op het taalniveau van de gebruikers. Vandaar dat we daar ook niet te lang bij stil moeten blijven staan lijkt me.
Maar hoe verder..?
Een tutorial 'gestructureerd programmeren'?
We hoeven ons niet te meten met de populariteit en kwaliteit van engelstalige fora...we moeten eerst maar eens goed worden in ons eigen taalgebied.
Hoe leg je mensen uit wat programmeren is (srcipts craften dus) en dat dat iets anders is dan dingen kopieren+plakken uit google?
En dat je begint met:
$string='Hello world';
echo $string;
etc.
echo 'vr. gr. Herman';
Gewijzigd op 08/01/2012 01:50:41 door Herman van Ree
@Herman, als ik het goed begrijp wil je dus echt een soort tutorial maken vanaf de basis? Dat zou eventueel wel kunnen als we daar een soort groepje voor samenstellen.
Ja... een beginners-tutorial
waarin basisdingen worden uitgelegd.
Ikzelf was een alpha-student die zich in 1975 moest verdiepen in computers en programmeertalen.
En geen enkel leerboek over programmeertalen was begrijpelijk. (voor een alpha)
En dat geldt nog steeds.
(uitzondering een boekje over Pascal, maar daar hebben we niet veel aan).
Pak een willekeurige manual over perl/PHP en je kunt er alles vinden als je weet waar je naar moet zoeken.
Maar als je niks weet (bv. niet dat er een case-statement bestaat, of een if-then-else, een for each, of een while, let alone een substr, of een lenght, of is-numeric) dan zijn de gebruikelijke tutorials erg ontoegankelijk.
Kortom als je geen enkele (programmertaal)-syntax kent...weet je niet waar je moet zoeken en moeten je eerst de basisbegrippen worden bijgebracht.
Een tutorial die variabelen (div. soorten) uitlegt, declaraties, loops en dat soort zaken eenvoudig verduidelijkt lijkt me wenselijk als ik de problemen zie waar mensen hier soms mee worstelen.
Ze kopieren vaak iets van internet...sleutelen er aan en dan werkt het niet!
En dan komen de vragen hier. En vaak is dan de broncode al twijfelachtig, dus je weet niet waar je moet beginnen met antwoorden/reageren.
Moet je het ge-kopieerde/geplakte becommentarieren, of de wijzigingen die de vragensteller tracht aan te brengen?
Dan heb ik het nog niet over databases en het opzetten daarvan
Eigenlijk dus een groot bijvak informatica.
Benieuwd of dat op dit forum gaat lukken
Ik ben momenteel bezig met een algemene tutorial (zal wel een boekwerk worden) voor beginners. Hierin staan de volgende hoofdstukken (incl. praktijkopdrachten):
1. Introductie in PHP
2. Het opzetten van een lokale webserver
3. Echo & Print
4. Variabelen
5. Voorgedefinieerde variabelen
6. Condities
7. Lussen
8. Arrays (staat als eerste om aangevuld te worden)
Er moet natuurlijk nog veel meer bijkomen, waaronder het belangrijke deel "De connectie met MySQL", maar dit vergt ook de nodige tijd. Eventueel kan ik binnenkort Deel 01 van de tutorial plaatsen (H1 t/m H7).
Om maar even een idee de discussie in te gooien: Waarom zetten we geen wiki op waar we echt een goede grote tutorial maken? Het is onmogelijk voor één persoon om dit allemaal te doen!
Omdat zoeken/testen te veel tijd kost (het moet zondag klaar), gooien ze hier, zo beknopt mogelijk, de vraag neer. Tijd om zelf te zoeken hebben ze niet: ze drukken voortdurend op F5 om te refreshen om te kijken of er al een reactie is. Als een antwoord niet een kant en klare oplossing is, posten ze binnen een paar minuten dat het net niet is wat ze zoeken, dat ze het niet begrijpen of dat degene die reageert niet goed gelezen heeft.
Tips en adviezen worden genegeerd met excuses als 'het werkt toch?', 'Beveiliging/foutafhandeling bouw ik later wel', 'van mijn leraar hoeft dat allemaal niet hoor'.
Bovenstaande is misschien de meest negatieve samenvatting, maar zie toch regelmatig topics voorbij komen die veel van deze elementen in zich hebben. Ik kan op zulke momenten ook alleen maar bewondering hebben voor degenen die daar elke keer weer tijd aan besteden.
Jammer vind ik het soms wel dat er kant en klare code wordt neergezet. Als iemand de nodige moeite heeft gedaan: prima. Maar iemand die uit lijkt op alleen copy/paste, zou ik subtiel (blijven) verwijzen naar relevante topics/sites.
Hoe je hierin verandering kunt brengen? Dat zou ik helaas zo ook niet weten. Denk dat vooral beginners (dezelfde) fouten maken. Dan zoeken ze met Google op php en hulp en voila...
Vind het alleen zo jammer dat ze niet zelf wat moeite doen om dingen uit te zoeken (en dan eventueel hier na te vragen of het juist is).
Gewijzigd op 08/01/2012 09:36:20 door Obelix Idefix
mod-edit::
Slechte topictitel
Een goede topictitel is kort, duidelijk en beschrijvend. Slechte topictitels zijn: help, fout, lukt niet, werkt niet, error, probleem, doet het niet, enz.
Uitroeptekens staan schreeuwerig en zouden niet in titels moeten staan.
Een goede topictitel is kort, duidelijk en beschrijvend. Slechte topictitels zijn: help, fout, lukt niet, werkt niet, error, probleem, doet het niet, enz.
Uitroeptekens staan schreeuwerig en zouden niet in titels moeten staan.
Nu kunnen we hier net zo'n beleid als op GoT gaan uitvoeren maar ik denk dat dat geen enkele zin heeft omdat je dan de criteria weer te hoog legt, het zijn toch voornamelijk jongeren die hier de vragen stellen.
Wat misschien wel helpt is op de 'geef mij code' niet te reageren en een moderator een opmerking te laten plaatsen dat het niet aan de eisen voldoet. Het nadeel daarvan is dat er weer off-topic gereageerd gaat worden (net als in die vele vacature topics).
Op dit moment doe ik ook de opleiding Applicatie Ontwikkelaar en zie vooral in het eerste jaar dat er veel gekopieerd en geplakt wordt. Ze zoeken een script om te selecteren en een om te deleten en prutsen die half werkend in elkaar. Je zou dan denken dat dat nooit goed gekeurd wordt maar de docent zegt er niets van, zelfs niet als er iemands anders naam boven staat...
Dit komt door 2 redenen, tijdsdruk en niet goed lezen, over dat laatste las ik laatst een leuke blogpost over jongeren, jongeren lezen niet maar jongeren stuiteren over het internet. Misschien is het handig om 'als community' een aantal tutorials te maken speciaal voor de doelgroep jongeren...
Edit
Nog een leuke aanvulling is dit topic. Er wordt een normale, duidelijke vraag gesteld waar niks mee is. Er wordt een antwoord gegeven waar ook niks mis mee is maar zodra de TS zegt dat die het toch liever anders doet krijgt die de wind van voren. In plaats van een grote mond geven kun je beter uitleggen wat daarvan de voor/nadelen zijn zodat er een discussie start, daar is het forum voor. Niet alleen vragen en antwoorden maar ook delen van ervaringen.
Gewijzigd op 08/01/2012 12:12:31 door Bram Boos
Maar goed, het ligt denk aan het imago van PHPHulp wat deze mensen aantrekt. Ik merk dat er inderdaad veel scholieren en ook hobby'isten op deze site zich bevinden. Ook als ik het over PHPHulp heb bij mijn klanten (nu bijv. Telegraaf) wordt er altijd een beetje gelachen door ervaren ontwikkelaars en gezegd 'ja dat is voor beginners'.
Ik denk dat een forum als Stackoverflow het met techniek erg goed heeft opgelost om het niveau op te krikken kijk maar eens goed naar die site.
Kees Schepers op 08/01/2012 12:13:42:
Ik kan me heel erg vinden in Pim zijn mening, en eigenlijk heb ik vaak alleen de behoefte om iemand te helpen als het om een moeilijkere vraag gaat en het liefst ook iets wat te maken heeft met Zend Framework. Ik denk dat er niet meer dan 20 leden zijn op dit hele forum die echt met frameworks bezig zijn.
Dat zijn er denk ik toch meer dan je denkt. Alleen je hebt wel een punt. Sinds ik met frameworks (Zend, CodeIgniter) bezig ben heb ik eigenlijk weinig vragen gehad, de vragen die ik had wist Google wel antwoord op. Als je eenmaal weet waar je naar moet zoeken dan wordt alles zo veel makkelijker waardoor het aanmaken van een topic overbodig is...