De Devschuur Coffee Corner - Iteratie 3 Vorige deel Overzicht Volgende deel Laatste deel

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

Pagina: 1 ... 128 ... 188 Laatste
Acties:
  • 530.229 views

Acties:
  • 0 Henk 'm!

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

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wel grappig dat je dan geld van de bank nodig hebt tijdens een winning streak :P

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!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23-09 14:00
.oisyn schreef op dinsdag 25 juni 2013 @ 13:02:
Wel grappig dat je dan geld van de bank nodig hebt tijdens een winning streak :P
Hij heeft ook niet vermeld wie van beide partijen een winning streak had :+

Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
.oisyn schreef op dinsdag 25 juni 2013 @ 13:02:
Wel grappig dat je dan geld van de bank nodig hebt tijdens een winning streak :P
Hij was vrouwen aan het scoren 8)

Acties:
  • 0 Henk 'm!

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

alienfruit

the alien you never expected

Geld voor een andere tafel :X

Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Ik ben me de laatste paar dagen in WinDBG gaan verdiepen, en het is een belachelijk krachtige debugger. Iets minder modern dan visual studio maar een hoop robuster, en er is zo veel meer mogelijk. Je kunt in dezelfde debugger, .Net, Native en de Kernel (driver crashes) debuggen, je hebt met een commando een lijst van alle locks die je application maakt en het beste van alles: de window manager lijkt heel veel op die van ProDBG.

Er zitten features in die voor jou je crash-dump analyseren en de handleiding is enorm gedetailleerd _/-\o_

Voor de .netters:
[YouTube: http://www.youtube.com/watch?v=yVzNrz1jJHU]

En native:

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 26-09 13:15

TheNephilim

Wtfuzzle

Zo even heel praktisch; bovenaan in een script, je verwacht input uit (bijv.) een formulier: $status = sanitize_text_field($_POST['status']);

Op het moment dat die input er niet is, zou je dan eerst met isset(); moeten checken of de input er wel is? Checken of de input leeg is of niet correct gebeurd later, dit is puur input asignen aan een variabele.

/me Notice: Undefined index: status in /chroot/home/***/***.nl/html/wp-content/themes/***/ideal-gateway.php on line 3

---

De regels rondom iDeal zijn wel streng geworden zeg. Eerder hoefde je er echt niks voor te doen, later kwamen sommige providers al eens met kvk/btw gegevens en contracten. Nu heb je legitimatieplicht en moet je een waslijst aan gegevens invullen. Daarnaast willen ze van tevoren graag je webshop zien :o

Acties:
  • 0 Henk 'm!

  • StM
  • Registratie: Februari 2005
  • Laatst online: 26-09 19:20

StM

Sowieso vind ik dat je niet je input moet sanitizen maar je output (bv escapen als het om een echo in je html gaat). Wel moet je je input valideren of die overeenkomt moet wat je verwacht, maar meestal zal dat bij een tekstveld niet veel meer als een lengte check en een charset check zijn.

Je eerste check is dus wat de reguest method is, dan valideren of het request compleet is en tot slot valideren of de input correct is.

*edit*: Dat valideren doe je dus al, nu nog de eerste 2 stappen ;)

[ Voor 7% gewijzigd door StM op 25-06-2013 14:23 ]


Acties:
  • 0 Henk 'm!

  • Ozzie
  • Registratie: Februari 2004
  • Laatst online: 20:25
Weet iemand nog een leuke/makkelijke library om raportages mee te doen in Java? We zijn aan het bedenken welke technologieen we gaan gebruiken voor een nieuw project.

Zijn nu aan het kijken naar BIRT maar misschien heeft iemand hier het gouden ei wel :)

"Write code as if the next maintainer is a vicious psychopath who knows where you live."


Acties:
  • 0 Henk 'm!

  • frG
  • Registratie: Augustus 2004
  • Laatst online: 27-09 14:32

frG

Ozzie schreef op dinsdag 25 juni 2013 @ 14:25:
Weet iemand nog een leuke/makkelijke library om raportages mee te doen in Java? We zijn aan het bedenken welke technologieen we gaan gebruiken voor een nieuw project.

Zijn nu aan het kijken naar BIRT maar misschien heeft iemand hier het gouden ei wel :)
Wellicht http://www.pentaho.com/ interessant?

Acties:
  • 0 Henk 'm!

  • GateKeaper
  • Registratie: April 2004
  • Laatst online: 05-08 21:46

GateKeaper

#1 Procastinator

Pfffff... hypotheekrente staat wel heel laag nu. Kom ik aan met 5,4% rente. :'(

Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 26-09 22:12
GateKeaper schreef op dinsdag 25 juni 2013 @ 14:54:
Pfffff... hypotheekrente staat wel heel laag nu. Kom ik aan met 5,4% rente. :'(
5,8% hier.... ik wil niet eens uitrekenen wat me dat op jaarbasis extra kosten, ondanks dat we niet een heel hoge hypotheek hebben :(

Acties:
  • 0 Henk 'm!

  • phex
  • Registratie: Oktober 2002
  • Laatst online: 17-09 09:59
Jullie hebben tenminste een hypotheek, ik kan er naar fluiten als zelfstandige.

Lekker huren in de vrije sector... doei geldjes!

[ Voor 24% gewijzigd door phex op 25-06-2013 15:00 ]


Acties:
  • 0 Henk 'm!

  • GateKeaper
  • Registratie: April 2004
  • Laatst online: 05-08 21:46

GateKeaper

#1 Procastinator

Dat heb ik dus wel gedaan. Zowel op de variabele van 2.5% als op de 10 jaar vast op 3.90 %.

Echt om ziek van te worden. Zal eens kijken wat de boete is op vroegtijdig overstappen en kijken of 't uit kan.

Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
ik zit net een jaar met mn hypotheek, op 4.3% 10 jaar vast.

* D-Raven laat zich niet gekmaken, de rente's gaan vanzelf wel weer omhoog

Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

pdebie schreef op dinsdag 25 juni 2013 @ 10:07:
Zit net even wat suggestions van Resharper te bekijken en een daarvan is: invert 'if' to reduce nesting.
http://confluence.jetbrai...rt+'if'+to+reduce+nesting

Zij zeggen dat dit:
C#:
1
2
3
4
5
6
void PrintName(Person p) 
{   
    if (p == null) return   
    if (p.Name == null) return;   
    Console.WriteLine(p.Name); 
}


Leesbaarder is dan:

C#:
1
2
3
4
5
6
7
8
9
10
void PrintName(Person p) 
{   
    if (p != null)   
    {     
        if (p.Name != null)     
        {       
            Console.WriteLine(p.Name);     
        }   
    } 
}


Het zijn minder regels code, maar leesbaarder? Verschilt per persoon denk ik, maar ik pas vaker optie 2 toe dan optie 1, omdat ik dan sneller de 'flow' van de functie zie.

Hoe passen jullie dit toe?
Zo:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void PrintName(Person p) 
{   
    if (p == null)   
    {
        return;
    }

    if (p.Name == null)     
    {       
         return;
    }   

    Console.WriteLine(p.Name);
}


Reden:

Eerst input validatie (ik throw hier ook vaker ArgumentExceptions als ik vind dat een niet ingelogde gebruiker niet zou moeten kunnen printen en een ingelogde gebruiker altijd een naam moet hebben). Voor mij zijn het uitzonderingen (ook bij een return) en daarom springen ze in.

Passeer je de validatie, dan zit je nog steeds in de normal flow van de functie dus ga je recht naar beneden. Met name bij wat grotere code blokken die volgen op de initiële validatie is het prettiger als het ook niet (dubbel) ingesprongen is.

Ga je een probleem krijgen bij early returns omdat je nog wel wat anders moet doen in een functie (if x elseif y else z) dan is dat een soort van code smell dat je functie wellicht meer dan één ding probeert te doen en wellicht beter een soort van initiële delegatie kan doen.

Daarom zijn early returns of ArgumentExceptions dingen waar ik zelf graag mee werk, zo gauw het moeilijk wordt daardoor weet je gewoon dat je moet gaan refactoren.


Ik zou het ook in één regel kunnen doen maar zeker in het geval van ArgumentExceptions wil ik specifiek de variabele er uit pikken waar het fout gaat. Maar met early returns en twee simpele checks kan het ook wel samen.

[ Voor 5% gewijzigd door BikkelZ op 25-06-2013 15:08 ]

iOS developer


Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 26-09 13:15

TheNephilim

Wtfuzzle

Pffff, ben al weer een halve middag kwijt aan iDeal. reporturl doet gewoon niet wat hij moet doen. kan output niet controleren van de server die er verbinding meemaakt, dus heel onhandig. Als ik via GET even wat waardes erin schiet werkt hij prima :S

Kost weer veel te veel tijd, ben niks opgeschoten... :/

Acties:
  • 0 Henk 'm!

  • Hoogie2004
  • Registratie: Mei 2005
  • Laatst online: 21:23

Hoogie2004

Whohooooo

Hier 20 jaar vast op 4.45%

Dan weten we tenminste waar we aan toe zijn de komende 20 jaar, waarna er zo weinig over is van de hypotheek dat het toch niet zoveel meer uitmaakt. Tevens gaan ze echt wel weer een keer stijgen, dus laat je vooral niet gek maken.

My iRacing profile | Strava


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 26-09 22:12
scheelt wel een slok op een borrel...
iemand bij benadering een idee wat die afkoopboetes zijn? meer dan 10% van de waarde?

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
BikkelZ schreef op dinsdag 25 juni 2013 @ 15:07:
[...]


Zo:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void PrintName(Person p) 
{   
    if (p == null)   
    {
        return;
    }

    if (p.Name == null)     
    {       
         return;
    }   

    Console.WriteLine(p.Name);
}
Reden, multiple returns vs geen return.. Ik zelf zou ook de laatste gebruiken.

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

Kips schreef op dinsdag 25 juni 2013 @ 15:12:
scheelt wel een slok op een borrel...
iemand bij benadering een idee wat die afkoopboetes zijn? meer dan 10% van de waarde?
Hangt er helemaal van af wat voor hypotheek je hebt. Volgens mij heb je juist bij veel aflossingsvrije hypotheken een clausule dat je onbeperkt boetevrij mag aflossen, om bijvoorbeeld in één keer een erfenis in je huis pompen in plaats van iedere maand een beetje. Gewoon even je hypotheekakte lezen, dat lijken veel kleine lettertjes te zijn maar meestal met een beetje moeite is het voor een leek wel te ontcijferen.

Of je belt je hypotheekadviseur. Die heeft het vást niet druk momenteel O-)
kwaakvaak_v2 schreef op dinsdag 25 juni 2013 @ 15:13:

