Btw, regel 2 ( klaar = true ) lijkt er een beetje voor de sier bij te staan...
Soundless schreef op dinsdag 22 november 2011 @ 12:25:
Btw, regel 2 ( klaar = true ) lijkt er een beetje voor de sier bij te staan...
code:
1
2
| while (!klaar){ klaar = true; |
Er staat een ! voor de klaar in de while regel, dus klaar = true doet wel wat en mag niet zomaar weg.
486DX2-50 16MB ECC RAM 4x 500MB Drive array 1.44MB FDD MS-Dos 6.22
oh natuurlijk >_> lezen is ook een kunst
Edit: verkeerd gelezen.PiepPiep schreef op dinsdag 22 november 2011 @ 12:28:
[...]
code:
1 2 while (!klaar){ klaar = true;
Er staat een ! voor de klaar in de while regel, dus klaar = true doet wel wat en mag niet zomaar weg.
[ Voor 15% gewijzigd door Aloys op 22-11-2011 12:42 ]
grootste WTF is natuurlijk de uiterst onleesbare code met een verstopte break als doeietsfunctie_en_returneenbool(foo,bar) 1x false terug geeft.
Death smiles at us all, all a man can do is smile back.
PSN
Ik zie anders geen verstopte break. Hij doet gewoon while(!klaar). Ja, als klaar dan true wordt dan stopt ie. Zoals gebruikelijk bij een while lus

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.
Maar het is niet echt een break, want hij maakt toch de for af, en als de laatste keer dat die functie uitgevoerd wordt false oplevert blijft ie in de while-loop hangen?
code:
1
2
3
4
5
6
| while (!klaar){ klaar = true; for(alle elementen blabla){ klaar=klaar && doeietsfunctie_en_returneenbool(foo,bar); }//for }//while |
is functioneel gelijk aan
code:
1
2
3
4
5
6
7
| while (!klaar){ klaar = true; for(alle elementen blabla){ klaar = doeietsfunctie_en_returneenbool(foo,bar); if(!klaar){ break; } }//for }//while |
het verschil is dat je niet de for loop afmaakt met een x-aantal keer klaar = false, maar dit heeft geen functioneel nut
[ Voor 15% gewijzigd door YakuzA op 22-11-2011 16:02 ]
Death smiles at us all, all a man can do is smile back.
PSN
Waarom die while dan? break; stopt toch gewoon je for loop al?
@hieronder: idd foutje, niet helemaal goed meegelezen.
C#:
1
2
3
4
5
6
| for (int i = 0; i < 100; i++) { Console.WriteLine(i.ToString()); if (i == 10) break; } |
@hieronder: idd foutje, niet helemaal goed meegelezen.
[ Voor 12% gewijzigd door jip_86 op 22-11-2011 16:30 ]
Ja no shit sherlockYakuzA schreef op dinsdag 22 november 2011 @ 16:00:
is functioneel gelijk aan
[..]
het verschil is dat je niet de for loop afmaakt met een x-aantal keer klaar = false, maar dit heeft geen functioneel nut
De hele reden dat het gepost werd was omdat dat short-circuiting juist niet moest gebeuren.

Als mensen nou eerst even gewoon de hele context lezen alvorens gewoon maar blind wat te roepen. Nou gaat jip_86 er ook nog eens op door

[ Voor 23% gewijzigd door .oisyn op 22-11-2011 16:17 ]
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.
Toch vraag ik me af wat de context is waarvoor zo'n vage constructie nodig is...
Hij stopt alleen met de lus op het moment dat ALLES true teruggeeft, daarvoor maakt het shortcircuiting niks uit (zorgde er alleen voor dat de functie ten onrechte niet meer werd uitgevoerd).
Maar stel nou dat het laatste element telkens false teruggeeft, dan blijft hij eindeloos alle elementen afgaan en er dezelfde functie op uitvoeren tot het laatste element wel een keer true aan de functie teruggeeft.
Is er geen handige property van de elementen die je kunt checken, of zo?
Hij stopt alleen met de lus op het moment dat ALLES true teruggeeft, daarvoor maakt het shortcircuiting niks uit (zorgde er alleen voor dat de functie ten onrechte niet meer werd uitgevoerd).
Maar stel nou dat het laatste element telkens false teruggeeft, dan blijft hij eindeloos alle elementen afgaan en er dezelfde functie op uitvoeren tot het laatste element wel een keer true aan de functie teruggeeft.
Is er geen handige property van de elementen die je kunt checken, of zo?
Maar de code is dermate pseudo dat je daar geen zinnig woord over kunt zeggen. Misschien dat de aanroep van een element dat nog niet klaar is ervoor zorgt dat een eerder element opnieuw moet gebeuren.
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.
Daarom is het ook meer een vraag dan een stelling, ik vraag het me oprecht af..oisyn schreef op dinsdag 22 november 2011 @ 16:30:
Maar de code is dermate pseudo dat je daar geen zinnig woord over kunt zeggen. Misschien dat de aanroep van een element dat nog niet klaar is ervoor zorgt dat een eerder element opnieuw moet gebeuren.
Hmm.. Het is nog ochtend zo te zien 
En maar afvragen waarom die punt blijft staan
C#:
1
2
3
| if (somestring.Contains(".")) { somestring = somestring.Replace(".", "."); } |
En maar afvragen waarom die punt blijft staan

Dus je wilt een onderbroek vervangen door een stel tieten?
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.
.oisyn schreef op woensdag 23 november 2011 @ 10:52:
Dus je wilt een onderbroek vervangen door een stel tieten?
If only life was that easy..
Inderdaad, want een stel tieten in je broek maakt het leven stúkken aangenamer
Dat kan toch ook gewoon zo?adyta schreef op woensdag 23 november 2011 @ 09:56:
Hmm.. Het is nog ochtend zo te zien
C#:
1 2 3 if (somestring.Contains(".")) { somestring = somestring.Replace(".", "."); }
En maar afvragen waarom die punt blijft staan
somestring.Replace(".", " ");
NeefrG schreef op woensdag 23 november 2011 @ 11:57:
[...]
Dat kan toch ook gewoon zo?
somestring.Replace(".", " ");
code:
1
| Returns a new string in which all occurrences of a specified string in the current instance are replaced with another specified string. |
Word.SoaDmaggot schreef op woensdag 23 november 2011 @ 11:08:
[...]
Inderdaad, want een stel tieten in je broek maakt het leven stúkken aangenamer
Ik zie je hier niet zo vaak meer, curry684, maar fijn om te weten dat áls je een keer post dat ze dan toch weer van een onmetelijk hoog niveau zijn
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.
Ik denk dat frG bedoelt dat het niet nodig is om er een if statement omheen te zetten.EddoH schreef op woensdag 23 november 2011 @ 12:15:
[...]
Nee![]()
code:
1 Returns a new string in which all occurrences of a specified string in the current instance are replaced with another specified string.
Kater? Eerst water, de rest komt later
Zo rol ik, jeweetog!.oisyn schreef op woensdag 23 november 2011 @ 12:34:
Ik zie je hier niet zo vaak meer, curry684, maar fijn om te weten dat áls je een keer post dat ze dan toch weer van een onmetelijk hoog niveau zijn
En je bent curry684 in "[SQL] Waarom geeft MySQL een foutmelding?" aan het negeren omdat je weet dat ik gelijk heb as always he
Die had ik nog niet gezien. Goed dat je me erop wijst, kan ik die onwaarheden ook weer uit de wereld helpen
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.
Als mijn vermoeden klopt dat de bedoeling was om de punt door een komma te vervangen, dan is dat nog niemand opgevallen. Het tijdstip van de dag lijkt dus niet bepalend te zijnadyta schreef op woensdag 23 november 2011 @ 09:56:
Hmm.. Het is nog ochtend zo te zien
C#:
1 2 3 if (somestring.Contains(".")) { somestring = somestring.Replace(".", "."); }
En maar afvragen waarom die punt blijft staan
Hoe bedoel je dat? Lijkt me duidelijk dat hij probeerde de punt te verwijderen (of te veranderen in een komma, pick one), maar dat dat niet gaat werken als je een punt door een punt vervangt....Dars123 schreef op woensdag 23 november 2011 @ 13:29:
[...]
Als mijn vermoeden klopt dat de bedoeling was om de punt door een komma te vervangen, dan is dat nog niemand opgevallen. Het tijdstip van de dag lijkt dus niet bepalend te zijn
Zeker vroeg, gewoon twee keer over een string heen lopen om één actie uit te voeren? De if kan gewoon weg, als er niks te vervangen is vervangt Replace() toch niks.adyta schreef op woensdag 23 november 2011 @ 09:56:
Hmm.. Het is nog ochtend zo te zien
C#:
1 2 3 if (somestring.Contains(".")) { somestring = somestring.Replace(".", "."); }
En maar afvragen waarom die punt blijft staan
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Dat gebeurt niet hoor, was gewoon een simpele (bubblesort) sorteer functie om iets van 20 elementen te sorteren. Ik wilde voor slechts 20 elementen geen sorteerfunctie uit een library gaan gebruiken..Davio schreef op dinsdag 22 november 2011 @ 16:27:
Toch vraag ik me af wat de context is waarvoor zo'n vage constructie nodig is...
Hij stopt alleen met de lus op het moment dat ALLES true teruggeeft, daarvoor maakt het shortcircuiting niks uit (zorgde er alleen voor dat de functie ten onrechte niet meer werd uitgevoerd).
Maar stel nou dat het laatste element telkens false teruggeeft, dan blijft hij eindeloos alle elementen afgaan en er dezelfde functie op uitvoeren tot het laatste element wel een keer true aan de functie teruggeeft.
Is er geen handige property van de elementen die je kunt checken, of zo?
/me heeft eindelijk ook een icoontje.. woef.. boeien..
Dat klopt inderdaadHaan schreef op woensdag 23 november 2011 @ 12:37:
[...]
Ik denk dat frG bedoelt dat het niet nodig is om er een if statement omheen te zetten.
Vandaar ook mijn knipoogHaan schreef op woensdag 23 november 2011 @ 12:37:
[...]
Ik denk dat frG bedoelt dat het niet nodig is om er een if statement omheen te zetten.
Dan heb je nu gezien waarom dat een slecht idee is. IMHO moet iedereen gewoon de standard library van zijn/haar taal gebruiken, dat is getest door miljoenen mensen en het werkt. Pas als blijkt (na metingen) dat dat performanceproblemen geeft kan je eens overwegen om dat niet te doen.WVL_KsZeN schreef op woensdag 23 november 2011 @ 13:48:
[...]
Dat gebeurt niet hoor, was gewoon een simpele (bubblesort) sorteer functie om iets van 20 elementen te sorteren. Ik wilde voor slechts 20 elementen geen sorteerfunctie uit een library gaan gebruiken..
* whoami snapt de logica hier niet vanWVL_KsZeN schreef op woensdag 23 november 2011 @ 13:48:
[...]
Ik wilde voor slechts 20 elementen geen sorteerfunctie uit een library gaan gebruiken..
Je gaat dus liever een eigen bubble-sort algo gaan maken, ipv een bestaande functie aan te roepen ? En de reden ervoor snap ik al helemaal niet

https://fgheysels.github.io/
Ik vond het ook een rare redenatie. Juist voor slechts een kleine hoeveelheid data sorteren maakt het geen f*ck uit wat voor algoritme je gebruikt, dus dan pak je toch gewoon de eerste de beste standaard functie die je kan vinden?
Kater? Eerst water, de rest komt later
Misschien wil WVL_KsZeN geen hele library includen, alleen maar om 20 elementen te sorteren.
Regeren is vooruitschuiven
Ik heb geen idee welke taal WVL gebruikt, maar zeer waarschijnlijk zit er wel ergens een sorteer functie ingebouwd.T-MOB schreef op woensdag 23 november 2011 @ 19:41:
Misschien wil WVL_KsZeN geen hele library includen, alleen maar om 20 elementen te sorteren.
Ik ken maar weinig talen met een sorteerfunctie ingebouwd. Onderdeel van de standaard libraries, ok, maar niet ingebouwd in de taal.
"Any sufficiently advanced technology is indistinguishable from magic."
Oh, weer een leuke. Hier wordt een checksum gemaakt door een XOR te nemen van alle chars in een string. En daarna komt een hele bak aan interessante conversie code:
maar vervangen in (en daarna de char met een string formatting functie toegevoegd aan de uiteindelijke string):
En deze is ook heel fijn:
Die lege string is dus geen lege string, er zit een unicode char in verstopt, die je in VS.NET dus ook niet ziet. Dus ik maar denken wtf doen die lege strings met dan weer "ACK" als commentaar, en dan weer "NAK". Ik heb het maar gerefactored naar wat zinnige char constants. ><
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| private string CreateLRC(string input) { int lrc = 0; foreach (char c in input) { lrc = lrc ^ c; } var t = lrc.ToString("X"); char b = (char)Int32.Parse(t, System.Globalization.NumberStyles.AllowHexSpecifier); string retval = input.Insert(input.Length, b.ToString()); return retval; } |
maar vervangen in (en daarna de char met een string formatting functie toegevoegd aan de uiteindelijke string):
C#:
1
2
3
4
5
6
| int lrc = 0; foreach (var c in message) { lrc = lrc ^ c; } return (char)lrc; |
En deze is ook heel fijn:
C#:
1
2
3
| if (retval == "") // ACK { } |
Die lege string is dus geen lege string, er zit een unicode char in verstopt, die je in VS.NET dus ook niet ziet. Dus ik maar denken wtf doen die lege strings met dan weer "ACK" als commentaar, en dan weer "NAK". Ik heb het maar gerefactored naar wat zinnige char constants. ><
[ Voor 65% gewijzigd door Grijze Vos op 24-11-2011 00:18 ]
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Lijkt me toch niet, stel dat er geen punt in somestring zit? Ik meen dat ik het zelf wel eens voorbij heb zien komen op school namelijk...Haan schreef op woensdag 23 november 2011 @ 12:37:
[...]
Ik denk dat frG bedoelt dat het niet nodig is om er een if statement omheen te zetten.
Als er geen punt inzit wordt er niets gereplaced...xPhantom schreef op woensdag 23 november 2011 @ 23:11:
[...]
Lijkt me toch niet, stel dat er geen punt in somestring zit? Ik meen dat ik het zelf wel eens voorbij heb zien komen op school namelijk...
De hoeveelheid "True WTFs" in deze code sample is overigens nog een stuk groter dan reeds aangegeven:adyta schreef op woensdag 23 november 2011 @ 09:56:
Hmm.. Het is nog ochtend zo te zien
C#:
1 2 3 if (somestring.Contains(".")) { somestring = somestring.Replace(".", "."); }
En maar afvragen waarom die punt blijft staan
• Zoeken naar een char in een string doe je om performanceredenen met IndexOf(Char) != -1
• Om dezelfde redenen gebruik je voor de replace zelf beter de (Char, Char) overload dan (String, String)
En als gezegd is de search sowieso overbodig in deze natuurlijk
Is het erg als ik dit topic blijft checken om te zien dat mijn code niet voorbij komt
Originally, a hacker was someone who makes furniture with an axe.
Dat doet toch niet helemaal hetzelfde als de oorspronkelijke code? Jij returnt de checksum als 1 char, terwijl de oorspronkelijke code de input string + de checksum als char achteraan teruggeeft.Grijze Vos schreef op woensdag 23 november 2011 @ 23:07:
...
maar vervangen in (en daarna de char met een string formatting functie toegevoegd aan de uiteindelijke string):
C#:
1 2 3 4 5 6 int lrc = 0; foreach (var c in message) { lrc = lrc ^ c; } return (char)lrc;
Zou je dus niet eerder zoiets moeten doen:
C#:
1
2
3
4
5
6
| int lrc = 0; foreach (var c in message) { lrc = lrc ^ c; } return input + (char)lrc; |
Die moet op zo'n WC-tegeltje gezet worden!alwinuzz schreef op donderdag 24 november 2011 @ 08:20:
Al is oude code nog zo ruk, je verbeteringen maken hem stuk.
[ Voor 12% gewijzigd door Otherside1982 op 24-11-2011 08:45 ]
Al is oude code nog zo ruk, je verbeteringen maken hem stuk.
Java:
1
2
3
4
5
6
7
8
| @Around("anyPublicMethod() && @annotation(hibernateSession)") public void arounHibernateSession(ProceedingJoinPoint joinPoint, HibernateSession hibernateSession) throws Throwable { .... joinPoint.proceed(); .... } |
En ik me maar afvragen waarom een bepaalde method altijd null opleverde terwijl ik toch echt wat leek te returnen.
Als je even goed had gelezen had je gezien dat Grijze Vos het concateneren v/d checksum aan de string nu verplaatst heeft naar buiten de functie die de checksum genereert en dit nu netjes met een string formatting functie doet.Otherside1982 schreef op donderdag 24 november 2011 @ 08:04:
[...]
Dat doet toch niet helemaal hetzelfde als de oorspronkelijke code? Jij returnt de checksum als 1 char, terwijl de oorspronkelijke code de input string + de checksum als char achteraan teruggeeft.
Hij heeft dan dus ook de logica om dat gedrocht heen gerefactored zodat alles netjes werkt.
Klopt. Als een functie "CreateChecksum" heet dan vind ik dat die functie alleen de checksum moet teruggeven. Het mergen met het bericht doe ik buiten de functie.Otherside1982 schreef op donderdag 24 november 2011 @ 08:04:
Dat doet toch niet helemaal hetzelfde als de oorspronkelijke code?
De checksum validatie functie is btw nog erger:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| sentEval = CheckLRC(substring, substring.Substring(substring.Length - 1)); private bool CheckLRC(string retval, string checkValue) { IEnumerable<char> l = retval.Reverse(); int lrcAnswer = 0; int counter = retval.Length - 2; do { if (counter != 0) { lrcAnswer = lrcAnswer ^ l.ElementAt(counter); } counter--; } while (0 != counter); var lrc = lrcAnswer.ToString("X"); if (lrc.Length == 1) lrc.Insert(0, "0"); var eval = ConvertToHex(checkValue).ToUpper(); if (eval.Length == 1) eval.Insert(0, "0"); if (lrc == eval) { return true; } return false; } |
refactored in:
C#:
1
2
3
4
5
6
7
8
9
10
11
| var isChecksumValid = ValidateChecksum(message); public bool ValidateChecksum(string message) { int lrc = 0; foreach (var c in message.Substring(1)) { lrc = lrc ^ c; } return lrc == 0; } |
[ Voor 59% gewijzigd door Grijze Vos op 24-11-2011 09:58 ]
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Ik dacht al dat ik ergens iets gemist had. Ik zou inderdaad hetzelfde gedaan hebben als jij: CreateChecksum enkel de checksum laten genereren. Misschien nog iets beter om het return type van CreateChecksum te veranderen naar een integer of byte, zodat de compiler onmiddellijk gaat klagen als die functie gebruikt wordt op de oude manier (waarbij dus een string als return verwacht wordt).Grijze Vos schreef op donderdag 24 november 2011 @ 09:36:
[...]
Klopt. Als een functie "CreateChecksum" heet dan vind ik dat die functie alleen de checksum moet teruggeven. Het mergen met het bericht doe ik buiten de functie.
Oh, daar heb ik geen last van hoor, ik heb de hele class weggegooid en herschreven.Otherside1982 schreef op donderdag 24 november 2011 @ 13:57:
[...]
Misschien nog iets beter om het return type van CreateChecksum te veranderen naar een integer of byte, zodat de compiler onmiddellijk gaat klagen als die functie gebruikt wordt op de oude manier (waarbij dus een string als return verwacht wordt).
(En het was sowieso een private method.)
[ Voor 3% gewijzigd door Grijze Vos op 24-11-2011 14:07 ]
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Verwijderd
<script src="js\Slides\slides.jquery.js" type="text/javascript"></script>
Terwijl ik een linux webservertje draai, haha, tjah dat krijg je als je windows gewend bent hé
Terwijl ik een linux webservertje draai, haha, tjah dat krijg je als je windows gewend bent hé
Hehe, waar ik andersom steevast iedere keer dat ik een cmdprompt voor me krijg ls probeer te typen
(dat werkt trouwens bij sommige windowsbakken wel en bij andere niet? misschien iets te maken met cygwin wel of niet geïnstalleerd, geen idee
).
Tevens maakt het niet uit of het een linux of windows servertje is "\" escaped de boel ook op een windowsserver (ipv een directory ingaan wat je bedoeling is)
Tevens maakt het niet uit of het een linux of windows servertje is "\" escaped de boel ook op een windowsserver (ipv een directory ingaan wat je bedoeling is)
Verwijderd
Gebruik gewoon powershellBartjeh schreef op donderdag 24 november 2011 @ 14:48:
Hehe, waar ik andersom steevast iedere keer dat ik een cmdprompt voor me krijg ls probeer te typen(dat werkt trouwens bij sommige windowsbakken wel en bij andere niet? misschien iets te maken met cygwin wel of niet geïnstalleerd, geen idee
).
^^ PoSh heeft een alias voor de meeste bash commando's.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| PS C:\Temp\LogFiles> ls Directory: C:\Temp\LogFiles Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 14-Oct-11 10:21 AM archives -a--- 14-Oct-11 10:26 AM 1738 IP - sites.LOG -a--- 20-Sep-11 1:01 PM 2398 SetOwner.vbs.LOG PS C:\Temp\LogFiles> dir Directory: C:\Temp\LogFiles Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 14-Oct-11 10:21 AM archives -a--- 14-Oct-11 10:26 AM 1738 IP - sites.LOG -a--- 20-Sep-11 1:01 PM 2398 SetOwner.vbs.LOG PS C:\Temp\LogFiles> gci Directory: C:\Temp\LogFiles Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 14-Oct-11 10:21 AM archives -a--- 14-Oct-11 10:26 AM 1738 IP - sites.LOG -a--- 20-Sep-11 1:01 PM 2398 SetOwner.vbs.LOG |
De parameters zijn wel anders!
Verwijderd
als je een script include werkt het gewoon op een windows server. Op een linux moet je per se / gebruikenBartjeh schreef op donderdag 24 november 2011 @ 14:48:
Hehe, waar ik andersom steevast iedere keer dat ik een cmdprompt voor me krijg ls probeer te typen(dat werkt trouwens bij sommige windowsbakken wel en bij andere niet? misschien iets te maken met cygwin wel of niet geïnstalleerd, geen idee
).
Tevens maakt het niet uit of het een linux of windows servertje is "\" escaped de boel ook op een windowsserver (ipv een directory ingaan wat je bedoeling is)
HTML-Interpretatie heeft toch niks met de achterliggende server te maken?Verwijderd schreef op donderdag 24 november 2011 @ 15:02:
[...]
als je een script include werkt het gewoon op een windows server. Op een linux moet je per se / gebruiken
alwinuzz schreef op donderdag 24 november 2011 @ 08:20:
Al is oude code nog zo ruk, je verbeteringen maken hem stuk.
Verwijderd
blijkbaar wel want de foutconsole gaf fouten aan van functies die niet aanwezig waren.Bartjeh schreef op donderdag 24 november 2011 @ 15:16:
[...]
HTML-Interpretatie heeft toch niks met de achterliggende server te maken?
Idd, moet wel een beetje lean and mean blijven.T-MOB schreef op woensdag 23 november 2011 @ 19:41:
Misschien wil WVL_KsZeN geen hele library includen, alleen maar om 20 elementen te sorteren.
/me heeft eindelijk ook een icoontje.. woef.. boeien..
Kwalitatief Uitermate Teleurstellend, bedoel je.Grijze Vos schreef op donderdag 24 november 2011 @ 14:07:
Typisch, heb een hele applicatie vervangen, en de paar elementen die ik 1 op 1 heb gekopieerd ben ik nu alsnog weg aan het refactoren, omdat ze ook kwalitatief onder de maat zijn.
Mag zo aan de muuralwinuzz schreef op donderdag 24 november 2011 @ 08:20:
Al is oude code nog zo ruk, je verbeteringen maken hem stuk.
'hem' verwijst naar 'oude code', dat mag volgens mij alleen als het specifieke oude code is ("je oude code"). Dus moet je 'hem' vervangen door 'het' .
Aha, dus de zin 'Ook al is een vrouw nog zo oud, beminnen mag je het altijd' is volgens jou grammaticaal volledig acceptabel?
Vandaag wachtwoorden veranderen in een systeem van de Rijksuniversiteit Groningen, wat blijkt wachtwoorden mogen het karakter '(' niet bevatten. Gelukkig mag ')' dan weer wel

Code is mannelijk, en dus verwijs je ernaar met 'hem'. De regel die jij oppert heb ik echt nog nooit van gehoord.MBV schreef op vrijdag 25 november 2011 @ 13:56:
'hem' verwijst naar 'oude code', dat mag volgens mij alleen als het specifieke oude code is ("je oude code"). Dus moet je 'hem' vervangen door 'het' .
http://www.onzetaal.nl/taaladvies/advies/verwijswoorden
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.
wat?roy-t schreef op vrijdag 25 november 2011 @ 23:51:
Vandaag wachtwoorden veranderen in een systeem van de Rijksuniversiteit Groningen, wat blijkt wachtwoorden mogen het karakter '(' niet bevatten. Gelukkig mag ')' dan weer wel
Nu met Land Rover Series 3 en Defender 90
Dus je mag er vanuit gaan dat je ww niet gehashed isroy-t schreef op vrijdag 25 november 2011 @ 23:51:
Vandaag wachtwoorden veranderen in een systeem van de Rijksuniversiteit Groningen, wat blijkt wachtwoorden mogen het karakter '(' niet bevatten. Gelukkig mag ')' dan weer wel
Je site, http://randomize.be/GOTsignature.php, liegt!ieperlingetje schreef op zaterdag 26 november 2011 @ 14:18:
[...]
Dus je mag er vanuit gaan dat je ww niet gehashed is
Nu wel ja, want je had er niet bij gezet dat je er niet op mocht klikken.Devilly schreef op zaterdag 26 november 2011 @ 14:24:
[...]
Je site, http://randomize.be/GOTsignature.php, liegt!
Edit: F5 niet te lang indrukken hoor.
[ Voor 7% gewijzigd door Onbekend op 26-11-2011 15:38 ]
Speel ook Balls Connect en Repeat
Onbekend schreef op zaterdag 26 november 2011 @ 14:26:
[...]
Nu wel ja, want je had er niet bij gezet dat je er niet op mocht klikken.
Zelfs als ik dat wel had gedaan, had hij gelogen.
*** edit ***
Ik zie nu pas dat ik niet in de Devschuur aan het spammen ben.
[ Voor 15% gewijzigd door Devilly op 26-11-2011 14:50 ]
Hij klopt zowiezo niet. Ik ben nu twee keer geteld. Tenzij ik een gespleten persoonlijkheid hebt telt die dus het aantal keer dat een Got'er ongehoorzaam is geweest en niet het aantal got'ers dat ongehoorzaam is geweestOnbekend schreef op zaterdag 26 november 2011 @ 14:26:
[...]
Nu wel ja, want je had er niet bij gezet dat je er niet op mocht klikken.
als je een beetje speelt komt hij wel weer op 1 uit.... lijkt wel of de telling naar > 1000 niet goed gaat altijd// ging van 1100 naar 2 toe
Vandaag even de nieuwe Mint linux gedownload. Omdat ik geen zin had om een dvd te branden ging ik maar op zoek naar een tool om een bootable usb stick te maken. Ik kwam uit bij deze tool die volgens fora vrij goed is.
Ik had onvoldoende ruimte op men usb stick. De volgende foutmelding moest ik toch wel 3 keer lezen voor ik ietwat snapte wat er bedoeld werd:

Ik had onvoldoende ruimte op men usb stick. De volgende foutmelding moest ik toch wel 3 keer lezen voor ik ietwat snapte wat er bedoeld werd:


[ Voor 5% gewijzigd door boe2 op 27-11-2011 14:00 ]
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' - Pratchett.
Daarom ook een Engelstalig host-OS
If money talks then I'm a mime
If time is money then I'm out of time
Verwijderd
Waarom zou iemand ervoor kiezen om zo een belangrijke foutmelding te negeren en gewoon door te gaan terwijl het OS niet eens op de stick past?
[ Voor 14% gewijzigd door Verwijderd op 28-11-2011 10:44 ]
Omdat de foutmelding die Windows geeft niet weet wat je op de stick probeert te zetten, hij weet alleen dat je er bestanden op wilt zetten. Als het 4e bestand erg groot is en niet past wil je misschien toch nog het 5e en 6e bestand er op zetten vandaar de keuze voor nee en nee op alles.Verwijderd schreef op maandag 28 november 2011 @ 10:44:
Waarom zou iemand ervoor kiezen om zo een belangrijke foutmelding te negeren en gewoon door te gaan terwijl het OS niet eens op de stick past?
Komt waarschijnlijk doordat het programma wat de bootdisk maakt gewoon aan Windows vraagt om alles te kopieren ipv zelf de data te schrijven. Ik vind het iig geen hele gekke melding.
Heel fijn, heb je een comments-box onder een artikel, voeg je een paar testcomments toe, krijg je ze er zo uit:
Reply 5
Reply 3
Reply 1
Reply 2
Reply 4
Reply 5
Reply 3
Reply 1
Reply 2
Reply 4
We are shaping the future
Guid als commentId, en gesorteerd op Id?Alex) schreef op maandag 28 november 2011 @ 11:50:
Heel fijn, heb je een comments-box onder een artikel, voeg je een paar testcomments toe, krijg je ze er zo uit:
Reply 5
Reply 3
Reply 1
Reply 2
Reply 4
Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three
Nee, er wordt bij het ophalen een .Reverse() gedaan op de lijst met comments, en dan steeds achteraan toegevoegd.
Want natuurlijk worden die dingen XML-serialized opgeslagen, om god mag weten welke reden.
Want natuurlijk worden die dingen XML-serialized opgeslagen, om god mag weten welke reden.
[ Voor 4% gewijzigd door Alex) op 28-11-2011 12:07 ]
We are shaping the future
Linq + MVC toevallig? Heb al gelijkaardige scenarios tegengekomen daar.Alex) schreef op maandag 28 november 2011 @ 11:50:
Heel fijn, heb je een comments-box onder een artikel, voeg je een paar testcomments toe, krijg je ze er zo uit:
Reply 5
Reply 3
Reply 1
Reply 2
Reply 4
'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind.' - Pratchett.
Dat is ook hoe ik het nu heb opgelost. Maar zo was het dus oorspronkelijk niet gebouwd.
We are shaping the future
Verwijderd
Ja maar het programma weet dat als niet alle bestanden erop passen, het OS niet correct geïnstalleerd kan worden toch?roy-t schreef op maandag 28 november 2011 @ 10:47:
[...]
Komt waarschijnlijk doordat het programma wat de bootdisk maakt gewoon aan Windows vraagt om alles te kopieren ipv zelf de data te schrijven. Ik vind het iig geen hele gekke melding.
Ik vond het wel opmerkelijk

[ Voor 13% gewijzigd door Verwijderd op 28-11-2011 13:05 ]
Klopt, dus is het slecht van het programma dat ze het op die manier doen.Verwijderd schreef op maandag 28 november 2011 @ 13:02:
[...]
Ja maar het programma weet dat als niet alle bestanden erop passen, het OS niet correct geïnstalleerd kan worden toch?
Heh, ja, dat komt dus omdat Windows niet weet dat het om een OS gaatIk vond het wel opmerkelijkZo van: "Wilt u het OS met fouten installeren?" "Ja, doe maar. Ik wil later graag koppijn"
Aannames met betrekking tot volgorde van items uit bijvoorbeeld een database zijn altijd slecht: die is namelijk undefined zonder order by. Wees dus altijd expliciet als de volgorde belangrijk is.Alex) schreef op maandag 28 november 2011 @ 12:57:
Dat is ook hoe ik het nu heb opgelost. Maar zo was het dus oorspronkelijk niet gebouwd.
Zo test ik hier een systeem waarbij - blijkbaar - de volgorde van items in de database van belang was voor een correcte verwerking. Bij migratie van Oracle 10 naar Oracle 11 ging de optimizer andere access paths nemen waardoor de volgorde van rijen bij grote hoeveelheden totaal anders was dan in Oracle 10 (en dan de beperkte datasets van de normale ontwikkel- en testomgevingen op Oracle 11).
Resultaat: foutmeldingen bij het tonen van bepaalde gegevens. Oplossing: zetten van een expliciete order by zodat de volgorde die het systeem verwacht wordt afgedwongen.
Onzin. Als ik een file aanmaak en daar records naar wegschrijf, dan verwacht ik dat de records bij het uitlezen in dezelfde volgorde staan. Dat jouw aanname opgaat bij menig relationele database wil niet zeggen dat dat voor élke database geldt.Remus schreef op maandag 28 november 2011 @ 16:22:
[...]
Aannames met betrekking tot volgorde van items uit bijvoorbeeld een database zijn altijd slecht: die is namelijk undefined zonder order by.
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.
Bij een hele simpele datastore zoals een file waar je verder ook geen ingewikkelde (al dan niet parallele) bewerking op doet heb je gelijk, maar anders moet je echt geen aannames doen en gewoon expliciet zijn..oisyn schreef op maandag 28 november 2011 @ 16:27:
[...]
Onzin. Als ik een file aanmaak en daar records naar wegschrijf, dan verwacht ik dat de records bij het uitlezen in dezelfde volgorde staan. Dat jouw aanname opgaat bij menig relationele database wil niet zeggen dat dat voor élke database geldt.
Die aanname moet je niet doen als het systeem waar je op werkt je vertelt dat volgorde niet vast staat. De complexiteit van de store staat er geheel los van.
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.
Mee eens. Hier werd namelijk bij het ophalen standaard een .Reverse() gedaan op de collectie, vervolgens wordt er een item toegevoegd en wordt het geheel weer (als XML!) weggeschreven in de databron. Bij een volgende retrieve wordt het dus vrolijk weer gereversed, toegevoegd, weggeschreven, enzovoorts.Remus schreef op maandag 28 november 2011 @ 16:22:
[...]
Aannames met betrekking tot volgorde van items uit bijvoorbeeld een database zijn altijd slecht: die is namelijk undefined zonder order by. Wees dus altijd expliciet als de volgorde belangrijk is.
Leuk, leuk.
We are shaping the future
GatverAlex) schreef op maandag 28 november 2011 @ 16:35:
[...]
Mee eens. Hier werd namelijk bij het ophalen standaard een .Reverse() gedaan op de collectie, vervolgens wordt er een item toegevoegd en wordt het geheel weer (als XML!) weggeschreven in de databron. Bij een volgende retrieve wordt het dus vrolijk weer gereversed, toegevoegd, weggeschreven, enzovoorts.
Leuk, leuk.

