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

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

Pagina: 1 ... 99 ... 103 Laatste
Acties:
  • 993.583 views

Acties:
  • 0 Henk 'm!

  • Carharttguy
  • Registratie: Juli 2010
  • Laatst online: 04-07 23:09
Is een SPoE niet gewoon een voorbeeld van een SPoR?

Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Nee, Single Point of Entry en Single Point of Return zijn twee verschillende dingen.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 11:54

.oisyn

Moderator Devschuur®

Demotivational Speaker

Single Point of Exit :)

Ik had me de ambiguïteit ervan niet gerealiseerd.

[ Voor 55% gewijzigd door .oisyn op 30-01-2013 11:58 ]

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!

  • Carharttguy
  • Registratie: Juli 2010
  • Laatst online: 04-07 23:09
Ik dacht inderdaad ook aan Exit, en niet aan Entry.

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:18

Haan

dotnetter

C#:
1
2
3
4
5
6
7
8
9
10
11
12
try
{
    int birthdayYear = Convert.ToInt32(tbBirthday.Text.Substring(6, 4));
    int birthdayMonth = Convert.ToInt32(tbBirthday.Text.Substring(3, 2));
    int birthdayDay = Convert.ToInt32(tbBirthday.Text.Substring(0, 2));
    DateTime birthday = new DateTime(birthdayYear, birthdayMonth, birthdayDay);
    Logger.Debug("Conversion to System.DateTime succeeded. tbStartdate.Text=" + tbBirthday.Text);    
}
catch (ArgumentOutOfRangeException)
{
    Logger.Debug("Conversion to System.DateTime FAILED! tbStartdate.Text=" + tbBirthday.Text);
}

;(

En alsof het nog niet erg genoeg is, stond deze code ook nog eens vier keer exact hetzelfde in 1 bestand -O-

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 16-09 09:06

Firesphere

Yoshis before Hoshis

Wut??

Een try/catch op een datum????

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!

Verwijderd

Ik denk meer dat hij bedoelt dat er betere manieren zijn om een datum te parsen.

Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Ook die try/catch: Oh jee, ik doe iets ingewikkelds met converteren, laat ik er een try/catch-blok van maken, dat is robuust :Y

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:18

Haan

dotnetter

kenneth schreef op woensdag 06 februari 2013 @ 10:52:
Ook die try/catch: Oh jee, ik doe iets ingewikkelds met converteren, laat ik er een try/catch-blok van maken, dat is robuust :Y
Zou je zeggen, maar zelfs de catch is nog niet goed, want Convert.ToInt32 zal een FormatException gooien bij verkeerde input |:(

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

Verwijderd

Daar had ik niet eens naar gekeken. Ik zou sowieso DateTime.ParseExact gebruiken.

Acties:
  • 0 Henk 'm!

  • king_charles
  • Registratie: Maart 2008
  • Laatst online: 15-08-2023
Het catchen van Argument(...)Exceptions is sowieso uit den boze natuurlijk.

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Niet altijd. SharePoint gooit namelijk vrolijk een ArgumentException als je probeert een lijst aan te spreken die niet bestaat.

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Spockz
  • Registratie: Augustus 2003
  • Laatst online: 15-09 09:15

Spockz

Live and Let Live

Alex) schreef op woensdag 06 februari 2013 @ 22:39:
Niet altijd. SharePoint gooit namelijk vrolijk een ArgumentException als je probeert een lijst aan te spreken die niet bestaat.
In een zekere zin is de identifier die je dan gebruikt niet geldig. :-) Dus volgens de MSDN docs zou je dan idd die exception kunnen krijgen. Dat het netter is iets als een Maybe te gebruiken ben ik met je eens. :)

C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8


Acties:
  • 0 Henk 'm!

  • ValHallASW
  • Registratie: Februari 2003
  • Niet online
offtopic:
oeps, verkeerde topic

[ Voor 93% gewijzigd door ValHallASW op 07-02-2013 10:33 ]


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Spockz schreef op woensdag 06 februari 2013 @ 22:59:
[...]

In een zekere zin is de identifier die je dan gebruikt niet geldig. :-) Dus volgens de MSDN docs zou je dan idd die exception kunnen krijgen. Dat het netter is iets als een Maybe te gebruiken ben ik met je eens. :)
Als je een SharePoint-lijst wil opvragen aan de hand van de naam heb je weinig keus. Er is geen method "DoesListExist", "TryGetList" of zoiets. Je kunt de lijst van alle lijsten ophalen en daar overheen itereren, maar dat is zowat nog ranziger dan try/catch.

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Spockz schreef op woensdag 06 februari 2013 @ 22:59:
[...]
In een zekere zin is de identifier die je dan gebruikt niet geldig. :-) Dus volgens de MSDN docs zou je dan idd die exception kunnen krijgen. Dat het netter is iets als een Maybe te gebruiken ben ik met je eens. :)
Het is een design keuze dat je een null-achtig resultaat oplevert als bepaalde data niet aanwezig is, of dat je de programma-executie afbreekt. Wat er gekozen is hangt af van hoe uitzonderlijk deze situatie gezien wordt. Mijn inziens kan er maar beter een exception gegooid worden wanneer de aanroeper naar verwachting toch niet verder kan gaan.

Helaas is het zo dat je aan de signatuur van de functie (meestal) niet kan zien welke keuze gemaakt is, tenzij dat in een contract of met commentaar gespecificeerd is.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

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

BikkelZ

CMD+Z

Hoe check je of een hoster vanuit verschillende locaties performt, dus niet alleen vanuit je eigen PC of iets wat in je eigen land staat?

iOS developer


Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 10:13
Er zijn best veel grote gratis proxies. Maar wat heeft dat te maken met slechte programmeervoorbeelden :?

Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
Vandaag ook weer een hele mooie ontdekt:
Visual Basic:
1
.....Text = Replace(FormatCurrency(TebetalenBedrag, 2, TriState.UseDefault, TriState.UseDefault, TriState.UseDefault), "$", "€ ")

|:(

Toch maar ff vervangen door:
Visual Basic:
1
.....Text = TeBetalenBedrag.ToString("€ 0.00")

Acties:
  • 0 Henk 'm!

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 11:08

Rhapsody

In Metal We Trust

Dat is een mooie conversie van VB6 naar VB.NET. Iets waar ik bij mij ook bang voor ben. (meerendeel is nog in vb6 geschreven nl...)
Tegn die tijd zal ik het hele project wel posten :P -->:'(

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)


Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
Rhapsody schreef op woensdag 13 februari 2013 @ 20:40:
Dat is een mooie conversie van VB6 naar VB.NET.
Alleen dit was geen conversie, maar een stukje .Net van, euh...., 2 maand oud?