Reden, multiple returns vs geen return.. Ik zelf zou ook de laatste gebruiken.
Wat bedoel je?

[ Voor 12% gewijzigd door BikkelZ op 25-06-2013 15:21 ]

iOS developer


Acties:
  • 0 Henk 'm!

  • Hoogie2004
  • Registratie: Mei 2005
  • Laatst online: 21:23

Hoogie2004

Whohooooo

Kips schreef op dinsdag 25 juni 2013 @ 15:12:
scheelt wel een slok op een borrel...
iemand bij benadering een idee wat die afkoopboetes zijn? meer dan 10% van de waarde?
Ons is verteld dat dat vaak afhangt van de rentestand. Als jij nu meer betaalt dan de rente, zul je een boete krijgen, aangezien de bank dan 'verlies' lijdt op dat bedrag (ze lenen dat geld wat jij afbetaald, immers tegen een lagere rente aan iemand anders). Als de rentes hoger zijn, is het schijnbaar minder een probleem, want dan komt er geld vrij dat tegen een hogere rente uitgeleend kan worden (a.k.a. profit).

^^ althans, zo begreep ik het van onze hypotheekadviseur

My iRacing profile | Strava


Acties:
  • 0 Henk 'm!

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

.oisyn

Moderator Devschuur®

Demotivational Speaker

D-Raven schreef op dinsdag 25 juni 2013 @ 15:04:
ik zit net een jaar met mn hypotheek, op 4.3% 10 jaar vast.

* D-Raven laat zich niet gekmaken, de rente's gaan vanzelf wel weer omhoog
Mijn rentevaste periode van 10 jaar (4%) loopt af in 2015. Zoals het er nu naaruit ziet kan ik dan gewoon wéér een hele lage rente krijgen en wederom enorme stijgingen passeren in de 10 jaar die volgen :7

Wel hebben we daarnaast nog een extra verbouwingshypotheek van 50k die we 2 jaar geleden hebben afgesloten met 5,2% rente (geen NHG door aangescherpte regels :/), maar die gaan we binnenkort aflossen (want 50k gegarandeerd laten renderen voor 3,7%* is momenteel lastig) dus ik heb het een en ander laten uitzoeken door m'n hypotheekadviseur:

* 5,2% met 52% HRA is effectief 2,5%, maar als ik die 50k op een bankrekening heb dan moet ik daar ook weer 1,2% vermogensbelasting over betalen, dus het moet dus minimaal 3,7% renderen om break even te draaien)
Kips schreef op dinsdag 25 juni 2013 @ 15:12:
scheelt wel een slok op een borrel...
iemand bij benadering een idee wat die afkoopboetes zijn? meer dan 10% van de waarde?
Hangt idd van je hypotheek af, maar meestal is het zo dat je sowieso altijd een deel kostevrij kunt aflossen, en daarnaast geheel kostevrij kunt aflossen als de huidige rentestand hoger is, en anders betaal je het verschil in rente tov een vergelijkbare hypotheek met de resterende looptijd.

Stel je hebt een hypotheek van 200k met 10 jaar vast 5% en een resterende looptijd van 7 jaar. En stel dat de huidige rente voor een 7 jaar vaste periode bij dezelfde bank momenteel 4% is. En stel ook dat je 15% kosteloos kunt aflossen.

30k is dus boetevrij. Dan zijn de extra kosten dus 7 jaar 1% over 170k = 11.9k.
Hoogie2004 schreef op dinsdag 25 juni 2013 @ 15:25:
[...]

Ons is verteld dat dat vaak afhangt van de rentestand. Als jij nu meer betaalt dan de rente, zul je een boete krijgen, aangezien de bank dan 'verlies' lijdt op dat bedrag (ze lenen dat geld wat jij afbetaald, immers tegen een lagere rente aan iemand anders). Als de rentes hoger zijn, is het schijnbaar minder een probleem, want dan komt er geld vrij dat tegen een hogere rente uitgeleend kan worden (a.k.a. profit).

^^ althans, zo begreep ik het van onze hypotheekadviseur
Dit dus. Ze zijn nu verzekerd van jouw rente, maar als je gaat aflossen niet meer. En als de rentestand lager is dan kunnen ze dat geld wel opnieuw uitlenen, maar levert dat ze minder op. Dit kun je dus afkopen door het verschil op te hoesten, vandaar bovenstaande berekening.

[ Voor 26% gewijzigd door .oisyn op 25-06-2013 15:37 ]

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!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Ik zou het samenvoegen:
C#:
1
2
3
4
5
6
7
8
9
void PrintName(Person p)  
{    
    if (p == null || p.Name == null)    
    { 
        return; 
    } 

    Console.WriteLine(p.Name); 
}

