[alg] Slechtste programmeervoorbeelden deel 4 Vorige deel Overzicht Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 73 ... 103 Laatste
Acties:
  • 993.631 views

Acties:
  • 0 Henk 'm!

Verwijderd

Dat doet me denken aan deze...

Afbeeldingslocatie: http://s3.amazonaws.com/theoatmeal-img/comics/senior_year/science.png

Acties:
  • 0 Henk 'm!

Verwijderd

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?
Alles behalve het ze opdringen! Dat werkt averrechts. Vooral laten zien wat jij veel sneller kunt met die koele refactor tools :)

Acties:
  • 0 Henk 'm!

  • Otherside1982
  • Registratie: Februari 2009
  • Laatst online: 10:01
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 :X. En helaas lijkt dat tegenwoordig meer regel dan uitzondering te zijn... :(
Heh, wij hebben laatst een nieuwe versie van het XSD schema gekregen, waarbij het XSD zelf niet valideert.
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.

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 27-09 22:08
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?
Gewoon zelf toestemming krijgen om te mogen refactoren kost me al genoeg tijd en energie :(

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Verwijderd schreef op vrijdag 21 oktober 2011 @ 14:48:
[...]

Vooral laten zien wat jij veel sneller kunt met die koele refactor tools :)
Euhm, als dat je beeld van refactoren is heb je nog een lange weg te gaan...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
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?
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!).

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 27-09 22:08
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 :P) maar meer hoe je je collega's er in het algemeen een keer over laat nadenken. Ik zie dat vooral als een mentaliteitsprobleem. Voorbeeldje: laatst gebruikte er iemand hier z'n coole refactor-tools om op alle plekken te zorgen dat (in java) een string bestaande uit een id van 2 karakters en data van 10 karakters nu een id van 3 karakters heeft, en dat de lengte van het ID-veld nu variabel is. Wat zou je ervan denken om daar een struct van te maken met 2 velden? Er waren wijzigingen nodig in 15 bestanden...

Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
MBV 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 :P) maar meer hoe je je collega's er in het algemeen een keer over laat nadenken. Ik zie dat vooral als een mentaliteitsprobleem.
Ik wist dat ik het zou terugkrijgen door php te noemen :P

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.

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Prachtig ook, code die keihard aanneemt dat punten worden gebruikt om duizendtallen te scheiden en komma's voor decimalen. Daarom ook dat mijn invoer (van 100 miljoen euro) met browsersettings op en-US niet goed werd opgeslagen. :')

Nu maar mooi CultureInfo.CurrentCulture aangeroepen :)

We are shaping the future


Acties:
  • 0 Henk 'm!

Verwijderd

Grijze 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...
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 zien :). Het is een mooie opening in de wereld van refactoren.

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 ]


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
MBV schreef op vrijdag 21 oktober 2011 @ 15:29:
[...]

Gewoon zelf toestemming krijgen om te mogen refactoren kost me al genoeg tijd en energie :(
Toestemming vragen? :+

Doe je zeker ook voor het schrijven van unit tests? _O-

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.

Acties:
  • 0 Henk 'm!

  • ValHallASW
  • Registratie: Februari 2003
  • Niet online
Alex) schreef op vrijdag 21 oktober 2011 @ 17:52:
Nu maar mooi CultureInfo.CurrentCulture aangeroepen :)
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 :> ;-)

[ Voor 21% gewijzigd door ValHallASW op 21-10-2011 21:58 ]


Acties:
  • 0 Henk 'm!

Verwijderd

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 :> ;-)
Haha, dat is dan vervolgens weer een probleem inderdaad. :)

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 27-09 22:08
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.
Doe je zeker ook voor het schrijven van unit tests? _O-
Unit tests? Wat is dat? ;)
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'.
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 achtergelaten :P
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.

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 22-09 20:16
Als hobbyist PHP-er even een vraagje aan de pro's hier:
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)

Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 27-09 14:54

CoolGamer

What is it? Dragons?

De waardes van de primary keys in de database wil je eigenlijk niet veranderen. Dus het antwoord is eigenlijk dat je dat had moeten voorkomen als je het kunnen voorspellen dat de ID's zouden veranderen. Als zo'n identificerend veld toch vaak veranderd wordt er meestal gekozen om een extra kolom met autonummering (of een andere manier om unieke waardes te krijgen die niet meer veranderen) aan te maken die dan de primary key wordt. Die waarde van de primary key veranderd dan niet meer.

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 27-09 13:00