Acties:
  • 0 Henk 'm!

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 11:08

Rhapsody

In Metal We Trust

Ok, dan heb ik ook geen excuses meer :P

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)


Acties:
  • 0 Henk 'm!

Verwijderd

Het is dan ook niet correct. Eigenlijk zou je de default regional settings van uw Windows client moeten overnemen... :p

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:18

Haan

dotnetter

HeSitated schreef op woensdag 13 februari 2013 @ 20:11:
Vandaag ook weer een hele mooie ontdekt:
Visual Basic:
1
.....Text = Replace(FormatCurrency(TebetalenBedrag, 2, TriState.UseDefault, TriState.UseDefault, TriState.UseDefault), "$", "€ ")

|:(

Toch maar ff vervangen door:
Visual Basic:
1
.....Text = TeBetalenBedrag.ToString("€ 0.00")
Zou je niet liever .ToString("c") gebruiken?

Kater? Eerst water, de rest komt later


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Verwijderd schreef op woensdag 13 februari 2013 @ 21:55:
Het is dan ook niet correct. Eigenlijk zou je de default regional settings van uw Windows client moeten overnemen... :p
Bijna -nooit- wil je de default regional settings van de client gebruiken als je currency format. Welke currency je gebruikt staat doorgaans vast. Da's ook een van mn grootste issues met de globalization van het .NET framework, dat ze dat niet goed geregeld hebben. Als je het netjes wilt doen moet je custom cultures gaan bouwen om die dingen goed te regelen, ipv dat de text localization en currency concerns netjes separated zijn.

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


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Grijze Vos schreef op donderdag 14 februari 2013 @ 08:43:
[...]

Bijna -nooit- wil je de default regional settings van de client gebruiken als je currency format. Welke currency je gebruikt staat doorgaans vast. Da's ook een van mn grootste issues met de globalization van het .NET framework, dat ze dat niet goed geregeld hebben. Als je het netjes wilt doen moet je custom cultures gaan bouwen om die dingen goed te regelen, ipv dat de text localization en currency concerns netjes separated zijn.
Het is anders vrij gebruikelijk dat $ 1,- == € 1,- :+

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


  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
Haan schreef op donderdag 14 februari 2013 @ 07:54:
Zou je niet liever .ToString("c") gebruiken?
Die gebruik ik NOOIT!

Laat ik het alsvolgt motiveren:

Ik heb nog nooit meegemaakt dat omwille van, danwel de clientsettings, danwel de settings van de webserver, een bedrag in een andere valuta moest worden afgerekend....

;)

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Woy schreef op donderdag 14 februari 2013 @ 09:01:
[...]

Het is anders vrij gebruikelijk dat $ 1,- == € 1,- :+
True :) Everyone plays the steam game nowadays.

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


Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
HeSitated schreef op donderdag 14 februari 2013 @ 21:07:
[...]

Die gebruik ik NOOIT!

Laat ik het alsvolgt motiveren:

Ik heb nog nooit meegemaakt dat omwille van, danwel de clientsettings, danwel de settings van de webserver, een bedrag in een andere valuta moest worden afgerekend....

;)
Tja, het goedzetten van de cultureinfo is toch niet alleen nuttig voor valuta?

Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
Davio schreef op vrijdag 15 februari 2013 @ 09:56:
Tja, het goedzetten van de cultureinfo is toch niet alleen nuttig voor valuta?
Het heeft niets te maken met het al dan niet goed zetten van de cultureinfo.

Ik ben als ontwikkelaar echter niet graag afhankelijk van meer dan strikt noodzakelijk is....
En als het nu voordelen op zou leveren...

Daarnaast op het moment dat je met meerdere valuta werkt, heb je er sowieso niets aan.

Acties:
  • 0 Henk 'm!

  • PolarBear
  • Registratie: Februari 2001
  • Niet online
De vraag is natuurlijk of je een valuta waarvan je de currency weet als valuta moet behandelen in globalization. Mijns inziens moet je het gewoon als getal behandelen en zelf het juiste symbool erbij zetten. Je wil immers het getal localizen, niet de munteenheid.

Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
PolarBear schreef op zaterdag 16 februari 2013 @ 19:58:
Je wil immers het getal localizen, niet de munteenheid.
Dat is precies wat ik (be)doe(l):
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Main()
{
    var amount = 12.5;
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-us");
    amount.ToCurrency().Dump();
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("nl-nl");
    amount.ToCurrency().Dump();
}

// Define other methods and classes here
public static class TestExtensions
{
    public static string ToCurrency(this double value)
    {
        return value.ToString("€ 0.00");
    }
}


Dit levert met LinqPad keurig netjes:
€ 12.50
€ 12,50

[ Voor 5% gewijzigd door HeSitated op 17-02-2013 12:50 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Of gewoon:

C#:
1
string.Format("€ {0:n}", amount).Dump();


(Aangezien 9 uit 10x je die euro toch uit een resource file laat komen.)

[ Voor 35% gewijzigd door Grijze Vos op 17-02-2013 13:39 ]

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


Acties:
  • 0 Henk 'm!

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
HeSitated schreef op zondag 17 februari 2013 @ 12:49:
[...]

Dat is precies wat ik (be)doe(l):
C#:
1
2
3
4
5
6
7
8
// Define other methods and classes here
public static class TestExtensions
{
    public static string ToCurrency(this double value)
    {
        return value.ToString("€ 0.00");
    }
}


Dit levert met LinqPad keurig netjes:
€ 12.50
€ 12,50
Een bedrag als double (of float) lijkt een ook een goed voorbeeld voor dit topic ;)

[ Voor 20% gewijzigd door Jegorex op 17-02-2013 19:10 ]


Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Ik zat vrijdag nog een methode te refactoren die iets met twee bedragen deed. Het ene bedrag was een double, het andere een string :')

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • Marcj
  • Registratie: November 2000
  • Laatst online: 10:32
Wat zeg je eigenlijk tegen iemand die het volgende opschrijft:

Java:
1
int nummer = (Integer) null;
8)7 :X

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 10:13
"You're fired?"

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
put your teeth on the sidewalk?

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


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Het duurde even.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
function languagesEqual(language1, language2) {
    if (!language1
     || !language1.value 
     || !language2 
     || !!language2.value
    ) {
        return false;
    }
    
    // ...

    return result;
}


Edit: blame the font, hier valt 'ie meteen op. :+

[ Voor 10% gewijzigd door CodeCaster op 20-02-2013 23:36 ]

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


  • Webgnome
  • Registratie: Maart 2001
  • Laatst online: 10:43
Marcj schreef op maandag 18 februari 2013 @ 07:10:
Wat zeg je eigenlijk tegen iemand die het volgende opschrijft:

Java:
1
int nummer = (Integer) null;
8)7 :X
"Ik mag aannemen dat dit door een stagiair is gemaakt?"

Strava | AP | IP | AW


  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
CodeCaster schreef op woensdag 20 februari 2013 @ 23:35:
Het duurde even.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
function languagesEqual(language1, language2) {
    if (!language1
     || !language1.value 
     || !language2 
     || !!language2.value
    ) {
        return false;
    }
    
    // ...

    return result;
}


Edit: blame the font, hier valt 'ie meteen op. :+
Naast het feit dat de vlag de lading niet dekt is het ook gewoon vreselijk omslachtige code. Dat kan veel beter.

JavaScript:
1
return !!( first && second && ( first.value === second.value ));

  • jip_86
  • Registratie: Juli 2004
  • Laatst online: 11:55
C#:
1
2
3
4
5
6
private string _foo { get; set; }
public string Foo
{
  get { return _foo ; }
  set { _foo = value; }
}

Die had het nog niet helemaal begrepen :X

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 16-09 22:28

Matis

Rubber Rocket

jip_86 schreef op donderdag 21 februari 2013 @ 21:21:
C#:
1
2
3
4
5
6
private string _foo { get; set; }
public string Foo
{
  get { return _foo ; }
  set { _foo = value; }
}

Die had het nog niet helemaal begrepen :X
Misschien na een refactoring-actie?

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


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

R4gnax schreef op donderdag 21 februari 2013 @ 21:18:
[...]


Naast het feit dat de vlag de lading niet dekt is het ook gewoon vreselijk omslachtige code. Dat kan veel beter.

JavaScript:
1
return !!( first && second && ( first.value === second.value ));
Er staat niet voor niks "// ...", er wordt daarna nog van alles met first en second gedaan die al dan niet true kunnen opleveren en die uiteindelijk nog gerefactord moet worden naar een score van 0 tot 100% (aan de hand van de qvalue, het zijn HTTP accept-params). Er moet dus gewoon even aan parameter checking gedaan worden, anders zou ik je geen ongelijk geven.

[ Voor 15% gewijzigd door CodeCaster op 21-02-2013 23:24 ]

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


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
CodeCaster schreef op donderdag 21 februari 2013 @ 23:22:
Er staat niet voor niks "// ...", er wordt daarna nog van alles met first en second gedaan die al dan niet true kunnen opleveren en die uiteindelijk nog gerefactord moet worden naar een score van 0 tot 100% (aan de hand van de qvalue, het zijn HTTP accept-params). Er moet dus gewoon even aan parameter checking gedaan worden, anders zou ik je geen ongelijk geven.
Da fuq?! 8)7

Daar mag dan wel eens iemand een stoom-cursus "correct beschrijvende functie namen toekennen" naar z'n kop geslingerd krijgen, want dat lees je niet van een naam als languagesEqual af.

Acties:
  • 0 Henk 'm!

  • Jegorex
  • Registratie: April 2004
  • Laatst online: 03-09 23:24
hernoem het naar languagesAlmostEqual en het klopt weer :P
languagesEqualButSometimesNot is ook een goede kandidaad.

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

R4gnax schreef op vrijdag 22 februari 2013 @ 01:18:
[...]


Da fuq?! 8)7

Daar mag dan wel eens iemand een stoom-cursus "correct beschrijvende functie namen toekennen" naar z'n kop geslingerd krijgen, want dat lees je niet van een naam als languagesEqual af.
Is die pedante toon echt noodzakelijk? Jij hebt namelijk geen gelijk, dat kan ik je ook niet kwalijk nemen omdat niet alle code er staat en begrijpend lezen lastig blijft, maar de functienaam dekt momenteel volledig de lading.

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


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
CodeCaster schreef op vrijdag 22 februari 2013 @ 08:10:
[...]

de functienaam dekt momenteel volledig de lading.
Equality checks zijn heel simpel: twee (of meer) dingen zijn gelijk, of ze zijn niet gelijk.

Wat jij beschrijft is een complexe test die uiteindelijk ergens een glijdende waarde in het bereik [0..1] terug geeft, welke de mate van passendheid aangeeft. Dat heet een fitness function en wat zo'n functie als resultaat terug geeft is een fitness value.

Acties:
  • 0 Henk 'm!

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 16-09 09:06

Firesphere

Yoshis before Hoshis

PHP:
1
2
3
Function form(){
CheckboxField::create('Spam', 'Ja, stuur mij nieuwsberichten');
}

Niet echt een faal, wel humor :D

Even ter info, het is Silverstripe, dus de syntax voor een veld is:
PHP:
1
FieldType::create('FieldName', 'FieldTitle', 'FieldValue');

[ Voor 36% gewijzigd door Firesphere op 22-02-2013 20:28 ]

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!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 06:51
Wel een faal dus, want ik zie 2 argumenten, terwijl de functie om 3 vraagt. ;)

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 16-09 09:06

Firesphere

Yoshis before Hoshis

Jaap-Jan schreef op vrijdag 22 februari 2013 @ 20:45:
Wel een faal dus, want ik zie 2 argumenten, terwijl de functie om 3 vraagt. ;)
Sorry, alleen de eerste is verplicht ;) De rest is standaard null en wordt geraden aan de hand van de FieldName. Er kunnen in totaal 8 parameters meegestuurd worden, maar de eerste 2 of 3 zijn het belangrijkst. De parent-class "FormField" heeft dan ook alleen een construct voor die 3.
PHP:
1
public function __construct($name, $title = null, $value = null)


Het klopt dus wel. My bad om dat niet direct er bij te zetten.

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!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

R4gnax schreef op vrijdag 22 februari 2013 @ 20:23:
[...]


Equality checks zijn heel simpel: twee (of meer) dingen zijn gelijk, of ze zijn niet gelijk.

Wat jij beschrijft is een complexe test die uiteindelijk ergens een glijdende waarde in het bereik [0..1] terug geeft, welke de mate van passendheid aangeeft. Dat het een fitness function en wat zo'n functie als resultaat terug geeft is een fitness value.
Bedankt voor de link, maar je mag wat mij betreft nog steeds iets minder aanvallend posten. Zoals ik al zei:
CodeCaster schreef op donderdag 21 februari 2013 @ 23:22:
die uiteindelijk nog gerefactord moet worden naar een score
CodeCaster schreef op vrijdag 22 februari 2013 @ 08:10:
maar de functienaam dekt momenteel volledig de lading.
Er staat namelijk nu, en voel je absoluut vrij commentaar te hebben op de code:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function languagesEqual(language1, language2) {
    if (!language1
     || !language1.value 
     || !language2 
     || !language2.value
    ) {
        return false;
    }
    
    // TODO: http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
    return (calculateLanguageMatch(language1, language2) >= 1);
}