of:
C#:
1
2
3
4
5
6
7
void PrintName(Person p)  
{    
    if (p != null && p.Name != null)    
    { 
        Console.WriteLine(p.Name); 
    } 
}


Ik ben er nog niet uit welke van de twee ik zou kiezen.

Acties:
  • 0 Henk 'm!

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

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ja zeg kunnen jullie die discussie over IFs niet verplaatsen naar een ongerelateerd forum? We hebben het hier over hypotheken! :(

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!

  • Ealanrian
  • Registratie: Februari 2009
  • Laatst online: 00:39
Zeg kunnen jullie die discussie over Hypotheken niet houden op een ouwe lullen platform? :( * Ealanrian runs

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Voor hypotheken is er: Werk en Inkomen
Populaire onderwerpen: Ervaring, Hypotheek, Koopwoning, Huis, Ict-sector, Consultancy

Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 22:01
Ik heb nu voor een half jaar lang een hypotheek lopen met 4.1%
Besefte me pas een paar dagen terug dat het bedrag dat ik iedere maand betaal niet zoals huur is dat iedere maand "verdwijnt" en als ik het huis zou verkopen voor dezelfde prijs, dat ik dan het ingelegde geld "terug krijg" (m.u.v. alle eenmalige kosten)

[ Voor 24% gewijzigd door Gamebuster op 25-06-2013 15:42 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Je kunt het natuurlijk nog leuker maken:

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
void PrintName(Person p)   
{     
    if (p == null || String.IsNullOrWhiteSpace(p.Name))
    {
        Exception haxjes;
        var getalletje = new Random((int)DateTime.Now.Ticks).Next(1, 10);

        switch(getalletje % 10)
        {
            case 1:
            case 4:
            case 6:
                haxjes = new IOException();
                break;
            case 2:
            case 9:
                haxjes = new ArgumentOutOfRangeException();
                break;
            case 3:
                haxjes = new WebException();
                break;
            default:
                haxjes = new Exception();
                break;
        }
        
        throw haxjes;
    }  

    Console.WriteLine(p.Name);  
}


Succes :+

We are shaping the future


Acties:
  • 0 Henk 'm!

  • GateKeaper
  • Registratie: April 2004
  • Laatst online: 05-08 21:46

GateKeaper

#1 Procastinator

Ealanrian schreef op dinsdag 25 juni 2013 @ 15:40:
Zeg kunnen jullie die discussie over Hypotheken niet houden op een ouwe lullen platform? :( * Ealanrian runs
Dus hypotheken zijn enkel voor oude lullen? Ik kocht al op m'n 21ste O+ , denk dat het juist voor de "jongeren" (zeg < 30 met < 40 in 't verlengde) veel interessanter en onbekender terrein is dan voor de "oude lullen".

Van 40+ verwacht ik dat ze zich er wel thuis in voelen, en toch vaker al aan hun 2é verlenging toe zijn.

Acties:
  • 0 Henk 'm!

  • Ozzie
  • Registratie: Februari 2004
  • Laatst online: 20:25
Daos schreef op dinsdag 25 juni 2013 @ 15:37:
Ik zou het samenvoegen:
C#:
1
2
3
4
5
6
7
8
9
void PrintName(Person p)  
{    
    if (p == null || p.Name == null)    
    { 
        return; 
    } 

    Console.WriteLine(p.Name); 
}

of:
C#:
1
2
3
4
5
6
7
void PrintName(Person p)  
{    
    if (p != null && p.Name != null)    
    { 
        Console.WriteLine(p.Name); 
    } 
}


Ik ben er nog niet uit welke van de twee ik zou kiezen.
Heb je niet zoiets in C#:
Java:
1
2
3
4
void PrintName(Person p)  
{    
    (p != null ? System.out.println(p.getName) : null)
}

"Write code as if the next maintainer is a vicious psychopath who knows where you live."


Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 22:01
Ozzie schreef op dinsdag 25 juni 2013 @ 15:43:
[...]


Heb je niet zoiets in C#:
Java:
1
2
3
4
void PrintName(Person p)  
{    
    (p != null ? System.out.println(p.getName) : null)
}
gadverdamme kerel. doe het dan meteen goed
Java:
1
p == null || System.out.println(p.getName())

[ Voor 16% gewijzigd door Gamebuster op 25-06-2013 15:44 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

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

.oisyn

Moderator Devschuur®

Demotivational Speaker

Gamebuster schreef op dinsdag 25 juni 2013 @ 15:41:
Ik heb nu voor een half jaar lang een hypotheek lopen met 4.1%
Besefte me pas een paar dagen terug dat het bedrag dat ik iedere maand betaal niet zoals huur is dat iedere maand "verdwijnt" en als ik het huis zou verkopen voor dezelfde prijs, dat ik dan het ingelegde geld "terug krijg" (m.u.v. alle eenmalige kosten)
Euh, nee hoor. Je betaalt rente, en die rente verdwijnt gewoon.

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!

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

.oisyn

Moderator Devschuur®

Demotivational Speaker

.oisyn schreef op dinsdag 25 juni 2013 @ 15:38:
Ja zeg kunnen jullie die discussie over IFs niet verplaatsen naar een ongerelateerd forum? We hebben het hier over hypotheken! :(

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!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
Daos schreef op dinsdag 25 juni 2013 @ 15:37:
Ik zou het samenvoegen:
C#:
1
2
3
4
5
6
7
8
9
void PrintName(Person p)  
{    
    if (p == null || p.Name == null)    
    { 
        return; 
    } 

    Console.WriteLine(p.Name); 
}

of:
C#:
1
2
3
4
5
6
7
void PrintName(Person p)  
{    
    if (p != null && p.Name != null)    
    { 
        Console.WriteLine(p.Name); 
    } 
}


Ik ben er nog niet uit welke van de twee ik zou kiezen.
Je bent je ervan bewust dat die 2 stukjes niet hetzelfde doen? :9

Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 22:01
.oisyn schreef op dinsdag 25 juni 2013 @ 15:43:
[...]
Euh, nee hoor. Je betaalt rente, en die rente verdwijnt gewoon.
/3 owja
reality hits you hard, bro

stomme rente, stomme banken, kunnen ze niet even gratis een ton uitlenen ofzo

[ Voor 21% gewijzigd door Gamebuster op 25-06-2013 15:46 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • GateKeaper
  • Registratie: April 2004
  • Laatst online: 05-08 21:46

GateKeaper

#1 Procastinator

.oisyn schreef op dinsdag 25 juni 2013 @ 15:43:
[...]
Euh, nee hoor. Je betaalt rente, en die rente verdwijnt gewoon.
Indeed... een veel gemaakte denkfout. Enkel de aflossing, vaak slechts +/- 100 tot 150 euro per maand los je af. Een veelvoud daarvan verdampt toch echt gaat richting de bank als verschuldigde rente.

Acties:
  • 0 Henk 'm!

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

.oisyn

Moderator Devschuur®

Demotivational Speaker

steffex schreef op dinsdag 25 juni 2013 @ 15:44:
[...]


Je bent je ervan bewust dat die 2 stukjes niet hetzelfde doen? :9
Wat doen ze anders dan?

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!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 26-09 22:12
Gamebuster schreef op dinsdag 25 juni 2013 @ 15:41:
Ik heb nu voor een half jaar lang een hypotheek lopen met 4.1%
Besefte me pas een paar dagen terug dat het bedrag dat ik iedere maand betaal niet zoals huur is dat iedere maand "verdwijnt" en als ik het huis zou verkopen voor dezelfde prijs, dat ik dan het ingelegde geld "terug krijg" (m.u.v. alle eenmalige kosten)
hmm, niet helemaal mee eens... ruim 2/3e van je maandbedrag gaat toch richting de bank in de vorm van rente, dat verdwijnt dan toch ook?
Ozzie schreef op dinsdag 25 juni 2013 @ 15:43:
[...]


Heb je niet zoiets in C#:
Java:
1
2
3
4
void PrintName(Person p)  
{    
    (p != null ? System.out.println(p.getName) : null)
}
dat kan wel in C# voor zo ver ik weet....

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
GateKeaper schreef op dinsdag 25 juni 2013 @ 15:45:
[...]


Indeed... een veel gemaakte denkfout. Enkel de aflossing, vaak slechts +/- 100 tot 150 euro per maand los je af. Een veelvoud daarvan verdampt toch echt gaat richting de bank als verschuldigde rente.
En die aflossing is ook geen voordeel van het kopen van een woning, want als je huurt kun je net zo goed elke maand eenzelfde bedrag opzij zetten, en dan heb je na 30 jaar ook een flink bedrag gespaard.

Ik snap het argument van mensen dat huren geld weg gooien is dan ook nooit zo.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
.oisyn schreef op dinsdag 25 juni 2013 @ 15:46:
[...]


Wat doen ze anders dan?
bij de eerste statement is er een OR en bij de tweede een AND, dat geeft ander resultaat.

Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 22:01
steffex schreef op dinsdag 25 juni 2013 @ 15:47:
[...]


bij de eerste statement is er een OR en bij de tweede een AND, dat geeft ander resultaat.
!= vs ==

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
sorry, ik kijk scheef!

Acties:
  • 0 Henk 'm!

  • GateKeaper
  • Registratie: April 2004
  • Laatst online: 05-08 21:46

GateKeaper

#1 Procastinator

Woy schreef op dinsdag 25 juni 2013 @ 15:46:
[...]
Ik snap het argument van mensen dat huren geld weg gooien is dan ook nooit zo.
Dat argument ging prima op in de tijd dat de prijzen van woningen explodeerden. Als je een huis kocht voor een ton, en dat over 2 jaar weer voor 150.000 kon verkopen, dan kan je daar echt onmogelijk tegenop sparen. (bedragen slaan nergens op).

Vandaag de dag gaat dit argument inderdaad niet meer op.

Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 22:01
het is je vergeven.

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

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

.oisyn

Moderator Devschuur®

Demotivational Speaker

a || b <=> !(!a && !b)

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!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
GateKeaper schreef op dinsdag 25 juni 2013 @ 15:48:
[...]


Dat argument ging prima op in de tijd dat de prijzen van woningen explodeerden. Als je een huis kocht voor een ton, en dat over 2 jaar weer voor 150.000 kon verkopen, dan kan je daar echt onmogelijk tegenop sparen. (bedragen slaan nergens op).

Vandaag de dag gaat dit argument inderdaad niet meer op.
Tja, maar dat is hetzelfde als een ton lenen en daar aandelen/opties voor kopen. Gewoon speculeren met geleend geld!

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 27-09 12:27

Firesphere

Yoshis before Hoshis

Is het legaal om klanten naar /dev/null te verwensen?

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 27-09 07:31
Daos schreef op dinsdag 25 juni 2013 @ 15:37:
Ik zou het samenvoegen:
C#:
1
2
3
4
5
6
7
8
9
void PrintName(Person p)  
{    
    if (p == null || p.Name == null)    
    { 
        return; 
    } 

    Console.WriteLine(p.Name); 
}

of:
C#:
1
2
3
4
5
6
7
void PrintName(Person p)  
{    
    if (p != null && p.Name != null)    
    { 
        Console.WriteLine(p.Name); 
    } 
}


Ik ben er nog niet uit welke van de twee ik zou kiezen.
ArgumentNullException :?

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • Ozzie
  • Registratie: Februari 2004
  • Laatst online: 20:25
Gamebuster schreef op dinsdag 25 juni 2013 @ 15:43:
[...]

gadverdamme kerel. doe het dan meteen goed
Java:
1
p == null || System.out.println(p.getName())
Zijn allebei net zo slechte oplossingen :)

Maar ik ben een fan van de ?: operator. Alleen in deze methode zou ik hem niet zo snel gebruiken omdat je niks returned.

Alleen ik zou de check of Person null is ook niet zo snel in die print methode zetten. Gooi maar lekker een NullPointerException als Person null is.

"Write code as if the next maintainer is a vicious psychopath who knows where you live."


Acties:
  • 0 Henk 'm!

  • Kips
  • Registratie: Januari 2005
  • Laatst online: 26-09 22:12
Woy schreef op dinsdag 25 juni 2013 @ 15:46:
[...]

En die aflossing is ook geen voordeel van het kopen van een woning, want als je huurt kun je net zo goed elke maand eenzelfde bedrag opzij zetten, en dan heb je na 30 jaar ook een flink bedrag gespaard.

Ik snap het argument van mensen dat huren geld weg gooien is dan ook nooit zo.
dat laatste gebeurd vaak niet heb ik 't idee, daarom wordt er vaak gezegd dat huren geld weggooien is....

Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

GateKeaper schreef op dinsdag 25 juni 2013 @ 15:48:
[...]


Dat argument ging prima op in de tijd dat de prijzen van woningen explodeerden. Als je een huis kocht voor een ton, en dat over 2 jaar weer voor 150.000 kon verkopen, dan kan je daar echt onmogelijk tegenop sparen. (bedragen slaan nergens op).

Vandaag de dag gaat dit argument inderdaad niet meer op.
Ik heb destijds gekozen nog zelfs vlak voordat het quasi verplicht werd om ongeveer 70% af te lossen. Ondertussen ben ik al lang van die vriendin af waarmee ik het kocht en hoop ik nog steeds dat hij ooit weer boven water komt te staan en ik hem gewoon zonder NHG kan verkopen :(

Er valt op dit moment echt niet tegen de crisis op af te lossen, zeker als je nog wat extra kosten bij je hypotheek hebt gefinancierd....

iOS developer


Acties:
  • 0 Henk 'm!

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

.oisyn

Moderator Devschuur®

Demotivational Speaker

Woy schreef op dinsdag 25 juni 2013 @ 15:50:
[...]

Tja, maar dat is hetzelfde als een ton lenen en daar aandelen/opties voor kopen. Gewoon speculeren met geleend geld!
Behalve dan dat als je huurt én een ton leent dat je dan je huur én de rente betaalt. Het mooie van een huis is dat je de twee kunt combineren, en dat ook nog eens extra voordelig in de zin een huis als onderpand (dus veel lagere rente) en ook nog eens HRA ;). Kopen was gewoon altijd een goede investering. Nog steeds imho, alleen moet je het niet op zo'n korte termijn bekijken.

[ Voor 10% gewijzigd door .oisyn op 25-06-2013 15:53 ]

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!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24

Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Waarom? Als je naar de code kijkt is null gewoon valide input voor de functie. Dan slaat het gooien van die exceptie natuurlijk nergens op.

Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
Woy schreef op dinsdag 25 juni 2013 @ 15:50:
[...]

Tja, maar dat is hetzelfde als een ton lenen en daar aandelen/opties voor kopen. Gewoon speculeren met geleend geld!
Tuurlijk, ware het niet dat speculeren met de waarde van een huis wat je gekocht hebt, iets betrouwbaarder/stabiler is dan als je aandelen/opties gebruikt :P

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 26-09 13:15

TheNephilim

Wtfuzzle

Firesphere schreef op dinsdag 25 juni 2013 @ 15:50:
Is het legaal om klanten naar /dev/null te verwensen?
Yup, wat mij betreft wel! :o

Acties:
  • 0 Henk 'm!

  • Ozzie
  • Registratie: Februari 2004
  • Laatst online: 20:25
PrisonerOfPain schreef op dinsdag 25 juni 2013 @ 15:53:
[...]


Waarom? Als je naar de code kijkt is null gewoon valide input voor de functie. Dan slaat het gooien van die exceptie natuurlijk nergens op.
naja als je Name aanroept op null gaat het wel fout.

"Write code as if the next maintainer is a vicious psychopath who knows where you live."


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Volgens mij klopt het gewoon. De || en && zijn lazy. Als het linkerdeel al respectievelijk waar of niet waar is, dan wordt het rechterdeel niet uitgevoerd.

Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 27-09 07:31
PrisonerOfPain schreef op dinsdag 25 juni 2013 @ 15:53:
[...]


Waarom? Als je naar de code kijkt is null gewoon valide input voor de functie. Dan slaat het gooien van die exceptie natuurlijk nergens op.
Je wilt properties van een null value printen?

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Down schreef op dinsdag 25 juni 2013 @ 15:55:
[...]


Je wilt properties van een null value printen?
Ik ging er van uit dat hij zelf die exceptie wilde gooien.
Ozzie schreef op dinsdag 25 juni 2013 @ 15:54:
[...]


naja als je Name aanroept op null gaat het wel fout.
Geen idee, maar wellicht wil je alleen properties printen van objecten die niet null zijn. Nevermind.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
.oisyn schreef op dinsdag 25 juni 2013 @ 15:52:
[...]
Kopen was gewoon altijd een goede investering. Nog steeds imho, alleen moet je het niet op zo'n korte termijn bekijken.
Ben ik het mee eens hoor, maar het is gewoon onzin om dat maar te zeggen dat huren geld weggooien is, want dat is kopen net zo goed, zelfs als je het contant af kan rekenen, want dan had je eventueel rendement kunnen hebben van het geld als je geen huis gekocht had ;)

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 27-09 07:31
Daos schreef op dinsdag 25 juni 2013 @ 15:55:
[...]

Volgens mij klopt het gewoon. De || en && zijn lazy. Als het linkerdeel al respectievelijk waar of niet waar is, dan wordt het rechterdeel niet uitgevoerd.
De code klopt in die zin dat er geen exception wordt gegooid. Maar wil je echt niks doen als je er null in stopt? Lijkt me eerder een gevalletje ArgumentNullException.

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

Volgens mij kun je de een in de ander refactoren en weer terug met ReSharper maar loopt hij (terecht) te zeuren als je te veel nest. Een tijdje met ReSharper werken daar word je wel een betere programmeur van, er worden vaak wel dingen voorgesteld die net even wat beter zijn ook al is het resultaat het zelfde.

Alleen het gedram over var en op sommige plekken LINQ daar kan ik me nog wel eens aan storen.

iOS developer


Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 27-09 16:22
I love code reviews! <3

Ben net de code van een ingehuurde developer aan het bekijken en zie dat hij bij een van zijn update statements de where clause compleet vergeten is. :F

Hadden we mooi een hele tabel overschreven als we dit niet van tevoren gezien hadden. |:(
BikkelZ schreef op dinsdag 25 juni 2013 @ 16:02:
Alleen het gedram over var en op sommige plekken LINQ daar kan ik me nog wel eens aan storen.
Dat kan je ook uitzetten eventueel.

[ Voor 30% gewijzigd door PdeBie op 25-06-2013 16:03 ]


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Down schreef op dinsdag 25 juni 2013 @ 15:59:
[...]


De code klopt in die zin dat er geen exception wordt gegooid. Maar wil je echt niks doen als je er null in stopt? Lijkt me eerder een gevalletje ArgumentNullException.
Een exception gooi je als je als je een onverwachte situatie tegenkomt. In veel gevallen in een null argument een verwachte situatie en is het dus ongewenst een exception te gooien.

Of je een exception gooit of gewoon 'niks doet' is afhankelijk van de methode.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Hydra schreef op dinsdag 25 juni 2013 @ 16:04:
[...]


Een exception gooi je als je als je een onverwachte situatie tegenkomt. In veel gevallen in een null argument een verwachte situatie en is het dus ongewenst een exception te gooien.

Of je een exception gooit of gewoon 'niks doet' is afhankelijk van de methode.
En dat was dus het punt wat ik probeerde te maken, alleen kwam ik niet uit m'n woorden.

Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 27-09 12:33

deadinspace

The what goes where now?

Gamebuster schreef op dinsdag 25 juni 2013 @ 15:43:
gadverdamme kerel. doe het dan meteen goed
Java:
1
p == null || System.out.println(p.getName())
Doe dan meteen:
C++:
1
p && std::cout << p.Name << std::endl;

Of eigenlijk (naar de originele code):
C++:
1
p && p.Name && std::cout << p.Name << std::endl;

Ik vind het vergelijken van pointers met null/NULL altijd zo overbodig :)

Ik zou het zelf meestal zo doen; sanity-checks met early-out en dan de echte body zonder extra indenting.
C++:
1
2
3
4
5
6
7
8
9
void PrintName(Person p)
{
    if( !p )
        return;
    if( !p.Name )
        return;

    std::cout << p.Name << std::endl;
}
Down schreef op dinsdag 25 juni 2013 @ 15:59:
De code klopt in die zin dat er geen exception wordt gegooid. Maar wil je echt niks doen als je er null in stopt? Lijkt me eerder een gevalletje ArgumentNullException.
Als we zo gaan beginnen kan PrintName() sowieso beter een method op Person zijn lijkt me :)

Acties:
  • 0 Henk 'm!

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 27-09 12:27

Firesphere

Yoshis before Hoshis

pdebie schreef op dinsdag 25 juni 2013 @ 16:02:
I love code reviews! <3

Ben net de code van een ingehuurde developer aan het bekijken en zie dat hij bij een van zijn update statements de where clause compleet vergeten is. :F

Hadden we mooi een hele tabel overschreven als we dit niet van tevoren gezien hadden. |:(


[...]


Dat kan je ook uitzetten eventueel.
:D

De betere wraakacties?

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 26-09 13:15

TheNephilim

Wtfuzzle

pdebie schreef op dinsdag 25 juni 2013 @ 16:02:
I love code reviews! <3

Ben net de code van een ingehuurde developer aan het bekijken en zie dat hij bij een van zijn update statements de where clause compleet vergeten is. :F

Hadden we mooi een hele tabel overschreven als we dit niet van tevoren gezien hadden. |:(

[...]

Dat kan je ook uitzetten eventueel.
Wauw, dat zijn geen leuke grappen inderdaad :o Vroegah nog wel eens meegemaakt in productie, dat was bepaald geen pretje :X Je leert er zeker van zullen we maar zeggen.

Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 27-09 16:22
Wraak actie? Dat denk ik niet. Hij is maar al te blij dat hij bij ons mag werken.

Gevalletje te snel copy-pasten denk ik als ik naar de rest van de code kijk.
Hoop code vrijwel hetzelfde op wat parameter naampjes etc. na.

Dit was met het testen wel boven water gekomen uiteraard, maar ben blij dat ik het eerder zag :)

[ Voor 10% gewijzigd door PdeBie op 25-06-2013 16:17 ]


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 03:43
pdebie schreef op dinsdag 25 juni 2013 @ 16:16:
Wraak actie? Dat denk ik niet. Hij is maar al te blij dat hij bij ons mag werken.

Gevalletje te snel copy-pasten denk ik als ik naar de rest van de code kijk.
Hoop code vrijwel hetzelfde op wat parameter naampjes etc. na.

Dit was met het testen wel boven water gekomen uiteraard, maar ben blij dat ik het eerder zag :)
Copy/pasten, daar heb je het al ;). Meestal veroorzaakt het meer problemen dan wat anders. En in dit geval is het "correct oplossen" (of datgene wat nodig is over tikken of een beetje refactoren) misschien ook nog sneller dan het copy/pasten, fout aanpassen, en later moeten uitzoeken waarom iets mis gaat.

Acties:
  • 0 Henk 'm!

  • GateKeaper
  • Registratie: April 2004
  • Laatst online: 05-08 21:46

GateKeaper

#1 Procastinator

BikkelZ schreef op dinsdag 25 juni 2013 @ 15:52:
[...]
Er valt op dit moment echt niet tegen de crisis op af te lossen, zeker als je nog wat extra kosten bij je hypotheek hebt gefinancierd....
Tell me about it... Heb het "verlies" van afgelopen jaar ook eens uitgerekend, wordt je niet happy van. Laten we inderdaad maar hopen dat het ooit weer een beetje goed komt. Het hoeft niet te exploderen, maar de pijn verzachten mag best wel. De huidige generatie hoeft toch niet lijden voor de fouten gemaakt door de voorgaande generatie?

En tjah... de rente zal vast weer stijgen, maar toch doet het toch wel een beetje pijn als je je beseft dat je enkele honderden euro's per maand bespaard als je vandaag je hypotheek had kunnen oversluiten.

Acties:
  • 0 Henk 'm!

  • jip_86
  • Registratie: Juli 2004
  • Laatst online: 17:16
Grmbl weer een kan koude koffie. Wil gewoon een knopje om op te drukken en dan direct koffie in mijn mok om weer verder te kunnen met ontwikkelen, ik hoef geen koffie over 5 min :(

Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 27-09 16:22
RobertMe schreef op dinsdag 25 juni 2013 @ 16:21:
[...]

Copy/pasten, daar heb je het al ;). Meestal veroorzaakt het meer problemen dan wat anders. En in dit geval is het "correct oplossen" (of datgene wat nodig is over tikken of een beetje refactoren) misschien ook nog sneller dan het copy/pasten, fout aanpassen, en later moeten uitzoeken waarom iets mis gaat.
Ik copy/paste ook wel eens wat natuurlijk, maar ik test dingen wel eerst zelf lokaal voordat ik het oplever voor test. Zeker een bug als dit moet toch vrij snel duidelijk worden lijkt mij.

Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

pdebie schreef op dinsdag 25 juni 2013 @ 16:02:

Dat kan je ook uitzetten eventueel.
Yep, maar om even aan te geven dat de standaard settings behoorlijk goed zijn :)

iOS developer


Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

Hydra schreef op dinsdag 25 juni 2013 @ 16:04:
[...]


Een exception gooi je als je als je een onverwachte situatie tegenkomt. In veel gevallen in een null argument een verwachte situatie en is het dus ongewenst een exception te gooien.

Of je een exception gooit of gewoon 'niks doet' is afhankelijk van de methode.
Een object is in de meeste talen nou eenmaal niet non-nullable zoals primitieven dat zijn. Er zijn genoeg situaties denkbaar waarbij een null reference totaal ongewenst is maar een taal er simpelweg niet op berekend is.

* BikkelZ berijdt een van zijn stokpaardjes /3

iOS developer


Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 27-09 07:31
Hydra schreef op dinsdag 25 juni 2013 @ 16:04:
[...]


Een exception gooi je als je als je een onverwachte situatie tegenkomt. In veel gevallen in een null argument een verwachte situatie en is het dus ongewenst een exception te gooien.

Of je een exception gooit of gewoon 'niks doet' is afhankelijk van de methode.
Je kunt twisten over wat wel of niet een verwachte situatie is. In veel gevallen is een null argument ook niet een verwachte situatie ;)

