Verwijderd
Alles behalve het ze opdringen! Dat werkt averrechts. Vooral laten zien wat jij veel sneller kunt met die koele refactor toolsGrijze Vos schreef op vrijdag 21 oktober 2011 @ 14:08:
Nu we het toch over refactoren hebben. Iemand enig idee hoe je je collega's dat kan aanleren?
Heh, wij hebben laatst een nieuwe versie van het XSD schema gekregen, waarbij het XSD zelf niet valideert.Verwijderd schreef op vrijdag 21 oktober 2011 @ 12:49:
Deze week voor de zoveelste keer van een aanleverende partij een XSD-schema gehad voor de XML die zij gaan aanleveren. Op zich hartstikke mooi natuurlijk, kunnen wij fijn de XML valideren bij binnenkomst. Beetje jammer dat de aanleverende partij de XSD zelf niet gebruikt en hij dus vol met fouten stond
. En helaas lijkt dat tegenwoordig meer regel dan uitzondering te zijn...
Bovendien werd het aangeleverd als volgt "op http://website/schemas/versie/ staat de nieuwe release van het schema". Heel aardig, behalve dat de 4 schema's die op die locatie staan, op hun beurt verwijzingen bevatten naar een hoop andere schema's allemaal via http. De eerste testversie hadden ze mooi aangeleverd in een ZIP bestand met alle nodige dependencies, en met verwijzingen via een relatief pad. Een stuk makkelijker om mee te valideren.
Even gevraagd of we van de officiele release ook zo'n ZIP file konden krijgen, en dat was geen probleem voor één van de programmeurs aan de andere kant. De dag erna krijgen we dan wel een ietwat boze mail van de projectmanager aan de andere kant dat het niet de bedoeling is dat we die ZIP-snapshots gebruiken maar enkel officiële releases.
Het zou dan wel handig zijn als die officiële releases correct zijn, en ook werkbaar.
Gewoon zelf toestemming krijgen om te mogen refactoren kost me al genoeg tijd en energieGrijze Vos schreef op vrijdag 21 oktober 2011 @ 14:08:
Nu we het toch over refactoren hebben. Iemand enig idee hoe je je collega's dat kan aanleren?
Euhm, als dat je beeld van refactoren is heb je nog een lange weg te gaan...Verwijderd schreef op vrijdag 21 oktober 2011 @ 14:48:
[...]
Vooral laten zien wat jij veel sneller kunt met die koele refactor tools
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Wat ik weet over php refactoring is dat er best wat goede talks, presentaties en blog artikelen bestaan onder de titel "practical php refactoring". Je komt dan uit op bijvoorbeeld deze serie of deze presentatie. Best interessant om te lezen en vervolgens proberen toe te passen (dat is het grootste stuk van leren: doen!).Grijze Vos schreef op vrijdag 21 oktober 2011 @ 14:08:
Nu we het toch over refactoren hebben. Iemand enig idee hoe je je collega's dat kan aanleren?
Ik wist dat ik het zou terugkrijgen door php te noemenMBV schreef op vrijdag 21 oktober 2011 @ 16:59:
Ik neem aan dat grijze vos het niet heeft over trucjes om je code er beter uit te laten zien (en al helemaal niet PHP) maar meer hoe je je collega's er in het algemeen een keer over laat nadenken. Ik zie dat vooral als een mentaliteitsprobleem.
De vraag kan je op twee manieren opvatten. Het ene antwoord is met boeken & leermiddelen. De ander is een kwestie van managementstechniek, niet iets waarvoor je eigenlijk 123 een antwoord kan geven (denk ik). Beste methode is het creëren van zelf-inzicht, maar dat kan echt niet iedereen.
Nu maar mooi CultureInfo.CurrentCulture aangeroepen
We are shaping the future
Verwijderd
Nee, refactoren is veel meer dan die tools, maar een tool als Resharper heeft mijn collega's veel openbaringen gegeven, nadat ik ze die mooie tools had laten zienGrijze Vos schreef op vrijdag 21 oktober 2011 @ 15:56:
[...]
Euhm, als dat je beeld van refactoren is heb je nog een lange weg te gaan...
Ps; Misschien interessant om dit ff in een apart topic te trekken? Er valt genoeg over te discusseren en zeker een interessant onderwerp over werkwijzes van iedereen ed....
[ Voor 23% gewijzigd door Verwijderd op 21-10-2011 19:42 ]
Toestemming vragen?MBV schreef op vrijdag 21 oktober 2011 @ 15:29:
[...]
Gewoon zelf toestemming krijgen om te mogen refactoren kost me al genoeg tijd en energie
Doe je zeker ook voor het schrijven van unit tests?
Nee, refactoren (en tests schrijven) zijn van die dingen die je gewoon moet doen, klein beginnen, en natuurlijk je collega's mee laten kijken.
Sterker nog: dat er niet gerefactord wordt geeft aan dat je blijkbaar bij een club einzelgangers zit (mogelijk met koptelefoons op). Eerste wat je zou moeten doen is samenwerken aan een project, en dan niet 'dit is mijn module, die is van jou', maar 'dit is onze code' en 'ik weet precies wat m'n buurman aan het doen is'.
Pairen, code reviews, en gewoon praten met je buurman. Op het werk zit ik tegenwoordig met z'n tweeën achter één bureau (is wel een breed bureau), en ik weet (ongeveer) evenveel van wat we gebouwd hebben als mijn collega en vice-versa. En da's niet onbelangrijk.
* YopY vandaag ~20 bugs gefixed heeft in een paar uur, ook in code die niet van /me is.
Ja, want dáár wordt het beter van. Standaard CSV-files niet snappen omdat ze kommagescheiden zijn (je weet wel: comma separated values). Want ja, in Nederland gebruik je daar toch ; voor?Alex) schreef op vrijdag 21 oktober 2011 @ 17:52:
Nu maar mooi CultureInfo.CurrentCulture aangeroepen
I'm looking at you, Excel. Wat een ergernis is dat. 0.1234567 betekent *niet* 1.234.567,-, maar 0,1234567, you stupid piece of engineering. Een bestandsformaat hoort niet culture-afhankelijk te zijn...
[/rant]
en laat ik over de gelocaliseerde functienamen maar niet beginnen
[quote][quote]ValHallen schreef op woensdag 19 oktober 2011 @ 14:38:
[...]
[/quote]
Kssjt, ga eens weg, gij persoon-met-nickname-die-op-de-mijne-lijkt
[ Voor 21% gewijzigd door ValHallASW op 21-10-2011 21:58 ]
Verwijderd
Haha, dat is dan vervolgens weer een probleem inderdaad.ValHallASW schreef op vrijdag 21 oktober 2011 @ 21:55:
[...]
Ja, want dáár wordt het beter van. Standaard CSV-files niet snappen omdat ze kommagescheiden zijn (je weet wel: comma separated values). Want ja, in Nederland gebruik je daar toch ; voor?
I'm looking at you, Excel. Wat een ergernis is dat. 0.1234567 betekent *niet* 1.234.567,-, maar 0,1234567, you stupid piece of engineering. Een bestandsformaat hoort niet culture-afhankelijk te zijn...
[/rant]
en laat ik over de gelocaliseerde functienamen maar niet beginnen
offtopic:
[quote][quote]ValHallen schreef op woensdag 19 oktober 2011 @ 14:38:
[...]
[/quote]
Kssjt, ga eens weg, gij persoon-met-nickname-die-op-de-mijne-lijkt;-)
Nee, 'scrum'-achtig, dus iedereen weet wat je doet zo'n dag. "Waarom ben je met dat ene kleine dingetje nou 2 dagen bezig?" En ik ken genoeg mensen die het slechter refactoren, of na 3 dagen refactoren erachter komen dat de oorspronkelijke oplossing wel de beste was. Dus een klein beetje een rem op refactoren is wel handig, zeker als het over 3 maanden af moet zijn.
Unit tests? Wat is dat?Doe je zeker ook voor het schrijven van unit tests?
Nee, het andere eind van het spectrum. Code is ooit geschreven door iemand die hier niet meer werkt, en niemand durft het vervolgens nog aan te raken want het werkt nu (een beetje). En nodeloos ingewikkelde code zet ik rigoureus het mes in, ook als dat code is die net door mijn buurman is geschreven. Zeker als die 3 weken op vakantie is, en een paar bugs heeft achtergelatenSterker nog: dat er niet gerefactord wordt geeft aan dat je blijkbaar bij een club einzelgangers zit (mogelijk met koptelefoons op). Eerste wat je zou moeten doen is samenwerken aan een project, en dan niet 'dit is mijn module, die is van jou', maar 'dit is onze code' en 'ik weet precies wat m'n buurman aan het doen is'.
Code reviews doen we standaard voor elke commit naar de main branch (elk opgeloste ticket), maar daar haal ik nog lang niet genoeg uit. Als in klasse A gesynchroniseerd wordt om met klasse B te praten, maar klasse B dat zelf al deed, dan valt dat niet op tijdens de review van klasse A.
Hoe groot is de code base waar jij aan werkt eigenlijk? Toen ik nog op een kleiner project werkte (intranet van een MKB-bedrijf dat werd onderhouden met 3 man) kende ik na een half jaar de hele code-base wel genoeg om te weten wat niet handig was, maar bij mijn huidige opdracht zitten we in totaal met 150 man aan een groot project te werken. Daarbij heb ik dat overzicht totaal niet, en door gebrek aan specs en architectuur heb je ook daaraan geen houvast.
Had ik moeten zien aankomen dat unieke gebruikers ID's te pas en te onpas kunnen veranderen?
En zo ja hoe moet ik dan uitvinden of een gebruikersrecord wat ik toegestuurd krijg een update of een nieuw record is? (kan wel van bijv. de naam uitgaan, maar er zal maar een typfout gemaakt zijn die ook gelijk even verbeterd is)
¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸
Ik onderhoud de website van een zweefvliegclub. Iemand anders onderhoud een programma waarin de vluchtadministratie wordt bijgehouden. Dat programma stuurt na iedere vliegdag een XML-bestand naar de website met updates over de gemaakte vluchten en eventuele mutaties van het ledenbestand.
Dat ging dus mis, omdat ik niet bedacht had dat ook een gebruikers ID kan muteren. Opzich misschien een fail van mij (dat ik dat niet check), maar in mijn ogen hóórt een ID helemaal niet te kunnen muteren?
Een oplossing komt er wel hoor, in goed overleg met de andere programmeur. We hoeven hier geen troubleshoot te houden wat mij betreft
dan had je moeten wekren met een UID & id..
dus uniqueid dat nooit never ever kan veranderen.. en een id die kan muteren..
MT Venus E 5KW (V151) P1 HomeWizard | Hackerspace Brixel te Hasselt (BE) - http://www.brixel.be | 9800X3D, 96GB DDR5 6000MHZ, NVIDIA GEFORCE 4090, ASRock X670E Steel Legend, Seasonic GX1000
Verwijderd
db_koe.verwijderenKoe(koe_nr); leuk, ik hou ook van meervoud..
Koe verwijder = new Koe(); goeie naam voor een object! Héél duidelijk vooral :-)
verwijder.verwijder(); dus dat object Koe de non static method 'verwijder', 'opslaan' of 'wijzig' heeft en daarin pas de database aanroept. Dus object mens heeft ook de method; zelfmoord? juist.
boolean isMomenteelNietJarig = true leuk een dubbele ontkenning.. wat dacht je van; isJarig = false?
Kom je van het MBO op HBO informatica, zit je in een klas met mede mbo'ers die daar blijkbaar niets hebben geleerd. Hele gekke constructies heb ik gezien, leuk dat ik alles moet gaan uitleggen en ze daarna alsnog moet verbeteren.. En zij wilden persé nederlands programmeren en dan gaan ze alsnog engelse woorden gebruiken.
Dit is geen meervoud, maar de onbepaalde wijs (of infinitief) van het werkwoord verwijderen.Verwijderd schreef op zaterdag 22 oktober 2011 @ 15:16:
Waar ik mij aan erger in mijn project:
db_koe.verwijderenKoe(koe_nr); leuk, ik hou ook van meervoud..
Verwijderd
Ik kom dus ook van het MBO, jeweetwel; daar waar je geen nederlands en engels kreegRemus schreef op zaterdag 22 oktober 2011 @ 15:19:
[...]
Dit is geen meervoud, maar de onbepaalde wijs (of infinitief) van het werkwoord verwijderen.
Ik neem toch aan dat je basisschool hebt gedaan. Daar wordt toch echt nederlands onderwezen en moet je ook zinnen ontleden en werkwoorden vervoegen.Verwijderd schreef op zaterdag 22 oktober 2011 @ 15:24:
[...]
Ik kom dus ook van het MBO, jeweetwel; daar waar je geen nederlands en engels kreeg
Ik had laatst iets vergelijkbaars. We moeten een SOAP call doen naar een andere partij, maar toen ik naar de documentatie vroeg kreeg ik alleen 2 XSD's opgestuurd. De eerste was voor de request-body en de tweede voor de response-body. De WSDL bleek niet te bestaan en andere documentatie was er ook niet. Sterker nog, de contactpersoon kon mij niet eens met zekerheid vertellen naar welke URL ik de request kon sturen.Verwijderd schreef op vrijdag 21 oktober 2011 @ 12:49:
Deze week voor de zoveelste keer van een aanleverende partij een XSD-schema gehad voor de XML die zij gaan aanleveren. Op zich hartstikke mooi natuurlijk, kunnen wij fijn de XML valideren bij binnenkomst. Beetje jammer dat de aanleverende partij de XSD zelf niet gebruikt en hij dus vol met fouten stond
. En helaas lijkt dat tegenwoordig meer regel dan uitzondering te zijn...
Pas na veel gemail en andere 'experts' gevraagd te hebben kwamen we achter de URL en kregen we een voorbeeld request/response opgestuurd. Toen bleek het noodzakelijk dat er ook een SOAP-header meegestuurd moest worden vol met magische waardes (bijvoorbeeld een PartyInfo element waar Test in stond en waar geen enkele andere waarde die ik kon verzinnen geaccepteerd werd). Tevens was er een uniek volgnummer voor elk request nodig, zodat we je juiste response erbij konden vinden
Uiteindelijk krijg je het gevoel dat je per simpele aanvraag ongeveer 15kb aan dataverkeer aan het verstoken bent voor iets wat ook binnen een 1kb past...
Aarghh...
Verwijderd
Ik was vroeger al lui en lette nooit op in de klas (ik was een uit-het-raam-kijker)Remus schreef op zaterdag 22 oktober 2011 @ 15:36:
[...]
Ik neem toch aan dat je basisschool hebt gedaan. Daar wordt toch echt nederlands onderwezen en moet je ook zinnen ontleden en werkwoorden vervoegen.
In ieder geval weet ik hoe ik wél moet programmeren xD Echt heel jammer dat mensen onleesbare code schrijven
Verwijderd
Toevallig telecom gerelateerde berichten?Marcj schreef op zaterdag 22 oktober 2011 @ 16:03:
[...]
Ik had laatst iets vergelijkbaars. We moeten een SOAP call doen naar een andere partij, maar toen ik naar de documentatie vroeg kreeg ik alleen 2 XSD's opgestuurd. De eerste was voor de request-body en de tweede voor de response-body. De WSDL bleek niet te bestaan en andere documentatie was er ook niet. Sterker nog, de contactpersoon kon mij niet eens met zekerheid vertellen naar welke URL ik de request kon sturen.
Pas na veel gemail en andere 'experts' gevraagd te hebben kwamen we achter de URL en kregen we een voorbeeld request/response opgestuurd. Toen bleek het noodzakelijk dat er ook een SOAP-header meegestuurd moest worden vol met magische waardes (bijvoorbeeld een PartyInfo element waar Test in stond en waar geen enkele andere waarde die ik kon verzinnen geaccepteerd werd). Tevens was er een uniek volgnummer voor elk request nodig, zodat we je juiste response erbij konden vinden. Volgens mij gebruiken we toch HTTP verbindingen die ervoor zorgen dat ik een antwoord per vraag krijg?
Uiteindelijk krijg je het gevoel dat je per simpele aanvraag ongeveer 15kb aan dataverkeer aan het verstoken bent voor iets wat ook binnen een 1kb past...
Aarghh...
Klopt, ik ben er later ook achter gekomen dat ze één of ander enterprise framework gebruiken, maar daar wisten ze zelf ook niet echt wat van.Verwijderd schreef op zaterdag 22 oktober 2011 @ 17:05:
[...]
Toevallig telecom gerelateerde berichten?
Ik vind het ook jammer dat mensen vaak zo onleesbaar Nederlands schrijven... Je kan wel zeggen dat je vroeger nooit hebt opgelet, maar dat wil nog niet zeggen dat je het niet bij kan spijkerenVerwijderd schreef op zaterdag 22 oktober 2011 @ 16:58:
In ieder geval weet ik hoe ik wél moet programmeren xD Echt heel jammer dat mensen onleesbare code schrijven
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Of het excuus; ik bne disleksies en ken darom niet goet tiepun..oisyn schreef op zaterdag 22 oktober 2011 @ 17:17:
Ik vind het ook jammer dat mensen vaak zo onleesbaar Nederlands schrijven... Je kan wel zeggen dat je vroeger nooit hebt opgelet, maar dat wil nog niet zeggen dat je het niet bij kan spijkeren. 't Is meestal geen onkunde, het is gewoon onwil.
Je hebt toch niet voor niets spellingscontrole, dat is ook niet altijd heilig, maar kan in ieder geval al echte foute woorden eruit vissen.
If money talks then I'm a mime
If time is money then I'm out of time
Verwijderd
Maar iig, ik heb een voorbeeld!;
1
2
3
4
5
6
7
8
| //Als er geen fouten optreden, voeg toernooi toe.
if (!fout) {
trn.wijzigen();
//Laat de errors zien via een popup scherm
} else {
JOptionPane.showMessageDialog(null, trn.getLastErrors());
} |
Dit is gewoon vage code als je het mij vraagt
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Verwijderd
Dan zijn dat de XSD's waar ik ook op doelde..Marcj schreef op zaterdag 22 oktober 2011 @ 17:16:
[...]
Klopt, ik ben er later ook achter gekomen dat ze één of ander enterprise framework gebruiken, maar daar wisten ze zelf ook niet echt wat van.
1
| custom_step(crypt(md5(sha1(sha2(mcrypt_cbc($password))))+stream_filter_append($rand,$seed,STREAM_FILTER_WRITE, $opts))+"123", $seed); |
Clusterbomb encryption?
gejat
IMHO is commentaar in het Nederlands per definitie erg. Je weet nooit wanneer je een niet-Nederlandse collega gaat krijgen.P-Storm schreef op zaterdag 22 oktober 2011 @ 18:41:
Volgens mij is daar ook nog wel een extension voor te vinden, die comments en mogelijk variabele/method namen controleerd op spelling. En heb hetzelfde gevoel als Grijze Vos. Commentaar in het Nederlands is niet erg, maar dan zal het wel consequent gebeuren.
https://niels.nu
Jammer dat het voorbeeld niet goed is.YopY schreef op zaterdag 22 oktober 2011 @ 21:47:
PHP:
1 custom_step(crypt(md5(sha1(sha2(mcrypt_cbc($password))))+stream_filter_append($rand,$seed,STREAM_FILTER_WRITE, $opts))+"123", $seed);
Clusterbomb encryption?
gejat
In PHP concat je strings namelijk met een punt en niet met een plus zoals in zowat alle andere talen. Altijd fijn als je weer overstapt van of naar PHP toe. Hetzelfde met de dollartekens voor variabelen
Het zou nog Perl kunnen zijn als ze stream_filter_append zelf hebben gedefinieerd of uit een library pakken geloof ikalex3305 schreef op zondag 23 oktober 2011 @ 00:37:
[...]
Jammer dat het voorbeeld niet goed is.
In PHP concat je strings namelijk met een punt en niet met een plus zoals in zowat alle andere talen. Altijd fijn als je weer overstapt van of naar PHP toe. Hetzelfde met de dollartekens voor variabelen.
Een dyslectische kennis werd gek van alle rode kriebellijntjes. Dus had hij de spellingcontrole maar uitgezetMatis schreef op zaterdag 22 oktober 2011 @ 17:29:
[...]
Of het excuus; ik bne disleksies en ken darom niet goet tiepun.
Je hebt toch niet voor niets spellingscontrole, dat is ook niet altijd heilig, maar kan in ieder geval al echte foute woorden eruit vissen.
Mijn commentaar zet ik altijd in het Nederlands neer. Het vertalen naar het Engels en de mogelijkheid dat andere collega's het niet geheel of verkeerd begrijpen vind ik één van de belangrijke aspecten daarin.Hydra schreef op zondag 23 oktober 2011 @ 00:32:
[]P-Storm schreef op zaterdag 22 oktober 2011 @ 18:41:
Volgens mij is daar ook nog wel een extension voor te vinden, die comments en mogelijk variabele/method namen controleerd op spelling. En heb hetzelfde gevoel als Grijze Vos. Commentaar in het Nederlands is niet erg, maar dan zal het wel consequent gebeuren.[]
IMHO is commentaar in het Nederlands per definitie erg. Je weet nooit wanneer je een niet-Nederlandse collega gaat krijgen.
Van stukken voorbeeldcode die ik van het internet heb geplukt blijft het commentaar in het Engels staan. Dit omdat ik dan weet dat ik er niets aan heb veranderd, en ook de interne werking niet helemaal heb uitgeplozen.
Speel ook Balls Connect en Repeat
Helaas, dat kan niet, denk ik. Je moet toch een bepaalde mindset hebben, je moet je op z'n minst netjes wíllen programmeren, je moet Clean Code wíllen lezen in je vrije tijd (reminds me: die moet ik ook nog bestellenGrijze Vos schreef op vrijdag 21 oktober 2011 @ 14:08:
Nu we het toch over refactoren hebben. Iemand enig idee hoe je je collega's dat kan aanleren?
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Jij hebt collega's die code zien en geen Engels kunnen?Onbekend schreef op zondag 23 oktober 2011 @ 10:08:
Mijn commentaar zet ik altijd in het Nederlands neer. Het vertalen naar het Engels en de mogelijkheid dat andere collega's het niet geheel of verkeerd begrijpen vind ik één van de belangrijke aspecten daarin.
Dat zijn al 2 WTFs:Van stukken voorbeeldcode die ik van het internet heb geplukt blijft het commentaar in het Engels staan. Dit omdat ik dan weet dat ik er niets aan heb veranderd, en ook de interne werking niet helemaal heb uitgeplozen.
- Mengelmoes van Engels en Nederlands commentaar
- Code copy-pasten waarvan je de werking niet 100% snapt.
Beetje een OCD-er zijn helpt denk ik. Als je code ziet waarvan je weet dat 't beter kan moeten je tengels gaan jeuken. Da's IMHO een van de kwaliteiten van een goeie programmeur.CodeCaster schreef op zondag 23 oktober 2011 @ 10:25:
Helaas, dat kan niet, denk ik. Je moet toch een bepaalde mindset hebben
[ Voor 19% gewijzigd door Hydra op 23-10-2011 10:53 ]
https://niels.nu
Helaas heb ik vaak zulke bedroevende vertalingen gezien, dat ik soms blij ben met nederlands...Hydra schreef op zondag 23 oktober 2011 @ 00:32:
IMHO is commentaar in het Nederlands per definitie erg. Je weet nooit wanneer je een niet-Nederlandse collega gaat krijgen.
En het is IMHO
Dan kun je, weer IMHO, toch beter gewoon nederlands commentaar blijven gebruiken.
Jij gebruikt nooit libraries?Hydra schreef op zondag 23 oktober 2011 @ 10:52:
Dat zijn al 2 WTFs:
- Mengelmoes van Engels en Nederlands commentaar
- Code copy-pasten waarvan je de werking niet 100% snapt.
Een van de kwaliteiten van een betere programmeur is dat je ook snapt dat je soms beter met je tengels van code af kunt blijven. Refactoren doe je om te voorkomen dat je iets op twee plaatsen doet, dus dat kan zijn op het moment dat je anders code moet kopiëren (nieuwe feature) of dat je anders een wijziging op twee punten moet doorvoeren (bugfix). Het is ook prima om tijdens het schrijven na te denken over waar het handig is om een stapje extra te abstraheren, maar een extra abstractielaag toevoegen hoeft het geheel niet duidelijker te maken!Beetje een OCD-er zijn helpt denk ik. Als je code ziet waarvan je weet dat 't beter kan moeten je tengels gaan jeuken. Da's IMHO een van de kwaliteiten van een goeie programmeur.
Sommige mensen hebben wat moeite om de tekst in correct Engels op te schrijven (waaronder ik). Om te voorkomen dat bepaalde functionaliteiten (wat dus in het commentaar is vermeldt) verloren gaan, hebben wij besloten dat het Nederlands moet worden.Hydra schreef op zondag 23 oktober 2011 @ 10:52:
Jij hebt collega's die code zien en geen Engels kunnen?
Dat is helemaal niet erg. We weten exact wat er is uitgezocht, en wat nog een onbekend stuk is. Sterker nog, aan de hand van de schrijfwijze van het commentaar kunnen we precies zien wie welk stukje commentaar heeft geschreven, zonder dat er een naam bij staat.Dat zijn al 2 WTFs:
- Mengelmoes van Engels en Nederlands commentaar
Het uiteindelijke resultaat is belangrijk. Op de manier waarop de code aan het resultaat komt maakt niets uit. Het begrijpen van de werking komt later wel als je iets toe wilt voegen of aan wil passen. Zolang daar geen behoefte naar is, kan de code gewoon blijven werken zoals die oorspronkelijk is geschreven.- Code copy-pasten waarvan je de werking niet 100% snapt.
Speel ook Balls Connect en Repeat
1
2
3
4
5
6
7
| if (!HasErrors())
{
// lees comment als code die iets doet :)
} else
{
// lees comment als code die iets anders doet :)
} |
Als je er vervolgens voor kiest om onduidelijke code te schrijven (onduidelijke namen voor functies of voor variabelen die belangrijk zijn) is het punt om te starten met documenteren, en dan leren de meeste programmeurs (die liever code schrijven dan documentatie) het schrijven van onwijs moeilijk leesbare code (door bijvoorbeeld te kiezen voor de meest vage namen voor variabelen) gelijk af
[ Voor 10% gewijzigd door mindcrash op 23-10-2011 11:59 ]
"The people who are crazy enough to think they could change the world, are the ones who do." -- Steve Jobs (1955-2011) , Aaron Swartz (1986-2013)
Tja, ieder z'n ding. Ik ben in ieder geval blij dat ik niet bij jouw bedrijf werk danOnbekend schreef op zondag 23 oktober 2011 @ 11:43:
Sommige mensen hebben wat moeite om de tekst in correct Engels op te schrijven (waaronder ik). Om te voorkomen dat bepaalde functionaliteiten (wat dus in het commentaar is vermeldt) verloren gaan, hebben wij besloten dat het Nederlands moet worden.
Daarnaast krijgt de OCDer in mij echt jeuk van Nederlandse termen / functienamen in code
Tja. Ik vind die instelling een WTF in zichzelf. Voor het vinden van bugs in je systeem is het gewoon belangrijk dat je weet wat code doet. Als jij niet zit dat die code ergens in je session zit te frutten ofzo (om maar een zijstraat te noemen) ga je nooit de fouten vinden die daardoor optreden omdat je niet weet dat die code daar 'aanzit'.Het uiteindelijke resultaat is belangrijk. Op de manier waarop de code aan het resultaat komt maakt niets uit.
Daarnaast vind ik dat je code die je van het internet plukt per definitie moet wantrouwen.
Ik zie niet wat dat te maken heeft met code schrijven in een mengsel van Nederlands en Engels. Dat je code in princiepe self-documenting moet zijn is gewoon bijna een natuurwet.mindcrash schreef op zondag 23 oktober 2011 @ 11:57:
En daarnaast is er ook zoiets als self-documenting code. Als de code vanzelf spreekt (en vrij simpel is) is een stuk documentatie als ("doe x als er geen error optreed") IMHO overbodig als deze al in een blok staat als
[ Voor 21% gewijzigd door Hydra op 23-10-2011 14:02 ]
https://niels.nu
Bij ons wordt de documentatie samen met het functioneel ontwerp en release notes grotendeels vooraf geschreven. Pas na het programmeren worden een aantal details aangepast en is het document ook klaar.
Ik verwacht trouwens niet dat bij ons binnen 5 tot 10 jaar de source door niet-Nederlanders gelezen moet kunnen worden.
Speel ook Balls Connect en Repeat
Mijn mindset is veranderd toen een keer een review over mijn code werd gedaan en die collega zei "dit is verschrikkelijk".CodeCaster schreef op zondag 23 oktober 2011 @ 10:25:
quote:
Nu we het toch over refactoren hebben. Iemand enig idee hoe je je collega's dat kan aanleren?
Helaas, dat kan niet, denk ik. Je moet toch een bepaalde mindset hebben, je moet je op z'n minst netjes wíllen programmeren, je moet Clean Code wíllen lezen in je vrije tijd (reminds me: die moet ik ook nog bestellen).
Samen met een andere collega (een guru
Sindsdien ben ik anders naar de code gaan kijken. Niet meer "omdat het zo ook in de rest van de applicatie wordt gedaan", maar "continue willen verbeteren, ookal is het dit kleine stukje".
Dus een paar uurtjes met je collega zitten en voordoen hoe het ook anders kan.
Of ze het willen leren is weer wat anders en zal denk ik ook afhangen hoe ze jou zien. Zien ze jou als expert waar ze wat van kunnen leren (zoals ik die andere collega zag) dan zal het wel lukken. Als ze jou zien als "betweter" dan wordt het moeilijk.
Je kan ook proberen met het boek "clean code" rond te spreiden
let the past be the past.
Verwijderd
Deze 'iemand' is vaak engels, waardoor engelse code én comment het beste in het engels kan zijn. Maar als het bedrijf waar je werkt weinig ambities heeft om internationaal door te groeien, dan is dat hun keus.. ;-)
Ik probeer comments vaak ook te voorkomen (functie omschrijvingen mbv summery(c#)/javadoc bedoel ik hier niet mee) omdat je inderdaad dan blijkbaar onduidelijke code hebt in 90% van de gevallen.
Verwijderd
Je houdt ons voor de gek toch??Onbekend schreef op zondag 23 oktober 2011 @ 11:43:
Het uiteindelijke resultaat is belangrijk. Op de manier waarop de code aan het resultaat komt maakt niets uit.
Het is een wat boud statement, maar het is te verdedigen. Ik moest onlangs bijvoorbeeld een CustomTextMessageEncoder gebruiken. Code kant en klaar van MSDN geplukt, en het werkt.
Uiteraard heb ik het doorgelezen om te kijken wat het doet, en ik begrijp het nu ook, maar had ik dat niet gedaan dan was er nog geen man overboord geweest: het werkt. Ik had het niet zelf kunnen schrijven, althans niet in de korte tijd die het nu kostte.
Als je het leeuwendeel van je functionaliteit lukraak van internet copypasta't wordt het uiteraard een ander verhaal, ja.
[ Voor 8% gewijzigd door CodeCaster op 24-10-2011 17:29 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Dit werkt ook prima, maar ik weet niet of dit doet wat je verwacht.Onbekend schreef op zondag 23 oktober 2011 @ 11:43:
[...]
Het uiteindelijke resultaat is belangrijk. Op de manier waarop de code aan het resultaat komt maakt niets uit.
1
2
3
4
5
6
7
| /** * Get a random integer. */ public int getRandomInt() { // used dice to find a random number return 4; } |
Als je echt met een tegenvoorbeeld wilt komen, dan zul je er dus een moeten verzinnen waarbij het resultaat klopt maar de omstandigheden verder niet gewenst zijn. Bijvoorbeeld dat het 3 dagen duurt voor het genereren van een enkel random nummer.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Je moet mijn verhaal ook niet letterlijk nemen, want dan zou het volgende ook wel voldoen:
1
2
3
4
| function GetRandomNumber()
{
return ConvertToInt(time("HH:MM:SS"));
} |
Natuurlijk bekijk je grofweg de code en dan zie je vrij snel of iets degelijk is geprogrammeerd, of dat het een vlut-oplosing is. Je kijkt bijvoorbeeld of er actief gecontroleerd wordt tegen het delen door 0, en dat niet zomaar getallen afgerond worden.
Speel ook Balls Connect en Repeat
Als je performance niet mee rekent in je oordeel over gewenst resultaat wel ja.oisyn schreef op maandag 24 oktober 2011 @ 17:42:
Als je echt met een tegenvoorbeeld wilt komen, dan zul je er dus een moeten verzinnen waarbij het resultaat klopt maar de omstandigheden verder niet gewenst zijn. Bijvoorbeeld dat het 3 dagen duurt voor het genereren van een enkel random nummer.
Dat had ik er in eerste instantie ook nog bij geëdit maar toen ging internet @ work even kaduuk en ben ik het verder vergeten
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
1
2
3
4
5
| mysql_query("INSERT INTO schapen (`id`, `naam`, `kleur`) VALUES (NULL, 'schaap', 'blauw'"); $maxschaap = mysql_query("SELECT MAX (id) FROM schapen"); $schaap = mysql_fetch_array($maxschaap); echo "id is " . $schaap[0]; |
Iemand te lui geweest om 10 sec te googlen?
[ Voor 32% gewijzigd door MBV op 25-10-2011 10:46 ]
Ik vraag me altijd af of die methode wel transaction safe is: Geeft hij de laatste waarde terug, of de laatste waarde van de laatste INSERT in de huidige transactie?MBV schreef op dinsdag 25 oktober 2011 @ 10:46:
http://php.net/manual/en/function.mysql-insert-id.php
Iemand te lui geweest om 10 sec te googlen?
Die functie is er juist zodat je dat soort hacks niet uit hoeft te voeren en bovendien wél een correct resultaat terug krijgt ook met meerdere clientsUsing LAST_INSERT_ID() and AUTO_INCREMENT columns simultaneously from multiple clients is perfectly valid. Each client will receive the last inserted ID for the last statement that client executed.
Het laatste.Remus schreef op dinsdag 25 oktober 2011 @ 11:31:
[...]
Ik vraag me altijd af of die methode wel transaction safe is: Geeft hij de laatste waarde terug, of de laatste waarde van de laatste INSERT in de huidige transactie?
Ah, duidelijk. Ik geef dan eigenlijk de voorkeur aan INSERT ... RETURNING <column-list> zoals gedefinieerd in de SQL standaardenVentieldopje schreef op dinsdag 25 oktober 2011 @ 11:39:
Mysql.com:
[...]
Die functie is er juist zodat je dat soort hacks niet uit hoeft te voeren en bovendien wél een correct resultaat terug krijgt ook met meerdere clients

Verdere toelichting lijkt me niet nodig
/dev/null
Ik zou constantes gebruiken:vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]
Verdere toelichting lijkt me niet nodig
1
2
3
4
| public const string oneZero = "0"; public const string twoZeros = "00"; public const string threeZeros = "000"; public const string fourZeros = "0000"; |
Nu met Land Rover Series 3 en Defender 90
Die is inderdaad erg topic waardig.vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]
Verdere toelichting lijkt me niet nodig
You only need two tools in life: WD-40 and Duct-Tape, if it doesn't move and it should, use the WD-40. If it does move and it shouldn't, use the Tape.
Ik mis de default case...vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]
Verdere toelichting lijkt me niet nodig
Onnodig switch gebruik, kan toch veel makkelijker met:vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]
Verdere toelichting lijkt me niet nodig
while(len($txtCouponCode) < 10) $txtCouponCode = "0".$txtCouponCode;
^^ Waarschijnlijk valt dit ook in de categorie slechte code ><
Intel i7-12700KF/Giga-Byte B760I Aorus Pro DDR4/MSI Geforce 1080Ti 11Gb/Corsair 2x16.384MB DDR4-3200/Samsung SSD 980 Pro 1 Tb/Crucial MX500 1 Tb/Seagate 1 Tb
.Gertjan.: Er is maar een goede Mac en dat is die gele M langs de snelweg :D
Gebruik van http://www.php.net/manual/en/function.str-pad.php lijkt mij dan minder code geven.ValHallen schreef op dinsdag 25 oktober 2011 @ 13:49:
[...]
Onnodig switch gebruik, kan toch veel makkelijker met:
while(len($txtCouponCode) < 10) $txtCouponCode = "0".$txtCouponCode;
^^ Waarschijnlijk valt dit ook in de categorie slechte code ><
Of als je in een evil bui bent: een switch met fallthrough
[ Voor 7% gewijzigd door Remus op 25-10-2011 13:58 ]
Volgens mij zit er een bug in je sarcasme-detectie-module.Remus schreef op dinsdag 25 oktober 2011 @ 13:58:
[...]
Gebruik van http://www.php.net/manual/en/function.str-pad.php lijkt mij dan minder code geven.
Of als je in een evil bui bent: een switch met fallthrough
(Overigens, code posten als screenshot, what's next, uitprinten, fotograferen op een houte tafel en dan uploaden?)
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Niks mis mee toch? Waarschijnlijk efficienter dan een for-loopvriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]
Verdere toelichting lijkt me niet nodig
Je vergeet de fax!Grijze Vos schreef op dinsdag 25 oktober 2011 @ 14:15:
(Overigens, code posten als screenshot, what's next, uitprinten, fotograferen op een houte tafel en dan uploaden?)
Wij hebben serieus een keer een screenshot gefaxt gekregen
[ Voor 35% gewijzigd door Hydra op 25-10-2011 14:21 ]
https://niels.nu
Hoho, je gaat in tegen de principes van magic numbers.MTWZZ schreef op dinsdag 25 oktober 2011 @ 13:41:
[...]
Ik zou constantes gebruiken:
C#:
1 2 3 4 public const string oneZero = "0"; public const string twoZeros = "00"; public const string threeZeros = "000"; public const string fourZeros = "0000";
1
2
3
4
| public const string oneZero = "0"; public const string twoZeros = "000"; public const string threeZeros = "0000"; public const string fourZeros = "00000"; |
We are shaping the future
Alex) schreef op dinsdag 25 oktober 2011 @ 15:03:
[...]
Hoho, je gaat in tegen de principes van magic numbers.
C#:
1 2 3 4 public const string oneZero = "0"; public const string twoZeros = "000"; public const string threeZeros = "0000"; public const string fourZeros = "00000";
Nu met Land Rover Series 3 en Defender 90
En jij vergeet hergebruik van code, en het begin van de keten:Alex) schreef op dinsdag 25 oktober 2011 @ 15:03:
[...]
Hoho, je gaat in tegen de principes van magic numbers.
C#:
1 2 3 4 public const string oneZero = "0"; public const string twoZeros = "000"; public const string threeZeros = "0000"; public const string fourZeros = "00000";
1
2
3
4
5
| public const string zeroZeros = ""; public const string oneZero = zeroZeros+"0"; public const string twoZeros = zeroZeros+"0"+oneZero; public const string threeZeros = zeroZeros+"00"+TwoZero; public const string fourZeros = zeroZeros+oneZero+threeZeros; |
1
2
3
4
5
6
7
8
9
10
11
| <?php $class = 'normal'; ?> <tr class="<?php echo htmlspecialchars($class) ?>"><td>PHP_VERSION</td><td><?php echo htmlspecialchars(PHP_VERSION) ?></td></tr> <?php $VARS = isset($_SERVER)? $_SERVER: (isset($HTTP_SERVER_VARS)? $HTTP_SERVER_VARS: array()); ?> <?php foreach ($VARS as $name => $value) { ?> <?php if (strpos($name, 'HTTP_') !== 0 && strpos($name, 'REQUEST_') !== 0) continue; $class = $class === 'alt'? 'normal': 'alt' ?> <tr class="<?php echo htmlspecialchars($class) ?>"><td><?php echo htmlspecialchars($name) ?></td><td><?php echo htmlspecialchars($value) ?></td></tr> <?php } ?> |
[ Voor 11% gewijzigd door jopitan op 25-10-2011 16:57 ]
CPU: i7-5820K @ 4.4GHz | CCooler: NZXT Kraken X61 | MEM: Kingston 16GB @ 2666MHz | GPU: RX470 | PSU: OCZ 1250W | SSD: Samsung Pro 500GB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| $txtCouponCode = (strlen($txtCouponCode) = 9)
? "0".$txtCouponCode
: (strlen($txtCouponCode) = 8)
? "00".$txtCouponCode
: (strlen($txtCouponCode) = 7)
? "000".$txtCouponCode
: (strlen($txtCouponCode) = 6)
? "0000".$txtCouponCode
: (strlen($txtCouponCode) = 5)
? "00000".$txtCouponCode
: (strlen($txtCouponCode) = 4)
? "000000".$txtCouponCode
: (strlen($txtCouponCode) = 3)
? "0000000".$txtCouponCode
: (strlen($txtCouponCode) = 2)
? "00000000".$txtCouponCode
: (strlen($txtCouponCode) = 1)
? "000000000".$txtCouponCode
: $txtCouponCode |
En dan die overbodige opmaak weg zodat je dit krijg.
1
| $txtCouponCode = (strlen($txtCouponCode) = 9) ? "0".$txtCouponCode : (strlen($txtCouponCode) = 8) ? "00".$txtCouponCode : (strlen($txtCouponCode) = 7) ? "000".$txtCouponCode : (strlen($txtCouponCode) = 6) ? "0000".$txtCouponCode : (strlen($txtCouponCode) = 5) ? "00000".$txtCouponCode : (strlen($txtCouponCode) = 4) ? "000000".$txtCouponCode : (strlen($txtCouponCode) = 3) ? "0000000".$txtCouponCode : (strlen($txtCouponCode) = 2) ? "00000000".$txtCouponCode : (strlen($txtCouponCode) = 1) ? "000000000".$txtCouponCode : $txtCouponCode |
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
Het is inderdaad jammer dat dit mogelijk isPiepPiep schreef op woensdag 26 oktober 2011 @ 09:48:
Ik spreek geen php, maar is er niet iets mogelijk als dit?
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19$txtCouponCode = (strlen($txtCouponCode) = 9) ? "0".$txtCouponCode : (strlen($txtCouponCode) = 8) ? "00".$txtCouponCode : (strlen($txtCouponCode) = 7) ? "000".$txtCouponCode : (strlen($txtCouponCode) = 6) ? "0000".$txtCouponCode : (strlen($txtCouponCode) = 5) ? "00000".$txtCouponCode : (strlen($txtCouponCode) = 4) ? "000000".$txtCouponCode : (strlen($txtCouponCode) = 3) ? "0000000".$txtCouponCode : (strlen($txtCouponCode) = 2) ? "00000000".$txtCouponCode : (strlen($txtCouponCode) = 1) ? "000000000".$txtCouponCode : $txtCouponCode
En dan die overbodige opmaak weg zodat je dit krijg.
code:
1 $txtCouponCode = (strlen($txtCouponCode) = 9) ? "0".$txtCouponCode : (strlen($txtCouponCode) = 8) ? "00".$txtCouponCode : (strlen($txtCouponCode) = 7) ? "000".$txtCouponCode : (strlen($txtCouponCode) = 6) ? "0000".$txtCouponCode : (strlen($txtCouponCode) = 5) ? "00000".$txtCouponCode : (strlen($txtCouponCode) = 4) ? "000000".$txtCouponCode : (strlen($txtCouponCode) = 3) ? "0000000".$txtCouponCode : (strlen($txtCouponCode) = 2) ? "00000000".$txtCouponCode : (strlen($txtCouponCode) = 1) ? "000000000".$txtCouponCode : $txtCouponCode
1
| $coupon = substr("0000000000",strlen($coupon)).$coupon; |
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Nee, want je gebruikt de == ipv = voor een vergelijkingPiepPiep schreef op woensdag 26 oktober 2011 @ 09:48:
Ik spreek geen php, maar is er niet iets mogelijk als dit?
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Met Java zou ik het zo doen:Janoz schreef op woensdag 26 oktober 2011 @ 10:15:
Niet getest, zou best kunnen dat er een nulletje bij of af moet. Maar wel de aanname dat coupon een string met een maximum lengte van 10 is.
PHP:
1 $coupon = substr("0000000000",strlen($coupon)).$coupon;
1
| couponCode = ("0000000000" + couponCode).substring(couponCode.length()); |
[ Voor 3% gewijzigd door RomeoJ op 26-10-2011 14:56 ]
You only need two tools in life: WD-40 and Duct-Tape, if it doesn't move and it should, use the WD-40. If it does move and it shouldn't, use the Tape.
Da's natuurlijk hetzelfde. Het maakt niet uit of je eerst het juiste aantal nullen pakt en dat concat, of juist eerst concat en daarna de nullen eraf haalt.RomeoJ schreef op woensdag 26 oktober 2011 @ 14:55:
[...]
Met Java zou ik het zo doen:
Java:
1 couponCode = ("0000000000" + couponCode).substring(couponCode.length());
Onder water is Janoz' code natuurlijk wel iets efficienter (er is minder geheugen nodig en de gemaakte tussentijdse kopie is minder lang)
[ Voor 29% gewijzigd door .oisyn op 26-10-2011 15:04 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
1
| couponCode = [NSString stringWithFormat:@"%010d", couponCode]; |
1
| couponCode = "%010d".format(couponCode) |
Als je een externe library gebruikt is het niet moeilijk, dan kan het in iedere taal wel in 1 korte regel...Sv3n schreef op woensdag 26 oktober 2011 @ 15:04:
Java:
1 couponCode =StringUtils.leftPad(couponCode, 10, "0")
De makkelijkste manier om hyprocrieten boos te krijgen? Confronteer ze met hun eigen uitspraken...
Het gaat er ook niet om of het moeilijk is in tegendeel zelfs!roeleboel schreef op donderdag 27 oktober 2011 @ 10:09:
[...]
Als je een externe library gebruikt is het niet moeilijk, dan kan het in iedere taal wel in 1 korte regel...
1
| (($alt == 10) ? $alt = 10 : $alt = $alt); |
[ Voor 109% gewijzigd door .oisyn op 28-10-2011 11:27 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
[ Voor 31% gewijzigd door CodeCaster op 28-10-2011 11:30 ]
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Tja, het is een == ipv ===, dus het zal alle gekke waarden zo goed mogelijk naar int proberen te casten..oisyn schreef op vrijdag 28 oktober 2011 @ 11:26:
Het doet wel iets. Sowieso, raar gebruik van de ternaire operator. Schrijf $alt = (... ? ... : ...) of if (...) $alt = ...; else $alt = ...;
Dus als $alt oorspronkelijk een string is, dan komt er 10 uit als de waarde "10" was en anders als de waarde bijvoorbeeld "aep" was, blijft het "aep".
[ Voor 94% gewijzigd door YopY op 28-10-2011 14:09 ]
Easter egg dat jullie logo te voor schijn komt als je op hun logo kliktYopY schreef op vrijdag 28 oktober 2011 @ 13:58:
Oh ja, ook jammer: we mogen ons eigen logo niet in de app zetten, helaas. Zou goeie marketing geweest zijn. Nouja, mag ik weer slopen, is ook leuk
1
2
3
4
| public void startServer() { Thread serv = new Server(this); serv.run(); } |
1
2
3
4
5
6
| var sbi = new ShoppingBasketItem() { ..., ShowId = _cardOwnership.UnitsOriginal, ... }; // using ShowId here for UnitsOriginal..not nice and clean but easy |
Duss, laten we een nullable FK veld maar vullen met een of andere random waarde omdat we te lui zijn een veld aan de DB toe te voegen. Even los van het feit dat dit keihard stuk gaat als die Show niet bestaat.
*WTF* Ik heb zin om iemand te wurgen.
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Klopt. En dus ook als het "10" of "10 apen" of 10.0 is. Het resultaat is dat $alt in die gevallen altijd een int is.CodeCaster schreef op vrijdag 28 oktober 2011 @ 11:29:
Als $alt 10 is, wordt $alt met 10 gevuld
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
private void ZoekInAlles
Het zoekt in alles, zelfs de bestanden op de usbstick die niet aangesloten is!
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
Dit topic is gesloten.
![]()
Uiteraard is het in dit topic niet de bedoeling dat andere users en/of topics aangehaald worden om ze voor gek te zetten. Lachen om je eigen code, of over dingen die je "wel eens tegengekomen bent" is prima, maar hou het onderling netjes.