function calculateLanguageMatch(language1, language2) {
    var primaryMatch = language1.value.split('-')[0].toLowerCase() 
                    == language2.value.split('-')[0].toLowerCase();
    
    // TODO: calculate score of match by languageN.qValue (0.000-1.000) and take subtag into account, en-US != en-GB
    return (primaryMatch ? 1 : 0);
}

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


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
CodeCaster schreef op zaterdag 23 februari 2013 @ 01:23:
Er staat namelijk nu, en voel je absoluut vrij commentaar te hebben op de code:
Zo werkt de Accept-Language header dus ook gewoon niet. Gegeven "en-US;q=0" zal de resulterende quality value voor de taal "en-US" 0 zijn. En dat terwijl het toch echt dezelfde taal is.

Het functievoorschrift dat je zoekt is waarschijnlijk isLanguageAccepted(language, header), gok ik.

Verder zit je nu naamgeving bewust te baseren op een tijdelijke, incomplete implementatie van een andere functie waarvan de logica op dit moment aantoonbaar incorrect is. Dat is mogelijk een nog grotere WTF, eerlijk gezegd.

Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 16-09 18:16
R4gnax schreef op zondag 24 februari 2013 @ 00:12:
[...]


Zo werkt de Accept-Language header dus ook gewoon niet. Gegeven "en-US;q=0" zal de resulterende quality value voor de taal "en-US" 0 zijn. En dat terwijl het toch echt dezelfde taal is.

Het functievoorschrift dat je zoekt is waarschijnlijk isLanguageAccepted(language, header), gok ik.

Verder zit je nu naamgeving bewust te baseren op een tijdelijke, incomplete implementatie van een andere functie waarvan de logica op dit moment aantoonbaar incorrect is. Dat is mogelijk een nog grotere WTF, eerlijk gezegd.
Mwa, wie zegt dat de complete (of gedeeltelijke) header die functie in gaat? Als er nou commentaar boven de functie zou staan die de parameters beschrijft.. :)

Overigens had ik gekozen voor languagesAreEqual als naam. Dat leest altijd lekker weg:


JavaScript:
1
if (languagesAreEqual(x, y)

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


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

R4gnax schreef op zondag 24 februari 2013 @ 00:12:
[...]


Zo werkt de Accept-Language header dus ook gewoon niet. Gegeven "en-US;q=0" zal de resulterende quality value voor de taal "en-US" 0 zijn. En dat terwijl het toch echt dezelfde taal is.

Het functievoorschrift dat je zoekt is waarschijnlijk isLanguageAccepted(language, header), gok ik.

Verder zit je nu naamgeving bewust te baseren op een tijdelijke, incomplete implementatie van een andere functie waarvan de logica op dit moment aantoonbaar incorrect is. Dat is mogelijk een nog grotere WTF, eerlijk gezegd.
Ik begrijp niet helemaal wat je met de eerste alinea bedoelt, maar hij lijkt mij niet relevant: ik wil alleen maar weten of 'en' hetzelfde is als 'en-US', en in deze context is dat precies wat die functie doet.

Misschien heb je een punt met dat er betere alternatieven kunnen zijn voor de functienaam, maar ik snap nog steeds niet dat dat op zo'n toon moet; kun je dat niet op een normale manier doen, en in plaats van met aannames te schermen er gewoon voor zetten "Als je X wil, kun je beter Y doen"? Dan kan ik gewoon zeggen dat ik X helemaal niet wil en blijft het hier wat gezelliger. :)

[ Voor 27% gewijzigd door CodeCaster op 24-02-2013 11:12 ]

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


Acties:
  • 0 Henk 'm!

  • Struikrover
  • Registratie: Juni 2005
  • Laatst online: 14-09 13:09
Ik denk dat je kalme toon hem niet aan staat :P

Acties:
  • 0 Henk 'm!

Verwijderd

Zo jongens, iets minder hard aan dat rietje lurken. Even tot tien tellen graag.

Acties:
  • 0 Henk 'm!

  • Spiral
  • Registratie: December 2005
  • Niet online
HeSitated schreef op zondag 17 februari 2013 @ 12:49:
[...]

Dat is precies wat ik (be)doe(l):
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Main()
{
    var amount = 12.5;
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-us");
    amount.ToCurrency().Dump();
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("nl-nl");
    amount.ToCurrency().Dump();
}

// Define other methods and classes here
public static class TestExtensions
{
    public static string ToCurrency(this double value)
    {
        return value.ToString("€ 0.00");
    }
}


Dit levert met LinqPad keurig netjes:
€ 12.50
€ 12,50
Bij elke prijs sla ik altijd in de database de culture op in de database.
Het voordeel hiervan is dat ik niet hoef na te denken over weergave van o.a. negatieve bedragen, punten en of komma's.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public string Format(decimal value, CultureInfo cultureInfo)
 {
        string formattedString = String.Empty;

        if (cultureInfo != null)
        {
            formattedString = value.ToString("c", cultureInfo);
        }
        else
        {
            formattedString = value.ToString("c");
        }

        return formattedString;
 }

To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true. | Aristoteles


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Eh?
C#:
1
return cultureInfo != null ? value.ToString("c", cultureInfo) : value.ToString("c");

[ Voor 3% gewijzigd door Olaf van der Spek op 24-02-2013 12:03 ]


Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
Spiral schreef op zondag 24 februari 2013 @ 11:20:
Bij elke prijs sla ik altijd in de database de culture op in de database.
Het voordeel hiervan is dat ik niet hoef na te denken over weergave van o.a. negatieve bedragen, punten en of komma's.
Huh? :?

En als je nu twee gebruikers hebt met twee verschillende cultures?

Acties:
  • 0 Henk 'm!

  • Spiral
  • Registratie: December 2005
  • Niet online
HeSitated schreef op zondag 24 februari 2013 @ 12:03:
[...]

Huh? :?

En als je nu twee gebruikers hebt met twee verschillende cultures?
Dat ligt eraan in welke tabel je die koppeling legt. Koppel de culture aan het bedrijf, persoon, fruit, product, fiets, tijd whatever that suits you and is the best for your situation.

In onze situatie is het gekoppeld aan de vestiging.
Olaf van der Spek schreef op zondag 24 februari 2013 @ 12:03:
Eh?
C#:
1
return cultureInfo != null ? value.ToString("c", cultureInfo) : value.ToString("c");
eh Potato, patato ? Maar goed dat is een andere discussie. Functioneel is het gelijk.

[ Voor 3% gewijzigd door Spiral op 24-02-2013 12:34 ]

To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true. | Aristoteles


Acties:
  • 0 Henk 'm!

  • martin149
  • Registratie: Augustus 2009
  • Laatst online: 10-09 08:19
Ik was maar eens oude code terug aan het lezen, kom je dit soort dingen tegen |:( :
PHP:
1
2
3
4
5
6
if(isset($_COOKIE['autologin'])){
$array = explode(":",$_COOKIE['autologin']);
$_SESSION['id'] = $array[0];
$_SESSION['username'] = stripslashes($array[1]);
$_SESSION['password'] = stripslashes($array[2]);
}


en dan vervolgens op deze manier de gebruiken controleren:
PHP:
1
2
3
4
5
if (!$_SESSION['username'])
{
    header("Location: index.php");
    exit();
}

Acties:
  • 0 Henk 'm!

  • roeleboel
  • Registratie: Maart 2006
  • Niet online

roeleboel

en zijn beestenboel

martin149 schreef op zondag 24 februari 2013 @ 18:06:
Ik was maar eens oude code terug aan het lezen, kom je dit soort dingen tegen |:( :
PHP:
1
2
3
4
5
6
if(isset($_COOKIE['autologin'])){
$array = explode(":",$_COOKIE['autologin']);
$_SESSION['id'] = $array[0];
$_SESSION['username'] = stripslashes($array[1]);
$_SESSION['password'] = stripslashes($array[2]);
}


en dan vervolgens op deze manier de gebruiken controleren:
PHP:
1
2
3
4
5
if (!$_SESSION['username'])
{
    header("Location: index.php");
    exit();
}
Ik ben (nog) niet zo een webheld, maar is er iets grondig mis met _enkel_ het 2e?
Dat de combo van 1 & 2 een redelijke faal is is duidelijk, maar is er een reden om het 2e deel niet te gebruiken, gesteld dat deel 1 beter gedaan wordt?

Acties:
  • 0 Henk 'm!

  • martin149
  • Registratie: Augustus 2009
  • Laatst online: 10-09 08:19
Volgensmij kun je het prima gebruiken, als je er voor zorgt dat er niet met sessies geklooit kan worden. Of heb ik het fout? (dan moet ik mijn huidige code door gaan lopen)

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 10:37

orf

roeleboel schreef op zondag 24 februari 2013 @ 18:36:
[...]


Ik ben (nog) niet zo een webheld, maar is er iets grondig mis met _enkel_ het 2e?
Dat de combo van 1 & 2 een redelijke faal is is duidelijk, maar is er een reden om het 2e deel niet te gebruiken, gesteld dat deel 1 beter gedaan wordt?
Het levert in ieder geval een Notice op als de sessievariabele niet bestaat. Beter om met isset() te kijken of de sessievariabele bestaat. Om session hijacking te voorkomen kun je eventueel checken op de useragent en/of ip-adres.

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 06-09 17:51
CodeCaster schreef op zondag 24 februari 2013 @ 11:02:
[...]

kun je dat niet op een normale manier doen, en in plaats van met aannames te schermen er gewoon voor zetten "Als je X wil, kun je beter Y doen"? Dan kan ik gewoon zeggen dat ik X helemaal niet wil en blijft het hier wat gezelliger. :)
Kun jij dan misschien ook even duidelijk maken wat je dan wel wilt bereiken? Het lijkt er namelijk niet op alsof je hier een taal-selectie mechanisme op basis van de Accept-Language header aan het maken bent. (Je lijkt je in elk geval niet aan de regels in de RFC te houden.)

Als je een taal selectie op basis van de Accept-Language header wil, kun je beter zoiets als het volgende doen.

JavaScript:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/**
 * Get the language from the array of available language tags that has the best
 * quality value when matched against the array of language ranges from the
 * Accept-Language header, per the HTTP 1.1 RFC.
 */
function getBestAcceptedLanguage( languageTags, languageRanges ) {
  var current, best;
  
  best = {
    name  : "",
    value : 0
  }
  
  for ( var i = 0, n = languageTags.length; i < n ; ++i ) {
    current = {
      name  : languageTags[ i ].name,
      value : matchTagAgainstRanges( languageTags[ i ], languageRanges );
    };
    
    if ( current.value > best.value ) {
      best = current;
    }
  }
  
  return best.value > 0 ? best : null;
}

function matchTagAgainstRanges( languageTag, languageRanges ) {
  var current, best;
  
  // NOTE: HTTP 1.1 RFC states that the quality value for a language tag
  // is the quality value of the language range from the Accept-Language
  // header's value string of which the name shares the longest common
  // prefix with the name of the language tag.
  // If no match is possible, the quality value is 0. 
    
  best = {
    prefix : 0,
    value  : 0
  };
  
  for ( var i = 0, n = languageRanges.length; i < n ; ++i ) { 
    current = {
      prefix : measureCommonPrefix( languageTag, languageRanges[ i ]),
      value  : 0;
    };
  
    if ( current.prefix > best.prefix ) {     
      // When a range does not specify a quality value, the RFC states it is 1.     
      current.value = languageRanges[ i ] != null ? +languageRanges[ i ] : 1;
      current.value = Math.min( Math.max( current.value, 0 ), 1 );
      best = current;
    }
  }
  
  return best.value;
}

function measureCommonPrefix( languageTag, languageRange ) {
  var
    tagParts = languageTag.name.toLowerCase().split( "-" ),
    rangeParts = languageRange.name.toLowerCase().split( "-" ),
    n = Math.min( tagParts.length, rangeParts.length ),
    prefix;
  
  for ( var i = 0 ; i < n ; ++i ) {
    if ( tagParts[ i ] !== rangeParts[ i ]) { break; }    
    prefix += tagParts[ i ].length;   
  }
  
  return prefix;
}

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Olaf van der Spek schreef op zondag 24 februari 2013 @ 12:03:
Eh?
C#:
1
return cultureInfo != null ? value.ToString("c", cultureInfo) : value.ToString("c");
Nog korter:
C#:
1
return value.ToString("c", cultureInfo ?? CultureInfo.CurrentCulture);

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


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

R4gnax schreef op maandag 25 februari 2013 @ 01:44:
[...]

Kun jij dan misschien ook even duidelijk maken wat je dan wel wilt bereiken?
Waarom? Dit is het slechtste programmeervoorbeeldentopic, en ik postte in eerste instantie alleen maar dat ik over een dubbel uitroepteken heen las.
Het lijkt er namelijk niet op alsof je hier een taal-selectie mechanisme op basis van de Accept-Language header aan het maken bent.
Dat ben ik ook helemaal niet aan het doen. :) Ik krijg een lijst binnen die aangeeft in welke talen bepaalde content beschikbaar is, waarna ik wil controleren of de door de gebruiker opgegeven taal in deze lijst voorkomt. En dat is precies wat die code doet.
(Je lijkt je in elk geval niet aan de regels in de RFC te houden.)
Vertel. :)
Als je een taal selectie op basis van de Accept-Language header wil, kun je beter zoiets als het volgende doen.
Dat heb ik serverside ongeveer op deze manier opgelost, ja. :)