Nu is dit voorbeeld redelijk triviaal, maar ik ben er helaas vaak zat tegen aangelopen dat functies 'niks' doen vanwege een null check waar een exception op zijn plaats was geweest. Het lijkt haast wel alsof veel mensen 'exceptions are bad!' denken (niet jullie hoor ;)) en ze niet durven te gooien, daar waar ze fouten inzichtelijk kunnen maken i.p.v. deze onder het tapijt te vegen.

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 27-09 16:22
BikkelZ schreef op dinsdag 25 juni 2013 @ 16:42:
[...]

Yep, maar om even aan te geven dat de standaard settings behoorlijk goed zijn :)
Zeker. Al vind ik sommige key short-cuts niet even handig. Maar ook deze zijn gelukkig aan te passen.

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Hydra schreef op donderdag 20 juni 2013 @ 13:38:
Pff. Klant vraagt een aangepaste offerte. Met o.a. 2 voedingen. Ik vraag voor welk apparaat die voedingen precies zijn. Hij reageert met een generieke naam (dus niet het specifieke type). Als ik hem dan vraag om het specifieke type of het serienummer krijg ik een pissige mail terug dat 't 'em te lang duurt.

Ja hallo, wees dan meteen duidelijk! :(
En het vervolg:
Dezelfde klant stuurt een order. Die moet dus door naar de leverancier. Ik mail terug met "bedankt bla bla bla, moet deze naar adres XYZ?" (z'n adres dat geregistreerd staat). Reageert 'ie met "nee, moet naar het bekende adres voor klant ABC" (waar hij onderaannemer voor is).

Dus in plaats van gewoon ff te melden wat het adres is mag ik nu in de orderadministratie uit gaan zoeken waar de fuck die zooi naar toe gaat. En dat voor een nettowinst van een whopping 50 euro. Aaargh!

Ter vergelijking; andere klant doet vandaag ook een order voor ons, 400 euro nettowinst waar gewoon netjes een orderPDF bij zit met ALLE info die ik nodig heb. Is voor mij dan gewoon 5 minuten werk.

Fuck it, ik ga naar huis...

https://niels.nu


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23-09 14:00
deadinspace schreef op dinsdag 25 juni 2013 @ 16:11:
[...]

Doe dan meteen:
C++:
1
p && std::cout << p.Name << std::endl;

Of eigenlijk (naar de originele code):
C++:
1
p && p.Name && std::cout << p.Name << std::endl;

Ik vind het vergelijken van pointers met null/NULL altijd zo overbodig :)

Ik zou het zelf meestal zo doen; sanity-checks met early-out en dan de echte body zonder extra indenting.
C++:
1
2
3
4
5
6
7
8
9
void PrintName(Person p)
{
    if( !p )
        return;
    if( !p.Name )
        return;

    std::cout << p.Name << std::endl;
}


[...]

Als we zo gaan beginnen kan PrintName() sowieso beter een method op Person zijn lijkt me :)
Een vergelijking met null/NULL lijkt misschien overbodig, voor jouw, maar kan code ook juist leesbaarder maken. Vooral met de toevoeging van nullptr in C++11.
C++:
1
2
while (item->next) // vs.
while (item->next != nullptr)
Bij de tweede kun je duidelijker zien dat je een controle doet op een null-pointer. Vooral omdat je een afgedankte of ongebruikte pointer ook naar nullptr naar verwijzen. Daarnaast kun je in jouw PrintName beter met een reference werken, in plaats van een kopie. Maar daar ging je voorbeeld natuurlijk niet om :+

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 26-09 13:15