Helemaal mee eens!Remus schreef op maandag 28 november 2011 @ 16:54:
[...]
Gatverdat is nog erger dan uitgaan van een undefined order in een database
Maar ik heb het niet bedacht
We are shaping the future
Dit is echt geen standaard Windows melding, het lijkt erop dat dit een vraag is van het programma dat wordt gebruikt om de Linux Mint installatie op een bootable USB-stick te zetten.Patriot schreef op maandag 28 november 2011 @ 16:03:
Heh, ja, dat komt dus omdat Windows niet weet dat het om een OS gaat
Logischer zou zijn dat het programma deze vraag niet stelt en gewoon zegt dat het niet kan.
M'n forum is down. Kut shared hosting,
. Zal wel weer zo'n pik zijn met een brakke query ofzo... of we worden geddost door weet ik veel wie om weet ik veel wat voor reden.
Verkeerde topicYopY schreef op maandag 28 november 2011 @ 20:19:
M'n forum is down. Kut shared hosting,. Zal wel weer zo'n pik zijn met een brakke query ofzo... of we worden geddost door weet ik veel wie om weet ik veel wat voor reden.
Neem dan ook geen shared hosting.
^^ met hemJeldert schreef op maandag 28 november 2011 @ 08:42:
Is kies voor 'Nee op alles'...
alleen niemand weet dat ie bestaat blijkbaar
This message was sent on 100% recyclable electrons.
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| // De klantgegevens worden geplaatst inc. de specificatie's procedure Tklntwrkform.FormActivate(Sender: TObject); var i,c:integer; s:string; begin totaalbedrag:=0.0;regelnr:=0; obh:=0.0;obl:=0.0;obn:=0.0; begin basis.klantentable.open; basis.klantentable.findkey([menuform.mklantnr]); if menuform.mklantnr='100'then label2.caption:=kontantform.edit1.text else label2.caption:=basis.klantentable['BEDRIJF']; label1.caption:=basis.klantentable['KLANTNR']; if basis.klantentable['CODE']='V' then label16.caption:='Vaste prijs'; if basis.klantentable['CODE']='A' then label16.caption:='Afhankelijk'; if basis.klantentable['CODE']='S' then begin label16.caption:='Speciaal'; basis.aflbonnentable.close; //aflbonnen=dicht basis.aflbonnentable.indexfieldnames:='KLANTNR'; basis.aflbonnentable.open; //aflbonnen=open end; if basis.klantentable['SPEC']='R' then label17.caption:='Rekening'; if basis.klantentable['SPEC']='W' then Label17.caption:='Weekrekening'; if basis.klantentable['SPEC']='K' then label17.caption:='Kontant'; if basis.klantentable['SPEC']='I' then label17.caption:='Incasso'; if basis.klantentable['SPEC']='Z' then label17.caption:='WeekIncasso'; if basis.klantentable['EXTRA']='J' then label18.caption:='Extra bon' else label18.caption:='Geen extra bon'; end; // De BTW gegevens en bonnr worden in het geheugen gezet basis.laatstetable.open; label14.caption:=datetostr(date()); mBTW_H:=basis.laatstetable['BTW_H']; mBTW_L:=basis.laatstetable['BTW_L']; mBonnr:=basis.laatstetable['BONNR']; val(mBonnr,i,c); i:=i+1;str(i,mBonnr); Label15.caption:=mBonnr; statuslabel.caption:='Maak uw keuze'; activecontrol:=button1; end; |
Of we een applicatie van een inmiddels overleden persoon, geschreven in Delphi 2 en dagelijks gebruikt bij een relatief grote niet nader te noemen supermarktketen willen omzetten naar iets moderners...