[ Voor 8% gewijzigd door CodeCaster op 25-02-2013 10:45 ]

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


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Lol, kom net op een mooie default error pagina:
Server Error in '/' Application.

Runtime Error

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
Kan gebeuren, maar imho zou dat op funda.nl niet mogen :X

Failda

[ Voor 3% gewijzigd door Janoz op 25-02-2013 13:05 ]

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


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 11:37
Ik heb het zelfs meerdere keren op StackOverflow gezien, en dat is nog wel een programmeersite.

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 11:18

Haan

dotnetter

Als er iets helemaal fubar is gegaan, gaat je custom error pagina ook niet meer werken. Maar heel netjes is het niet nee :P

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

Verwijderd

Haan schreef op maandag 25 februari 2013 @ 14:17:
Als er iets helemaal fubar is gegaan, gaat je custom error pagina ook niet meer werken. Maar heel netjes is het niet nee :P
Tot op heden lukt het ons hier om alles met een custom error pagina af te vangen (tenzij IIS onderuit ligt bijv), icm Elmah voor de logging werkt het perfect, ideaal of fouten te traceren en desgewenst even de gebruiker te bellen voor ondersteuning :)

[ Voor 3% gewijzigd door Verwijderd op 25-02-2013 14:25 ]


Acties:
  • 0 Henk 'm!

  • -Sander1981-
  • Registratie: November 2000
  • Laatst online: 22-04-2020
Grijze Vos schreef op maandag 25 februari 2013 @ 09:57:
[...]

Nog korter:
C#:
1
return value.ToString("c", cultureInfo ?? CultureInfo.CurrentCulture);
Nog korter: ;)
C#:
1
return value.ToString("c", cultureInfo);


De cultureinfo parameter is default de current culture: http://msdn.microsoft.com/en-us/library/18sthszb.aspx

edit:
al is de versie van Grijze Vos natuurlijk wel leesbaarder

[ Voor 7% gewijzigd door -Sander1981- op 25-02-2013 22:42 ]

I don't have a solution; but I do admire the problem.


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 11:35
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
/* else make returned Chebyshev coefficient structure */
            Ts->mu = nru - 1; /* save row degree */
            Ts->mv = nrv - 1;
            Ts->a.u = a.u + b.u; /* set argument scaling */
            Ts->a.v = a.v + b.v;
            Ts->b.u = 1. / (b.u - a.u);
            Ts->b.v = 1. / (b.v - a.v);
            Ts->power = 0;
            for (i = 0; i < nru; ++i) /* store coefficient rows for u */
                Ts->cu[i].m = ncu[i];
                if (Ts->cu[i].m)
                    if ((p = Ts->cu[i].c =
                            (double *)pj_malloc(sizeof(double) * ncu[i])))
                        for (j = 0; j < ncu[i]; ++j)
                            *p++ = (w[i] + j)->u;
                    else
                        goto error;
            for (i = 0; i < nrv; ++i) /* same for v */
                Ts->cv[i].m = ncv[i];
                if (Ts->cv[i].m)
                    if ((p = Ts->cv[i].c =
                            (double *)pj_malloc(sizeof(double) * ncv[i])))
                        for (j = 0; j < ncv[i]; ++j)
                            *p++ = (w[i] + j)->v;
                    else
                        goto error;


Uit een map library somewhere, xcode geeft hier ook warnings.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 11:54

.oisyn

Moderator Devschuur®

Demotivational Speaker

Brrr. De indenting klopt, maar het leek even alsof ie niet klopte.

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!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 10:13
Nee, volgens mij niet. De for-loop op regel 9 is alleen van toepassing voor de assignment op regel 10, niet voor de if op regel 11. Idem dito voor de regels vanaf regel 18. Of mis ik hier iets?

Acties:
  • 0 Henk 'm!

  • Candanz
  • Registratie: Februari 2013
  • Laatst online: 19-08-2024

Candanz

Geflipt

09 heeft alleen effect op 10,
14 heeft alleen effect op 15,
18 heeft alleen effect op 19,
23 heeft alleen effect op 24.

Tenminste, zo zie ik het. Als het ook zo is, dan klopt de indenting dus niet.

Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
Volgens mij staan de eerste if-jes inderdaad een tab teveel naar rechts (en de rest dus ook).

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 10:13
ZpAz schreef op dinsdag 26 februari 2013 @ 10:19:
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
/* else make returned Chebyshev coefficient structure */
            Ts->mu = nru - 1; /* save row degree */
            Ts->mv = nrv - 1;
            Ts->a.u = a.u + b.u; /* set argument scaling */
            Ts->a.v = a.v + b.v;
            Ts->b.u = 1. / (b.u - a.u);
            Ts->b.v = 1. / (b.v - a.v);
            Ts->power = 0;
            for (i = 0; i < nru; ++i) /* store coefficient rows for u */
                Ts->cu[i].m = ncu[i];
            if (Ts->cu[i].m)
                if ((p = Ts->cu[i].c =
                        (double *)pj_malloc(sizeof(double) * ncu[i])))
                    for (j = 0; j < ncu[i]; ++j)
                        *p++ = (w[i] + j)->u;
                else
                    goto error;
            for (i = 0; i < nrv; ++i) /* same for v */
                Ts->cv[i].m = ncv[i];
            if (Ts->cv[i].m)
                if ((p = Ts->cv[i].c =
                        (double *)pj_malloc(sizeof(double) * ncv[i])))
                    for (j = 0; j < ncv[i]; ++j)
                        *p++ = (w[i] + j)->v;
                else
                    goto error;


Uit een map library somewhere, xcode geeft hier ook warnings.
Zo klopt de indenting volgens mij, als dat waar is klopt er geen hout van die code :X

Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
Naast het feit dat ik dat in VB.Net heel lelijk opgelost vind, heb ik mijn twijfels als ik de volgende code zie:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        Public Shared conCatName As Func(Of String, String, String, String) = _
                                                                           Function(init, middle, surname)
                                                                                  Dim ret As String = ""
                                                                                  If String.IsNullOrEmpty(init) = False Then
                                                                                      ret = init & " "
                                                                                  End If
                                                                                  If String.IsNullOrEmpty(middle) = False Then
                                                                                      ret = ret.Trim() & " " & middle
                                                                                  End If
                                                                                  If String.IsNullOrEmpty(surname) = False Then
                                                                                      ret = ret.Trim() & " " & surname
                                                                                  End If
                                                                                  Return ret.Trim()
                                                                              End Function