TheNephilim

Wtfuzzle

Hydra schreef op dinsdag 25 juni 2013 @ 17:10:
[...]


En het vervolg:
Dezelfde klant stuurt een order. Die moet dus door naar de leverancier. Ik mail terug met "bedankt bla bla bla, moet deze naar adres XYZ?" (z'n adres dat geregistreerd staat). Reageert 'ie met "nee, moet naar het bekende adres voor klant ABC" (waar hij onderaannemer voor is).

Dus in plaats van gewoon ff te melden wat het adres is mag ik nu in de orderadministratie uit gaan zoeken waar de fuck die zooi naar toe gaat. En dat voor een nettowinst van een whopping 50 euro. Aaargh!

Ter vergelijking; andere klant doet vandaag ook een order voor ons, 400 euro nettowinst waar gewoon netjes een orderPDF bij zit met ALLE info die ik nodig heb. Is voor mij dan gewoon 5 minuten werk.

Fuck it, ik ga naar huis...
Haha, ja zo makkelijk hè, sommige mensen :p

Ik zit hier nog steeds met een response zonder input :+ Inmiddels met support aan de gang, maar dat schiet niet echt op zo.

PHP:
1
2
3
4
5
6
7
8
9
10
// Handle reporturl
if (isset($_REQUEST['trxid']) && isset($_REQUEST['status']) && isset($_REQUEST['rtlo'])) {

    // Sanitize input
    $trxid  = sanitize_text_field($_REQUEST['trxid']);
    $status = sanitize_text_field($_REQUEST['status']);
    $rtlo   = sanitize_text_field($_REQUEST['rtlo']);

    // doe iets...
}


Als ik de input zelf in de GET gooi dan krijg ik netjes resultaat, via de server van de 3e partij ... niks 8)7