Patriot

Fulltime #whatpulsert

Buiten het feit dat het niet in dit topic hoort vind ik het maar een vreemd verhaal. Het klinkt alsof het je overkomt terwijl je de touwtjes toch in handen zou moeten hebben als programmeur zijnde.

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 22-09 20:16
ja een beetje meer uitleg is op zijn plaats.
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?

offtopic:
Een oplossing komt er wel hoor, in goed overleg met de andere programmeur. We hoeven hier geen troubleshoot te houden wat mij betreft

Acties:
  • 0 Henk 'm!

  • Icekiller2k6
  • Registratie: Februari 2005
  • Laatst online: 09:39
@mcDavid

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


Acties:
  • 0 Henk 'm!

Verwijderd

Waar ik mij aan erger in mijn project:

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.

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
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..
Dit is geen meervoud, maar de onbepaalde wijs (of infinitief) van het werkwoord verwijderen.

Acties:
  • 0 Henk 'm!

Verwijderd

Remus schreef op zaterdag 22 oktober 2011 @ 15:19:
[...]


Dit is geen meervoud, maar de onbepaalde wijs (of infinitief) van het werkwoord verwijderen.
Ik kom dus ook van het MBO, jeweetwel; daar waar je geen nederlands en engels kreeg :p

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
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 :p
Ik neem toch aan dat je basisschool hebt gedaan. Daar wordt toch echt nederlands onderwezen en moet je ook zinnen ontleden en werkwoorden vervoegen. :P

Acties:
  • 0 Henk 'm!

  • Marcj
  • Registratie: November 2000
  • Laatst online: 26-09 13:22
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 :X. En helaas lijkt dat tegenwoordig meer regel dan uitzondering te zijn... :(
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...

Acties:
  • 0 Henk 'm!

Verwijderd

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. :P
Ik was vroeger al lui en lette nooit op in de klas (ik was een uit-het-raam-kijker) :-( Beetje jammer allemaal, maar goed; weinig uiteindelijk meegekregen van ontledingen, werkwoorden vervoegen en d's en t's is bij mij meestal gokwerk.

In ieder geval weet ik hoe ik wél moet programmeren xD Echt heel jammer dat mensen onleesbare code schrijven

Acties:
  • 0 Henk 'm!

Verwijderd

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...
Toevallig telecom gerelateerde berichten?

Acties:
  • 0 Henk 'm!

  • Marcj
  • Registratie: November 2000
  • Laatst online: 26-09 13:22
Verwijderd schreef op zaterdag 22 oktober 2011 @ 17:05:
[...]


Toevallig telecom gerelateerde berichten?
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.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd 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
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.

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.


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 26-09 19:17

Matis

Rubber Rocket

.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.
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.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

Verwijderd

In netbeans/visual studio heb je geen spellingscontrole :p

Maar iig, ik heb een voorbeeld!;
code:
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

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
nederlandstalige functienamen, brrrr.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 23-09 18:08
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.

Acties:
  • 0 Henk 'm!

Verwijderd

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.
Dan zijn dat de XSD's waar ik ook op doelde..

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
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

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
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.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 27-09 18:00
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
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 :X.

Acties:
  • 0 Henk 'm!

  • Leftblank
  • Registratie: Juni 2004
  • Laatst online: 10:04
alex3305 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 :X.
Het zou nog Perl kunnen zijn als ze stream_filter_append zelf hebben gedefinieerd of uit een library pakken geloof ik :+

Acties:
  • 0 Henk 'm!

  • alwinuzz
  • Registratie: April 2008
  • Laatst online: 27-09 11:51
Matis 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.
Een dyslectische kennis werd gek van alle rode kriebellijntjes. Dus had hij de spellingcontrole maar uitgezet :*)

Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 10:02

Onbekend

...

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.
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.

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


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

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?
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 :P).

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
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.
Jij hebt collega's die code zien en geen Engels kunnen?
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.
Dat zijn al 2 WTFs:
- Mengelmoes van Engels en Nederlands commentaar
- Code copy-pasten waarvan je de werking niet 100% snapt.
CodeCaster schreef op zondag 23 oktober 2011 @ 10:25:
Helaas, dat kan niet, denk ik. Je moet toch een bepaalde mindset hebben
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.