Moeten we nu alles als Func definiëren? :?

Acties:
  • 0 Henk 'm!

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 16-09 09:06

Firesphere

Yoshis before Hoshis

HeSitated schreef op woensdag 27 februari 2013 @ 17:18:
Naast het feit dat ik dat in VB.Net heel lelijk opgelost vind, heb ik mijn twijfels als ik de volgende code zie:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        Public Shared conCatName As Func(Of String, String, String, String) = _
                                                                           Function(init, middle, surname)
                                                                                  Dim ret As String = ""
                                                                                  If String.IsNullOrEmpty(init) = False Then
                                                                                      ret = init & " "
                                                                                  End If
                                                                                  If String.IsNullOrEmpty(middle) = False Then
                                                                                      ret = ret.Trim() & " " & middle
                                                                                  End If
                                                                                  If String.IsNullOrEmpty(surname) = False Then
                                                                                      ret = ret.Trim() & " " & surname
                                                                                  End If
                                                                                  Return ret.Trim()
                                                                              End Function


Moeten we nu alles als Func definiëren? :?
Funky shizzle man!

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!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 12:08

Onbekend

...

ZpAz schreef op dinsdag 26 februari 2013 @ 10:19:
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
/* else make returned Chebyshev coefficient structure */
            Ts->mu = nru - 1; /* save row degree */
            Ts->mv = nrv - 1;
            Ts->a.u = a.u + b.u; /* set argument scaling */
            Ts->a.v = a.v + b.v;
            Ts->b.u = 1. / (b.u - a.u);
            Ts->b.v = 1. / (b.v - a.v);
            Ts->power = 0;
            for (i = 0; i < nru; ++i) /* store coefficient rows for u */
                Ts->cu[i].m = ncu[i];
                if (Ts->cu[i].m)
                    if ((p = Ts->cu[i].c =
                            (double *)pj_malloc(sizeof(double) * ncu[i])))
                        for (j = 0; j < ncu[i]; ++j)
                            *p++ = (w[i] + j)->u;
                    else
                        goto error;
            for (i = 0; i < nrv; ++i) /* same for v */
                Ts->cv[i].m = ncv[i];
                if (Ts->cv[i].m)
                    if ((p = Ts->cv[i].c =
                            (double *)pj_malloc(sizeof(double) * ncv[i])))
                        for (j = 0; j < ncv[i]; ++j)
                            *p++ = (w[i] + j)->v;
                    else
                        goto error;


Uit een map library somewhere, xcode geeft hier ook warnings.
Vanwege die for-loop problemen die een paar posts hierboven staan vermeldt, vind ik het niet zo vreemd dat je warnings krijgt. De waarde i loopt gewoon op naar nru of nrv en met die waarde wordt de rest van die code uitgevoerd. Je schrijft dan zelfs buiten jouw array. :)

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • HeSitated
  • Registratie: April 2009
  • Laatst online: 03-12-2024
Janoz schreef op maandag 25 februari 2013 @ 13:01:
Lol, kom net op een mooie default error pagina:
In dezelfde categorie en zeker aangezien we nu al weer 2 dagen verder zijn:
This Exact e-Synergy license has expired.
End date: 01-03-2013
Unfortunately you do not have the system rights to enter a new license. Please kindly contact System Administrator to update license.
Thank you.
:z

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
HeSitated schreef op zondag 03 maart 2013 @ 20:31:
[...]

In dezelfde categorie en zeker aangezien we nu al weer 2 dagen verder zijn:

[...]

:z
Dat had ik ook een keer. Doordat iemand m'n applicatie in Program Files had geïnstalleerd (ik installeer zelf altijd op een andere schijf, nooit op C), vond Windows het niet goed dat de license-file werd bijgewerkt door iemand zonder admin-rechten ;(.

Acties:
  • 0 Henk 'm!

  • superice
  • Registratie: November 2012
  • Laatst online: 16-06 07:52
Afbeeldingslocatie: http://g2f.nl/0oz02oy

'nuff said.

Acties:
  • 0 Henk 'm!

  • EfBe
  • Registratie: Januari 2000
  • Niet online
HeSitated schreef op woensdag 27 februari 2013 @ 17:18:
Naast het feit dat ik dat in VB.Net heel lelijk opgelost vind, heb ik mijn twijfels als ik de volgende code zie:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Shared conCatName As Func(Of String, String, String, String) = _
               Function(init, middle, surname)
                      Dim ret As String = ""
                      If String.IsNullOrEmpty(init) = False Then
                          ret = init & " "
                      End If
                      If String.IsNullOrEmpty(middle) = False Then
                          ret = ret.Trim() & " " & middle
                      End If
                      If String.IsNullOrEmpty(surname) = False Then
                          ret = ret.Trim() & " " & surname
                      End If
                      Return ret.Trim()
                  End Function


Moeten we nu alles als Func definiëren? :?
Wat is er mis met die code (behalve VB.NET ;)) ? Het is een func die je mee kunt geven aan een method waardoor je _daar_ name elements aan elkaar kunt concatten volgens de logica die in de func zit. Dit kan handig zijn wanneer je in die method bv andere manieren wilt hebben hoe je de name elements aan elkaar wilt concatten, bv surname & ", " & init & " " & middle: de code die deze func _gebruikt_ is dan meer generic.

[ Voor 32% gewijzigd door EfBe op 04-03-2013 09:40 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
C#:
1
2
3
4
5
6
7
8
9
10
private string CleanHtmlFromText(string source)
{
    if (source.Contains("<"))
    {
        var result = source.Substring(0, source.IndexOf("<")) + source.Substring(source.IndexOf(">") + 1);
        return CleanHtmlFromText(result.Trim());
    }
    else
        return source.Length > 230 ? source.Substring(0, 230) + "..." : source;
}


Dat kan toch wel beter? :/

We are shaping the future


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 11:35
Alex) schreef op maandag 04 maart 2013 @ 10:36:
C#:
1
2
3
4
5
6
7
8
9
10
private string CleanHtmlFromText(string source)
{
    if (source.Contains("<"))
    {
        var result = source.Substring(0, source.IndexOf("<")) + source.Substring(source.IndexOf(">") + 1);
        return CleanHtmlFromText(result.Trim());
    }
    else
        return source.Length > 230 ? source.Substring(0, 230) + "..." : source;
}


