Gathering of Tweakers

Quicksearch

Acties: [view][quote]


Door: -NMe- Admin Devschuur®
Watching you I am.

Het is alweer tijd voor deel 3 van deze succesvolle topicreeks. :P

Vorige delen:
[alg] slechtste prog voorbeelden.
[alg] Slechtste programmeervoorbeelden deel 2

Regels:
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. :)

Daarnaast is het niet de bedoeling dat je hier maar even snel een kort vraagje komt stellen. Als een vraag niet topicwaardig is, dan is hij wat dit forum betreft ook niet postwaardig. :)

"Sometimes I really think people ought to have to pass a proper exam before they're allowed to be parents. Not just the practical, I mean."
De Tweakers.net Tijdlijn

MVP Windows Live Platform

Ik gisteren nog...
JavaScript:
1
...this.getElementsByTagName('img')[0]...

Het ging over een <a> met daarin een <img> die dynamisch was aangemaakt (via JS, userscripts)... iets zegt me dat gewoon "this.firstChild" ook had volstaan... (dit was btw in een onclick-eventhandler)

Alex) wijzigde dit bericht 21-07-2007 16:13 (8%)

Lágrimas negras

Afhankelijk van het feit of het mogelijk is dat er whitespace of andere elementen binnen dat a element kunnen staan. Als dat niet zo is, had firstChild inderdaad wel volstaan. En dat scheelt flink wat overhead ;)

Over troubled waters memories soar endlessly, searching night and day.
The moonlight caresses a lonely hill with the calmness of a whisper

MVP Windows Live Platform


JavaScript:
1
2
3
4
5
var link = document.createElement('a');

var image = document.createElement('img');

link.appendChild(image);

Daar zit geen whitespace tussen de <a> en de <img>, lijkt me...
@ oisyn, implode gaat hier helaas niet werken, tenzij ik met een 2de array ga werken natuurlijk.

The hypothesis of God offers no worthwhile explanation for anything, for it simply postulates what we are trying to explain.

domestic archelogist
Berichten: 765
Reg. datum: 17 november 2001

quote:
Alex) schreef op zaterdag 21 juli 2007 @ 16:12:
Ik gisteren nog...
JavaScript:
1
...this.getElementsByTagName('img')[0]...

Het ging over een <a> met daarin een <img> die dynamisch was aangemaakt (via JS, userscripts)... iets zegt me dat gewoon "this.firstChild" ook had volstaan... (dit was btw in een onclick-eventhandler)
Ergens heb je wel gelijk. Je moet dan wel blijven opletten of het een dynamische img is of een die er al was. Bij de laatste is een enter al genoeg om je script te verpesten. Om fouten voor te zijn had ik waarschijnlijk ook 'jouw' constructie genomen. (Of de reference die je toch al hebt bij het dynamisch aanmaken gebruiken)
 
MVP Windows Live Platform

quote:
xtra schreef op maandag 23 juli 2007 @ 14:38:
[...]

Ergens heb je wel gelijk. Je moet dan wel blijven opletten of het een dynamische img is of een die er al was. Bij de laatste is een enter al genoeg om je script te verpesten. Om fouten voor te zijn had ik waarschijnlijk ook 'jouw' constructie genomen. (Of de reference die je toch al hebt bij het dynamisch aanmaken gebruiken)
Het is dynamisch aangemaakt - geen extra tekens dus :)

Aan die references heb ik niets omdat het om code binnen een eventhandler gaat en je dan dus een scope-issue krijgt... tenzij je ergens een public array (o.i.d.) bijhoudt met daarin alle objecten... maar dat maakt niet uit, inmiddels heb ik alles werkend. IE deed moeilijk, dus ik heb uiteindelijk mijn hele mooie document.createElement-constructie overboord moeten gooien en het moeten vervangen door iets met innerHTML :X

Het leek wel alsof IE de DOM niet updatete, in Fx had ik geen problemen maar IE vertelde doodleuk dat hij het object niet kende :/
Een abstracte klasse Document hebben waarop een hoop algemene afhandeling wordt gedaan.
Waarin een property staat met een harde verwijzing, zoiets als dit.
C#:
1
public virtual VenderXGrid Grid { get; }

En dan vervolgens een Document implementatie te hebben waarbij je VendorYGrid wilt gebruiken....