Moet er zo ook vandoor, schiet niet op vandaag :/

Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
ThomasG schreef op dinsdag 25 juni 2013 @ 17:26:
Bij de tweede kun je duidelijker zien dat je een controle doet op een null-pointer. Vooral omdat je een afgedankte of ongebruikte pointer ook naar nullptr naar verwijzen.
Sinds de uitvinding van C worden pointers al op een dergelijke manier gechecked, nullptr maakt die situatie niet heel veel beter.

Acties:
  • 0 Henk 'm!

  • Ellos
  • Registratie: Oktober 2008
  • Laatst online: 17-09 17:22
PrisonerOfPain schreef op dinsdag 25 juni 2013 @ 13:42:
Ik ben me de laatste paar dagen in WinDBG gaan verdiepen, en het is een belachelijk krachtige debugger. Iets minder modern dan visual studio maar een hoop robuster, en er is zo veel meer mogelijk. Je kunt in dezelfde debugger, .Net, Native en de Kernel (driver crashes) debuggen, je hebt met een commando een lijst van alle locks die je application maakt en het beste van alles: de window manager lijkt heel veel op die van ProDBG.

Er zitten features in die voor jou je crash-dump analyseren en de handleiding is enorm gedetailleerd _/-\o_

Voor de .netters:
[video]