Dat kan toch wel beter? :/
Ik wou net zeggen, in welke situatie wil je dat de string korter moet zijn dan 230 tekens tenzij er html in voorkomt? Toen zag ik dat ie zichzelf ook nog aanriep... 8)7

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 05-08 09:21

Not Pingu

Dumbass ex machina

Uit de enquete op de FP:

Afbeeldingslocatie: http://i.imgur.com/91odxQF.png


Afbeeldingslocatie: http://i.imgur.com/Cgcufno.png

Certified smart block developer op de agile darkchain stack. PM voor info.


Acties:
  • 0 Henk 'm!

  • !null
  • Registratie: Maart 2008
  • Laatst online: 11-09 14:00
Dat scheelt, dan hoef je niet een aparte optie voor hermafrodieten aan te maken. En mensen zonder geslacht laten beide vinkjes leeg! :D

Ampera-e (60kWh) -> (66kWh)


Acties:
  • 0 Henk 'm!

Verwijderd

Ik vind het wel een goed voorbeeld van hoe het ook kan :)
Het is minder kwetsend dan "man, vrouw, anders", minder beperkend dan "man/vrouw", het enige dat veranderd moet worden is dat het een verplicht veld is, zou ik niet doen.

[ Voor 4% gewijzigd door Verwijderd op 04-03-2013 11:09 ]


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
De aanname dat er maar 2 geslachten zouden bestaan stoort me altijd ontzettend aan die formulieren. In Thailand zijn er wettelijk zelfs 3 geslachten (man, vrouw, kathoey). Daarnaast zijn er nog mensen die om allerlei redenen onder de optie 'overige' vallen.
Verwijderd schreef op maandag 04 maart 2013 @ 11:08:
Ik vind het wel een goed voorbeeld van hoe het ook kan :)
Het is minder kwetsend dan "man, vrouw, anders", minder beperkend dan "man/vrouw", het enige dat veranderd moet worden is dat het een verplicht veld is, zou ik niet doen.
De huidige oplossing is onhandiger dan de optie "Anders, namelijk...". Wat moet een kathoey invullen dan?

[ Voor 65% gewijzigd door Alex) op 04-03-2013 11:10 ]

We are shaping the future


Acties:
  • 0 Henk 'm!

  • spleethoven
  • Registratie: Oktober 2010
  • Laatst online: 24-01-2024
Zoals? mij lijkt het dat toch iemand of man, of vrouw is fysiek gezien.

Acties:
  • 0 Henk 'm!

  • RayNbow
  • Registratie: Maart 2003
  • Laatst online: 12:19

RayNbow

Kirika <3

HeSitated schreef op woensdag 27 februari 2013 @ 17:18:
Naast het feit dat ik dat in VB.Net heel lelijk opgelost vind, heb ik mijn twijfels als ik de volgende code zie:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Shared conCatName As Func(Of String, String, String, String) = _
    Function(init, middle, surname)
           Dim ret As String = ""
           If String.IsNullOrEmpty(init) = False Then
               ret = init & " "
           End If
           If String.IsNullOrEmpty(middle) = False Then
               ret = ret.Trim() & " " & middle
           End If
           If String.IsNullOrEmpty(surname) = False Then
               ret = ret.Trim() & " " & surname
           End If
           Return ret.Trim()
       End Function


Moeten we nu alles als Func definiëren? :?
Waarom niet zoiets? :+
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Module Module1

    Sub Main()
        Console.WriteLine(concatName("Raynor  ", "    ", "  Vliegendhart "))
    End Sub

    Delegate Function Concatter(<[ParamArray]> ByVal args As String()) As String

    Public concatName As Concatter =
        Function(args() As String) As String
            Return String.Join(" ", From arg In args
                                    Where Not String.IsNullOrWhiteSpace(arg)
                                    Select arg.Trim())
        End Function

End Module

(** Niet getest of het 100% functioneel identiek is :p)

Ipsa Scientia Potestas Est
NNID: ShinNoNoir


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
spleethoven schreef op maandag 04 maart 2013 @ 11:10:
Zoals? mij lijkt het dat toch iemand of man, of vrouw is fysiek gezien.
Geslacht is meer dan "wat heb je tussen je benen zitten?" ;)

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

spleethoven schreef op maandag 04 maart 2013 @ 11:10:
Zoals? mij lijkt het dat toch iemand of man, of vrouw is fysiek gezien.
In HL7 zijn 7 mogelijke keuzes voor het geslacht gedefinieerd:

- man
- vrouw
- vroeger man, nu vrouw
- vroeger vrouw, nu man
- beiden
- onbepaald
- onbekend

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


Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
En zelfs die lijst is dus niet volledig :)

Een kathoey valt niet onder man (want vrouwelijke kenmerken), niet onder vrouw (want mannelijke kenmerken), niet onder 'vroeger man, nu vrouw' (omdat er nog mannelijke kenmerken zijn). De opties "vroeger vrouw, nu man" en "beiden" zijn niet van toepassing, "onbekend" is dat onder Thaise wetgeving ook niet. De enige optie waar het nog onder zou kunnen vallen is 'onbepaald' omdat het geslacht 'kathoey' een regionaal fenomeen is.

De optie "geslacht" in een M/V-veld vatten is dus eigenlijk zo fout als het maar zijn kan. Helaas maken veel programmeurs die fout :(

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 05-08 09:21

Not Pingu

Dumbass ex machina

Alex) schreef op maandag 04 maart 2013 @ 11:09:
De aanname dat er maar 2 geslachten zouden bestaan stoort me altijd ontzettend aan die formulieren. In Thailand zijn er wettelijk zelfs 3 geslachten (man, vrouw, kathoey).
Legal recognition of kathoeys and transsexuals is non-existent in Thailand
bron

Certified smart block developer op de agile darkchain stack. PM voor info.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Onder HL7 zal de kathoey gewoon onder "vroeger man, nu vrouw" vallen.

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


Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 06:51
En iemand met XY- chromosomen die zich ontwikkeld heeft als vrouw?

Misschien moet ik daarbij vermelden dat mensen met AOS geslachtskenmerken hebben van beide seksen en nooit vruchtbaar zijn omdat ze geen volledig ontwikkelde geslachtsorganen hebben, soms mannelijke geslachtsorganen.

[ Voor 66% gewijzigd door Jaap-Jan op 04-03-2013 11:52 ]

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett

Pagina: 1 ... 99 ... 103 Laatste

Dit topic is gesloten.

Let op:
Uiteraard is het in dit topic niet de bedoeling dat andere users en/of topics aangehaald worden om ze voor gek te zetten. Lachen om je eigen code, of over dingen die je "wel eens tegengekomen bent" is prima, maar hou het onderling netjes. :)