[ Voor 19% gewijzigd door Hydra op 23-10-2011 10:53 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
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.
Helaas heb ik vaak zulke bedroevende vertalingen gezien, dat ik soms blij ben met nederlands...

En het is IMHO :) erg afhankeleijk van het soort bedrijf: als iedereen je glazig aan begint te kijken om dat men de engelse term niet begrijpt...

Dan kun je, weer IMHO, toch beter gewoon nederlands commentaar blijven gebruiken.

Acties:
  • 0 Henk 'm!

  • ValHallASW
  • Registratie: Februari 2003
  • Niet online
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.
Jij gebruikt nooit libraries?
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.
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!

Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 10:02

Onbekend

...

Hydra schreef op zondag 23 oktober 2011 @ 10:52:
Jij hebt collega's die code zien en geen Engels kunnen?
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.
Dat zijn al 2 WTFs:
- Mengelmoes van Engels en Nederlands commentaar
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.
- Code copy-pasten waarvan je de werking niet 100% snapt.
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.

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • mindcrash
  • Registratie: April 2002
  • Laatst online: 22-11-2019

mindcrash

Rebellious Monkey

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

code:
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)


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Onbekend 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.
Tja, ieder z'n ding. Ik ben in ieder geval blij dat ik niet bij jouw bedrijf werk dan :) Wij hebben best een aantal collega's die niet Nederlands zijn, om nog maar niet te spreken over internationale klanten. De documentatie van onze API wordt ook voor het grootste deel uit de codedocumentatie (zoals met javadoc) gegenereerd.

Daarnaast krijgt de OCDer in mij echt jeuk van Nederlandse termen / functienamen in code :)
Het uiteindelijke resultaat is belangrijk. Op de manier waarop de code aan het resultaat komt maakt niets uit.
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'.

Daarnaast vind ik dat je code die je van het internet plukt per definitie moet wantrouwen.
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
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.

[ Voor 21% gewijzigd door Hydra op 23-10-2011 14:02 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 10:02

Onbekend

...

De functienamen zijn trouwens wel in het Engels.
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


Acties:
  • 0 Henk 'm!

  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 27-09 17:04
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 :P).
Mijn mindset is veranderd toen een keer een review over mijn code werd gedaan en die collega zei "dit is verschrikkelijk". ;)
Samen met een andere collega (een guru ;) ) hebben ze toen de code verbeterd en bij elke stap die ze deden (eerst) gezegd waarom.
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.


Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb bij een bedrijf stage gelopen dat een soort 'verzekering' heeft voor als het bedrijf failliet gaat. Deze verzekering houdt in dat er elk jaar iemand van deze maatschappij de code en features leert en zo genoeg dienst nog kan verlenen mocht het bedrijf er bijv niet meer zijn.

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.

Acties:
  • 0 Henk 'm!

Verwijderd

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.
Je houdt ons voor de gek toch??

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Verwijderd schreef op maandag 24 oktober 2011 @ 16:54:
[...]


Je houdt ons voor de gek toch??
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...


Acties:
  • 0 Henk 'm!

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
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.
Dit werkt ook prima, maar ik weet niet of dit doet wat je verwacht.
Java:
1
2
3
4
5
6
7
    /**
     * Get a random integer.
     */
    public int getRandomInt() {
        // used dice to find a random number
        return 4;
    }

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Dat is toch geen tegenvoorbeeld voor Onbekend's stelling? Wat Onbekend zegt is daar ook gewoon op van toepassing. Als het niet elke keer 4 mag zijn dan klopt het resultaat dus niet, en dus is de code sowieso fout.

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.


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 10:02

Onbekend

...

Inderdaad.

Je moet mijn verhaal ook niet letterlijk nemen, want dan zou het volgende ook wel voldoen:
code:
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


Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 00:46
.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.
Als je performance niet mee rekent in je oordeel over gewenst resultaat wel ja :)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Idd ja.

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.


Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 27-09 12:02

Ventieldopje

I'm not your pal, mate!

Ook een leuke is:

PHP:
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];

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 27-09 22:08
http://php.net/manual/en/function.mysql-insert-id.php

Iemand te lui geweest om 10 sec te googlen? :S