"Maar we wisselen toch nooit van Grid?" ... ;(

Java: write once, debug everywhere. teamcoldfusion

quote:
Deathraven schreef op maandag 23 juli 2007 @ 15:27:
Een abstracte klasse Document hebben waarop een hoop algemene afhandeling wordt gedaan.
Waarin een property staat met een harde verwijzing, zoiets als dit.
C#:
1
public virtual VenderXGrid Grid { get; }

En dan vervolgens een Document implementatie te hebben waarbij je VendorYGrid wilt gebruiken....

"Maar we wisselen toch nooit van Grid?" ... ;(
Mja ik vind het nog niet eens zo'n gekke gedachtengang. Ten eerste is het in heel veel gevallen zo dat er inderdaad nooit van vendor wordt gewisseld in de levensduur van een product. Daarnaast zou de enige oplossing zijn een generieke interface te maken die door zowel VendorX en VendorY worden geimplementeerd. Dit is veel werk en error-prone. Ik kan me goed voorstellen dat je zo'n ontwikkeling laat wachten tot het moment echt daar is. (wat misschien wel nu is ;))
Tjah daar valt ook wel weer iets voor te zeggen. Tis alleen nogal een rotwerk om uiteindelijk alles te gaan refactoren. Helemaal als je niet in een keer alles kan/mag omzetten. Dan moet je namelijk dubbele code gaan opnemen zodat de 2 dingen toch nog naast elkaar gebruikt kunnen worden (for the time being) ... bleeeehh

Java: write once, debug everywhere. teamcoldfusion

FUD Führer.
Berichten: 7199
Reg. datum: 12 oktober 2001


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var ajaxRequest;
    try{
        
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                
                alert("Sorry, Notepad will not work with your browser.");
                return false;
            }
        }
    }

O my...

2*2Ghz, 2GB, 20 centimeter.

prutser 1e klasse

Ik kwam vandaag ook een mooie tegen:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        if (wrappedData.length>32) {
            // It is a wrapped RSA Private key without key reference info
            return wrappedData;
        }
        else if (wrappedData.length<32) {
            // It is a wrapped DES or 2DES key without key reference info
            return wrappedData;
        }
        else {
            // It is a wrapped DES or 2DES key with key reference info
            int length = wrappedData[16];
            byte[] wrappedDesKey = new byte[length];
            System.arraycopy(wrappedData0wrappedDesKey0length);

            return wrappedDesKey;
        }

Volgens mij is 1 if zonder else's genoeg :)

The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.

quote:
Standeman schreef op vrijdag 03 augustus 2007 @ 15:29:
Ik kwam vandaag ook een mooie tegen:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        if (wrappedData.length>32) {
            // It is a wrapped RSA Private key without key reference info
            return wrappedData;
        }
        else if (wrappedData.length<32) {
            // It is a wrapped DES or 2DES key without key reference info
            return wrappedData;
        }
        else {
            // It is a wrapped DES or 2DES key with key reference info
            int length = wrappedData[16];
            byte[] wrappedDesKey = new byte[length];
            System.arraycopy(wrappedData0wrappedDesKey0length);

            return wrappedDesKey;
        }

Volgens mij is 1 if zonder else's genoeg :)
ow? echt waar? en wat als de key exact 32 chars lang is?

Currently Reading | Ik los geen problemen op, ik maak ze alleen...

IMHO --->

quote:
LuCarD schreef op vrijdag 03 augustus 2007 @ 15:36:
[...]
ow? echt waar? en wat als de key exact 32 chars lang is?
Beter lezen ;)

Het kan inderdaad met 1 if zonder else.

I'm always thinking one step ahead, like a carpenter - who makes stairs

quote:
TRRoads schreef op vrijdag 03 augustus 2007 @ 15:39:
[...]

Beter lezen ;)

Het kan inderdaad met 1 if zonder else.
hmm ik ging er vanuit dat hij een gedeelte code had weggelaten... :D

Currently Reading | Ik los geen problemen op, ik maak ze alleen...

IMHO --->

Hoewel het niet eens zo'n grote WTF is. Het kan goed zijn dat er eerst 3 verschillende acties stonden, maar bij achteraf nadenken en aanpassen dat dit eruit is gekomen.

Het maakt verder ook weinig uit denk ik, een beetje compiler zal dat stukje wel voor de je optimaliseren denk ik en anders nog.

I'm always thinking one step ahead, like a carpenter - who makes stairs

prutser 1e klasse

Het was ook meer de leesbaarheid waar ik me aan stoorde.. En een echt grote WTF was het idd niet.

The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.

IMHO --->