En native:
[video]
Ik weet t :)
Ik heb er o.a. eens de obfuscated/encrypted themes van reuxables mee uitgesnoept.
privé projectje niks commercieels ;)

En gebruik het altijd als er weer eens bsods op een pc zijn zonder eenduidige oorzaak.

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23-09 14:00
PrisonerOfPain schreef op dinsdag 25 juni 2013 @ 17:37:
[...]


Sinds de uitvinding van C worden pointers al op een dergelijke manier gechecked, nullptr maakt die situatie niet heel veel beter.
Dat ligt er maar net aan. Voor het checken in veel gevallen misschien niet, maar er zitten veel voordelen aan het gebruik van nullptr. Het wordt in tegenstelling tot NULL of 0 niet aangezien als een integer, maar heeft zijn eigen type std::nullptr_t. Dit neemt een aantal problemen weg met overloading, en dat je NULL of 0 niet kunt forwarden, maar nullptr wel. Daarnaast kun je een template of functie specialiseren op nullptr, zodat je null-pointers een andere behandeling kunt geven.
The new C++09 nullptr keyword designates an rvalue constant that serves as a universal null pointer literal, replacing the buggy and weakly-typed literal 0 and the infamous NULL macro. nullptr thus puts an end to more than 30 years of embarrassment, ambiguity, and bugs.

Acties:
  • 0 Henk 'm!

  • Ozzie
  • Registratie: Februari 2004
  • Laatst online: 20:25
Om onduidelijke redenen is iedereen hier op werk tegen het gebruik van JasperReports voor de reporting van projecten alleen niemand kan uitleggen waarom.
Ik ben er net even een uurtje mee aan het stoeien geweest en heb nu al netjes een PDF met daarin een overzicht van alle accounts die in een database staan. En dat alles met een minimale hoeveelheid code en werk.
Het lijkt mij juist een ideale library, nu alleen nog even de lead developer overtuigen :)

"Write code as if the next maintainer is a vicious psychopath who knows where you live."


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 00:21

orf

TheNephilim schreef op dinsdag 25 juni 2013 @ 17:30:
[...]


Haha, ja zo makkelijk hè, sommige mensen :p

Ik zit hier nog steeds met een response zonder input :+ Inmiddels met support aan de gang, maar dat schiet niet echt op zo.

PHP:
1
2
3
4
5
6
7
8
9
10
// Handle reporturl
if (isset($_REQUEST['trxid']) && isset($_REQUEST['status']) && isset($_REQUEST['rtlo'])) {

    // Sanitize input
    $trxid  = sanitize_text_field($_REQUEST['trxid']);
    $status = sanitize_text_field($_REQUEST['status']);
    $rtlo   = sanitize_text_field($_REQUEST['rtlo']);

    // doe iets...
}


Als ik de input zelf in de GET gooi dan krijg ik netjes resultaat, via de server van de 3e partij ... niks 8)7

Moet er zo ook vandoor, schiet niet op vandaag :/
OT:
In 1 isset() kun je direct al je inputs checken.

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 03:03
TheNephilim schreef op dinsdag 25 juni 2013 @ 16:12:
[...]


Wauw, dat zijn geen leuke grappen inderdaad :o Vroegah nog wel eens meegemaakt in productie, dat was bepaald geen pretje :X Je leert er zeker van zullen we maar zeggen.
Ik moet wel eens handmatig met wat queries updaten op productie databases, ook een keer een foutje mee gemaakt.. :X Sindsdien gaat er altijd
SQL:
1
2
3
4
5
BEGIN TRAN XXX

update meuk

END TRAN XXX

omheen

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

TheNephilim schreef op dinsdag 25 juni 2013 @ 17:30:
[...]


Haha, ja zo makkelijk hè, sommige mensen :p

Ik zit hier nog steeds met een response zonder input :+ Inmiddels met support aan de gang, maar dat schiet niet echt op zo.

PHP:
1
2
3
4
5
6
7
8
9
10
// Handle reporturl
if (isset($_REQUEST['trxid']) && isset($_REQUEST['status']) && isset($_REQUEST['rtlo'])) {

    // Sanitize input
    $trxid  = sanitize_text_field($_REQUEST['trxid']);
    $status = sanitize_text_field($_REQUEST['status']);
    $rtlo   = sanitize_text_field($_REQUEST['rtlo']);

    // doe iets...
}


Als ik de input zelf in de GET gooi dan krijg ik netjes resultaat, via de server van de 3e partij ... niks 8)7

Moet er zo ook vandoor, schiet niet op vandaag :/
Waarom gebruik je dan ook $_ REQUEST? Wat is de request_ order?

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


Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 22:01
$_REQUEST was toch evil enzo?

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23-09 14:00
Aangezien het een combinatie van $_GET, $_POST, en $_COOKIE is, is het redelijk evil ja.

Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

Ik begrijp überhaupt niet dat ze het er ooit in gestopt hebben terwijl er al zoveel beveiligingsdebacles zijn geweest met het feit dat je vroeger iedere variabele die in de applicatie gebruikt werd kon zetten via een GET-parameter. Volgens mij samen met SQL-injection wel de meest populaire manier om sites te hacken destijds.