[ Voor 32% gewijzigd door MBV op 25-10-2011 10:46 ]


Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 27-09 12:02

Ventieldopje

I'm not your pal, mate!

Ik denk het :+ Was ook niet de enige keer dat het voor kwam, dat soort fratsen zaten er nog wel vaker in!

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
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?

Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 27-09 12:02

Ventieldopje

I'm not your pal, mate!

Mysql.com:
Using 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.
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 ;)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • bindsa
  • Registratie: Juli 2009
  • Niet online
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?
Het laatste.

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Ventieldopje 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 ;)
Ah, duidelijk. Ik geef dan eigenlijk de voorkeur aan INSERT ... RETURNING <column-list> zoals gedefinieerd in de SQL standaarden :) maar volgens mij ondersteunt MySQL dat niet.

Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 23:12
Afbeeldingslocatie: http://www.wansinck.com/GoT/strpad.png

Verdere toelichting lijkt me niet nodig ;)

/dev/null


Acties:
  • 0 Henk 'm!

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]

Verdere toelichting lijkt me niet nodig ;)
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";

:+

Nu met Land Rover Series 3 en Defender 90


Acties:
  • 0 Henk 'm!

  • RomeoJ
  • Registratie: Mei 2003
  • Niet online

RomeoJ

Matched: (.*)

vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]

Verdere toelichting lijkt me niet nodig ;)
Die is inderdaad erg topic waardig. >:)

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.


Acties:
  • 0 Henk 'm!

  • Dragor
  • Registratie: Juni 2003
  • Laatst online: 08-02 11:04
vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]

Verdere toelichting lijkt me niet nodig ;)
Ik mis de default case... :+

Acties:
  • 0 Henk 'm!

  • ValHallen
  • Registratie: September 2005
  • Niet online

ValHallen

Fryslân Boppe!

vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]

Verdere toelichting lijkt me niet nodig ;)
Onnodig switch gebruik, kan toch veel makkelijker met:
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


Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
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 ><
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 :P

[ Voor 7% gewijzigd door Remus op 25-10-2011 13:58 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
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 :P
Volgens mij zit er een bug in je sarcasme-detectie-module. :P

(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


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
vriesdude schreef op dinsdag 25 oktober 2011 @ 13:36:
[afbeelding]

Verdere toelichting lijkt me niet nodig ;)
Niks mis mee toch? Waarschijnlijk efficienter dan een for-loop :P
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?)
Je vergeet de fax! :P

Wij hebben serieus een keer een screenshot gefaxt gekregen :D

[ Voor 35% gewijzigd door Hydra op 25-10-2011 14:21 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
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";

:+
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";

We are shaping the future


Acties:
  • 0 Henk 'm!

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

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";
_O-

Nu met Land Rover Series 3 en Defender 90


Acties:
  • 0 Henk 'm!

  • Otherside1982
  • Registratie: Februari 2009
  • Laatst online: 10:01
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";
En jij vergeet hergebruik van code, en het begin van de keten: >:)
C#:
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;

Acties:
  • 0 Henk 'm!

  • jopitan
  • Registratie: Juni 2007
  • Laatst online: 06-08 11:38

jopitan

It&#039;s just a fact

PHP:
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 } ?>


:'( Om te huilen

[ 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


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 27-09 22:08
Da's toch normale PHP-code? >:) [sub]zoals het 15 jaar geleden gebruikelijk was...

Acties:
  • 0 Henk 'm!

  • PiepPiep
  • Registratie: Maart 2002
  • Laatst online: 18-01-2023
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

486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:09
En wat als je getallen wilt met 20 nullen ervoor? })

Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 27-09 12:02

Ventieldopje

I'm not your pal, mate!

PiepPiep 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
Het is inderdaad jammer dat dit mogelijk is :+ Gewoon str_pad gebruiken! ;)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Nu online

Janoz

Moderator Devschuur®

!litemod

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;

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Phoenix1337
  • Registratie: April 2009
  • Laatst online: 27-09 17:02
Kan je nog steeds beter str_pad gebruiken aangezien dat een methode is die daarvoor gemaakt is :)

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Nu online

Janoz

Moderator Devschuur®

!litemod

Klopt. Maar niet elke taal heeft die functie ingebouwd.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