Waar ben ik aan begonnen...



Nog zo'n pareltje...
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| begin Key:=Char(VK_CANCEL); val(edit4.text,r,i); br:=0.0; if ob='L' then begin br:=(r/(100+mBTW_L)*100); str(br:7:2,s);edit3.text:=s; end else if ob='H' then begin br:=(r/(100+mBTW_H)*100); str(br:7:2,s);edit3.text:=s; end |
[ Voor 7% gewijzigd door Noxious op 30-11-2011 22:46 ]
Voor wat betreft het kleine beetje Delphi wat ik gezien heb, is het ook net Visual Basic of PHP hè. Je kunt er gewoon te makkelijk iets werkends in bouwen, en jezelf op die manier "programmeur" noemen.
https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...
Helemaal waar, alhoewel Delphi geschreven door een fatsoenlijke developer er iets anders uit ziet is dit gebakken door een 100% hobbyist die het tot het einde toe heeft onderhouden op een Windows 98 machine (en ja, die draait nog steeds als 'server', zonder raid, enz...)...CodeCaster schreef op woensdag 30 november 2011 @ 22:46:
Voor wat betreft het kleine beetje Delphi wat ik gezien heb, is het ook net Visual Basic of PHP hè. Je kunt er gewoon te makkelijk iets werkends in bouwen, en jezelf op die manier "programmeur" noemen.
Delphi is het probleem niet. In C++ kan je die code ook op zo'n onduidelijke manier opschrijven.
Regel 24 t/m 30 werkt natuurlijk wel, maar in elke programmeertaal kan je dit beter opschrijven....
Regel 24 t/m 30 werkt natuurlijk wel, maar in elke programmeertaal kan je dit beter opschrijven....
Speel ook Balls Connect en Repeat
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.
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.