Maar goed er zijn prima alternatieven voor PHP tegenwoordig, je hóeft het niet meer te gebruiken.

--------

Hmmm ik zie echt heel weinig verschil tussen de oude en de nieuwe PHP site in de documentatie. Nog steeds lelijke blauwe blokken en ongemodereerd commentaar.

[ Voor 13% gewijzigd door BikkelZ op 25-06-2013 19:28 ]

iOS developer


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 27-09 12:33

deadinspace

The what goes where now?

ThomasG schreef op dinsdag 25 juni 2013 @ 17:26:
Een vergelijking met null/NULL lijkt misschien overbodig, voor jouw, maar kan code ook juist leesbaarder maken. Vooral met de toevoeging van nullptr in C++11.
C++:
1
2
while (item->next) // vs.
while (item->next != nullptr)
Bij de tweede kun je duidelijker zien dat je een controle doet op een null-pointer. Vooral omdat je een afgedankte of ongebruikte pointer ook naar nullptr naar verwijzen.
Ik vind de eerste juist leesbaarder; voor mij leest dat impliciet als "while item->next is valid" en dat leest voor mij prettiger dan met expliciete NULL/nullptr-check. Ik gebruik hetzelfde ook altijd voor booleans (waar ik if( active == true ) ook minder leesbaar vind); booleans en pointers hebben voor mij dan ook dezelfde tweedeling tussen "wel geldig/actief" en "niet geldig/actief" (waar die tweede categorie bij booleans uit 1 state bestaat en bij pointers uit veel potentiele states). De volgende twee voorbeelden lijken daarom syntactisch niet alleen veel op elkaar, maar ook de semantiek is vrijwel gelijk:
C++:
1
2
3
4
5
6
7
// bool p.nameIsValid; char *p.name;

if( p.nameIsValid )
    cout << p.name;

if( p.name )
    cout << p.name;

Je hebt gelijk dat het tweede voorbeeld niet expliciet maakt dat het om een pointer gaat, maar meestal blijkt uit de context (zoals de variabele/propertynaam) wel of het een boolean of pointer betreft.

Als je daar echt bezwaar tegen hebt, hoe doe je het dan in het volgende geval?
C++:
1
blaat += 4;

Is blaat een pointer of een integer? Beiden zijn mogelijk en (afhankelijk van de context) prima verdedigbaar.

Merk op dat ik de if( blaat ) constructie nooit gebruik voor integers (aangezien die in mijn ogen niet aan dezelfde semantische tweedeling voldoen), dus daar kan in mijn code geen verwarring over bestaan.
Daarnaast kun je in jouw PrintName beter met een reference werken, in plaats van een kopie. Maar daar ging je voorbeeld natuurlijk niet om :+
Ja, klopt. Ik had de taal van het voorbeeld veranderd van C# naar C++ omdat ik redelijk bekend ben met de semantiek van C++ maar nauwelijks met die van C#, maar dat had ik over het hoofd gezien :) En nee dat was idd niet mijn punt :P

Acties:
  • 0 Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 03:39

F.West98

Alweer 16 jaar hier

Afbeeldingslocatie: http://i.imgflip.com/2518h.jpg

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0 Henk 'm!

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Dat soort regels vind ik juist weer onduidelijk. Wat if naam? Niet leeg, gedefinieerd, geldig, etc...?

Net ook weer een bestelling geplaatst via een of andere website. Krijg ik als bevestiging weer mijn wachtwoord opgestuurd. :X Wanneer leren ze dat nu eens af?

Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
ThomasG schreef op dinsdag 25 juni 2013 @ 18:05:
[...]
Dat ligt er maar net aan. Voor het checken in veel gevallen misschien niet, maar er zitten veel voordelen aan het gebruik van nullptr.
Daar ben ik me bewust van, maar daar ging het niet over ;)
Feanathiel schreef op dinsdag 25 juni 2013 @ 20:13:
Dat soort regels vind ik juist weer onduidelijk. Wat if naam? Niet leeg, gedefinieerd, geldig, etc...?
In C kun je er vrijwel zeker van zijn name een pointer is naar een string en in C++, als je de string class zo kunt gebruiken, kun je er van uit gaan dat 'ie een size == 0 check doet of dat 't een char * is.

[ Voor 39% gewijzigd door PrisonerOfPain op 25-06-2013 21:15 ]


Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
Hydra schreef op dinsdag 25 juni 2013 @ 17:10:
[...]


En het vervolg:
Dezelfde klant stuurt een order. Die moet dus door naar de leverancier. Ik mail terug met "bedankt bla bla bla, moet deze naar adres XYZ?" (z'n adres dat geregistreerd staat). Reageert 'ie met "nee, moet naar het bekende adres voor klant ABC" (waar hij onderaannemer voor is).

Dus in plaats van gewoon ff te melden wat het adres is mag ik nu in de orderadministratie uit gaan zoeken waar de fuck die zooi naar toe gaat. En dat voor een nettowinst van een whopping 50 euro. Aaargh!

Ter vergelijking; andere klant doet vandaag ook een order voor ons, 400 euro nettowinst waar gewoon netjes een orderPDF bij zit met ALLE info die ik nodig heb. Is voor mij dan gewoon 5 minuten werk.

Fuck it, ik ga naar huis...
Is dit niet een kwestie van klanten opvoeden? administratiekosten gaan rekenen voor dit soort geintjes?

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
steffex schreef op dinsdag 25 juni 2013 @ 21:21:
Is dit niet een kwestie van klanten opvoeden? administratiekosten gaan rekenen voor dit soort geintjes?
Klant in kwestie weet dat 'ie dit soort shit kan maken. Da's het nadeel van onze business; dit soort types zijn enorm arrogant omdat ze als 'consultant' verantwoordelijk zijn voor de aankoop van de bedrijven waar we aan leveren.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
dat sucked hard, maar zou je als bedrijf niet bestel procedures kunnen vastleggen? In de vorm van "als je deze procedure volgt, wordt je bestelling het snelst verwerkt!"?

Hierdoor "dwing" je klanten op een manier te bestellen die voor jullie als bedrijf fijn is en voor hen het snelst resultaat geeft.

Dit is natuurlijk alleen mogelijk als je werkgever meewerkt en bereid is om een paar "pissige" klanten te woord te staan.

Acties:
  • 0 Henk 'm!

  • Ozzie
  • Registratie: Februari 2004
  • Laatst online: 20:25
Feanathiel schreef op dinsdag 25 juni 2013 @ 20:13:
[...]


Dat soort regels vind ik juist weer onduidelijk. Wat if naam? Niet leeg, gedefinieerd, geldig, etc...?
in Groovy word het helemaal een feest:
Java:
1
2
3
void printName(person) {
    println person?.name 
}


Edit:
De zogenaamde Safe Navigation Operator

[ Voor 17% gewijzigd door Ozzie op 25-06-2013 22:00 ]

"Write code as if the next maintainer is a vicious psychopath who knows where you live."


Acties:
  • 0 Henk 'm!

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50

BikkelZ

CMD+Z

Ozzie schreef op dinsdag 25 juni 2013 @ 21:58:
[...]


in Groovy word het helemaal een feest:
Java:
1
2
3
void printName(person) {
    println person?.name 
}


Edit:
De zogenaamde Safe Navigation Operator
Maar je print nog steeds de null value in dit geval. Dus ik denk dat het je qua kortheid het hooguit zo zou kunnen doen:

Java:
1
2
3
4
void printName(person) {
    if person?.name != null
        println person.name
}

iOS developer

Pagina: 1 ... 128 ... 188 Laatste

Dit topic is gesloten.

Let op:
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep voor iedereen in de Devschuur® en niet als vraagbaak.