PiepPiep schreef op woensdag 26 oktober 2011 @ 09:48:
Ik spreek geen php, maar is er niet iets mogelijk als dit?
Nee, want je gebruikt de == ipv = voor een vergelijking :+

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.


Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
@PiepPiep, Als ik iets geleerd heb in mijn jaartjes als developer dan is het wel: "If it looks like a WTF, it probably is."

Acties:
  • 0 Henk 'm!

  • RomeoJ
  • Registratie: Mei 2003
  • Niet online

RomeoJ

Matched: (.*)

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;
Met Java zou ik het zo doen:
Java:
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.


Acties:
  • 0 Henk 'm!

  • Sv3n
  • Registratie: Mei 2002
  • Laatst online: 27-09 15:33
Java:
1
couponCode =StringUtils.leftPad(couponCode, 10, "0")


;)

Last.fm
Films!


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

RomeoJ schreef op woensdag 26 oktober 2011 @ 14:55:
[...]


Met Java zou ik het zo doen:
Java:
1
couponCode = ("0000000000" + couponCode).substring(couponCode.length());
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.

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.


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Strings formatteren doe je met de (z0mg!) string format functie :p.

Objective-C:
1
couponCode = [NSString stringWithFormat:@"%010d", couponCode];


Scala:
1
couponCode = "%010d".format(couponCode)

Acties:
  • 0 Henk 'm!

  • roeleboel
  • Registratie: Maart 2006
  • Niet online

roeleboel

en zijn beestenboel

Sv3n schreef op woensdag 26 oktober 2011 @ 15:04:
Java:
1
couponCode =StringUtils.leftPad(couponCode, 10, "0")


;)
Als je een externe library gebruikt is het niet moeilijk, dan kan het in iedere taal wel in 1 korte regel...

De makkelijkste manier om hyprocrieten boos te krijgen? Confronteer ze met hun eigen uitspraken...


Acties:
  • 0 Henk 'm!

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 27-09 12:02

Ventieldopje

I'm not your pal, mate!

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...
Het gaat er ook niet om of het moeilijk is in tegendeel zelfs!

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Acties:
  • 0 Henk 'm!

  • Stroopwafels
  • Registratie: September 2009
  • Laatst online: 26-09 11:06
Hmm....


PHP:
1
(($alt == 10) ? $alt = 10 : $alt = $alt);

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

Het doet wel iets. Sowieso, raar gebruik van de ternaire operator. Schrijf $alt = (... ? ... : ...) of if (...) $alt = ...; else $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.


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Aangezien je geen setters aanroept (die misschien onder water nog iets kunnen veranderen) kan die regel gewoon weg. Als $alt 10 is, wordt $alt met 10 gevuld, en anders met de waarde die $alt heeft. In beide gevallen wordt de waarde van $alt dus gewoon weer in $alt gezet.

[ 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...


Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
.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 = ...;
Tja, het is een == ipv ===, dus het zal alle gekke waarden zo goed mogelijk naar int proberen te casten.

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".

Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
verkeerde topic oepps X)

[ Voor 94% gewijzigd door YopY op 28-10-2011 14:09 ]


Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 01:17

alienfruit

the alien you never expected

YopY 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 :p
Easter egg dat jullie logo te voor schijn komt als je op hun logo klikt ;)

Acties:
  • 0 Henk 'm!

  • Dwarrelegel
  • Registratie: Februari 2009
  • Laatst online: 16-09 21:56
Dit keer een klein foutje van mezelf. Blij dat ik tegen 3e besloot om wel te gaan slapen.
Java:
1
2
3
4
public void startServer() {
        Thread serv = new Server(this);
        serv.run();
}

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Hier weer zo'n absoluut "pareltje" waar je gewoon van gaat huilen:

C#:
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


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 27-09 02:49

.oisyn

Moderator Devschuur®

Demotivational Speaker

CodeCaster schreef op vrijdag 28 oktober 2011 @ 11:29:
Als $alt 10 is, wordt $alt met 10 gevuld
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.

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.


Acties:
  • 0 Henk 'm!

  • PiepPiep
  • Registratie: Maart 2002
  • Laatst online: 18-01-2023
Lang leve de duidelijke functie namen!

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

Pagina: 1 ... 73 ... 103 Laatste

Dit topic is gesloten.

Let op:
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. :)