quote:
Standeman schreef op vrijdag 03 augustus 2007 @ 15:57:
Het was ook meer de leesbaarheid waar ik me aan stoorde.. En een echt grote WTF was het idd niet.
Ja maar, ja maar, er staat toch commentaar in? :+

I'm always thinking one step ahead, like a carpenter - who makes stairs

Moutarde apres le diner

Echt een 'slecht programmeervoorbeeld' is het niet maar toch een 'leuk' foutje/bugje dat ik vanmorgen had gemaakt.
Java:
1
new StringBuffer('[').append(someString).append(']');

Religion has no place in public schools the way facts have no place in organized religion

Berichten: 3560
Reg. datum: 29 november 2000

quote:
mark platvoet schreef op dinsdag 14 augustus 2007 @ 14:40:
Echt een 'slecht programmeervoorbeeld' is het niet maar toch een 'leuk' foutje/bugje dat ik vanmorgen had gemaakt.
Java:
1
new StringBuffer('[').append(someString).append(']');

Ik moest zelf ook even in de Java API kijken voordat ik het zag :D
 
FUD Führer.
Berichten: 7199
Reg. datum: 12 oktober 2001

quote:
Standeman schreef op vrijdag 03 augustus 2007 @ 15:29:
Ik kwam vandaag ook een mooie tegen:
Java:
1
...

Volgens mij is 1 if zonder else's genoeg :)
Daar ben ik het niet mee eens. Wat nou als er bij "wrapped DES or 2DES key without key reference info" opeens een extra functie moet worden toegevoegd?

De drie mogelijkheden zijn er gemaakt om de drie verschillende type keys duidelijk in de programmacode te scheiden, en ook om aan te tonen hoe je kunt zien of het een x, y of z key is. Het kan inderdaad korter, maar leesbaarder word het er niet op.

2*2Ghz, 2GB, 20 centimeter.

IMHO --->

quote:
mark platvoet schreef op dinsdag 14 augustus 2007 @ 14:40:
Echt een 'slecht programmeervoorbeeld' is het niet maar toch een 'leuk' foutje/bugje dat ik vanmorgen had gemaakt.
Java:
1
new StringBuffer('[').append(someString).append(']');

Oei oei, die is sneaky zeg ;)

offtopic:
Java ook altijd :&#039;(

TRRoads wijzigde dit bericht 14-08-2007 16:58 (4%)

I'm always thinking one step ahead, like a carpenter - who makes stairs

Nou zie ik geen toString() en/of assignment, maar volgens komt dat meer omdat dat gewoon weggelaten is in de quote. De issue is volgens mij wel dat er geen constructor bestaat voor char. Wel voor int, maar een char is toch niet impliciet te converteren naar int in Java, of wel?

.oisyn wijzigde dit bericht 14-08-2007 17:05 (11%)

Design-by-buzzword fanatic
Berichten: 1103
Reg. datum: 11 januari 2004

quote:
TRRoads schreef op dinsdag 14 augustus 2007 @ 16:57:
[...]

Oei oei, die is sneaky zeg ;)

offtopic:
Java ook altijd :&#039;(
Lol, ik had hem door. :+

Maar serieus, ik had hem al weleens gezien bij Java Puzzlers. Lekkere instinker.

Mark, ik neem aan dat dat statement gewoon ergens in real life code stond, tussen een stel ifs en zo? Dan kijk je er zo overheen.

Fat Pizza's pizza, they are big and they are cheezy

Design-by-buzzword fanatic
Berichten: 1103
Reg. datum: 11 januari 2004

quote:
.oisyn schreef op dinsdag 14 augustus 2007 @ 17:04:
Nou zie ik geen toString() en/of assignment, maar volgens komt dat meer omdat dat gewoon weggelaten is in de quote. De issue is volgens mij wel dat er geen constructor bestaat voor char. Wel voor int, maar een char is toch niet impliciet te converteren naar int in Java, of wel?
Wel dus. Jammergenoeg in zulke gevallen. :P

Wat het overigens lulliger maakt, is dat append(char) wel bestaat. |:(

JKVA wijzigde dit bericht 14-08-2007 17:07 (7%)

Fat Pizza's pizza, they are big and they are cheezy



© 1998-2008 Tweakers.net BV - Based on React - Hosted by True - Served by Alectrona

© 1998-2008 Tweakers.net BV - Based on React - Hosted by True - Served by Alectrona

[RSS][XML]

Update Tracker

Active Topics
Active Topics
Frontpage Nieuws
Frontpage Nieuws