Het komt erop neer dat een programma het tegenovergestelde doet van wat je ervan verwachtquote:
Tja, het leven van een programmeur draait af en toe ook wel eens om bugs oplossen. En als ze in een project van een collega zijn die niet meer werkt, kost het voor een ander veel tijd om er doorheen te komen ja.quote:Op maandag 28 april 2008 12:28 schreef Flashwin het volgende:
kanloos leven als je dat soort dingen voor je werk moet doen!
Tja, als ik dat nu klakkeloos zou doen, is er een grote kans dat een ander deel wat nu nog wel goed werkt, dan juist niet meer goed werktquote:Op maandag 28 april 2008 12:27 schreef Surveillance-Fiets het volgende:
Dan wissel je die 1 met 0 om toch....
replace all: 0=1 1-0
Of je haalt die regels gewoon weg...Makkelijk hč?quote:Op maandag 28 april 2008 12:15 schreef Trannellius het volgende:
...nu mag ik een paar uur bezig zijn met op te sporen waar het allemaal gebruikt is.
Een deel van het project werkt wel met die regels, een ander deel niet. Als ik dus die 2 regels zo maar weg haal, werkt het ene deel niet, en het andere deel wel. Wat schiet ik daar precies mee op?quote:Op maandag 28 april 2008 12:34 schreef Rumboon het volgende:
[..]
Of je haalt die regels gewoon weg...Makkelijk hč?
De preprocessor zorgt er gewoon voor dat, voordat je project gecompileerd wordt, alle true's (in het deel dat wel met die regels werkt) letterlijk worden vervangen door 0's en alle false's letterlijk worden vervangen door 1's alsof je dat zelf getypt zou hebben. Haal je die macro's weg, dan hebben die true's/false's weer hun oorspronkelijke "waarde"...oftewel de compiler herkent ze gewoon weer als normale booleans. Dat van het niet werken van het ene of het andere deel kan gewoon niet kloppen...quote:Op maandag 28 april 2008 13:08 schreef Trannellius het volgende:
[..]
Een deel van het project werkt wel met die regels, een ander deel niet. Als ik dus die 2 regels zo maar weg haal, werkt het ene deel niet, en het andere deel wel. Wat schiet ik daar precies mee op?
Wat ik bedoelde is dat een deel wel en een deel niet met die macro's werkt. Er is echter ook een deel wat wel uberhaupt werkt, en een ander deel niet, zoals in onderstaand schema:quote:Op maandag 28 april 2008 14:05 schreef Rumboon het volgende:
[..]
De preprocessor zorgt er gewoon voor dat, voordat je project gecompileerd wordt, alle true's (in het deel dat wel met die regels werkt) letterlijk worden vervangen door 0's en alle false's letterlijk worden vervangen door 1's alsof je dat zelf getypt zou hebben. Haal je die macro's weg, dan hebben die true's/false's weer hun oorspronkelijke "waarde"...oftewel de compiler herkent ze gewoon weer als normale booleans. Dat van het niet werken van het ene of het andere deel kan gewoon niet kloppen...
Het is een geniaal geintje, maar hij heeft echt geen catastrofe aangericht...
Kloptquote:
Ik snap wat je bedoelt, maar het is gewoon heel simpel voor het gedeelte dat wel gebruikt maakt van die macro's:quote:Op maandag 28 april 2008 14:26 schreef Trannellius het volgende:
[..]
Wat ik bedoelde is dat een deel wel en een deel niet met die macro's werkt. Er is echter ook een deel wat wel uberhaupt werkt, en een ander deel niet, zoals in onderstaand schema:
In elk van de 4 categorieen valt een deel van de code.
EDIT: schema werkt niet (spaties vallen weg). Maar er is dus een deel wat wel of niet werkt, en er is een deel wat met macro's werkt of zonder. Er zijn dus nu 4 categorieen, en dus zijn die macro's niet 1-2-3 op te lossen.
Wat ik dus bedoel is dat hij in de plekken waar hij die macro's heeft toegevoegd op sommige plekken daadwerkelijk de hardcoded true's en false's heeft aangepast, en op sommige plekken weer niet. En dat ook op plekken waar hij de macro's niet heeft toegevoegdquote:Op maandag 28 april 2008 14:38 schreef Rumboon het volgende:
[..]
Klopt![]()
[..]
Ik snap wat je bedoelt, maar het is gewoon heel simpel voor het gedeelte dat wel gebruikt maakt van die macro's:
Toen je collega het nog niet had vertiefd, stonden op bepaalde plekken in het programma true en op bepaalde plekken false. Door zijn macro's, staan nu op die plekken resp. 0 en 1, wat gewoon precies hetzelfde inhoudt als resp. false en true. Hij heeft de boel gewoon omgedraaid en door het verwijderen van die regels zou het gewoon weer in oorspronkelijke staat moeten compileren.
It ain't rocket science...
Als het nog steeds niet werkt dan heeft hij óf nog meer zitten kutten (misschien dat je dat bedoelt) óf het werkte voor zijn actie ook al niet naar behoren...
Als je vraag doelt op waarom hij zo gecodeerd heeft, dan heb ik nog wel een aardig voorbeeld van een stukje code van een jongen uit ons team in Moskau:quote:Op maandag 28 april 2008 14:47 schreef Maikuuul het volgende:
Hahahaha die gast is echt een kanker badass mofo jeweettog
Wtf moet dat nou voorstellen
Ah OK, dan is het echt een nerd die nog dubbelop werk doet ookquote:Op maandag 28 april 2008 14:46 schreef Trannellius het volgende:
[..]
Wat ik dus bedoel is dat hij in de plekken waar hij die macro's heeft toegevoegd op sommige plekken daadwerkelijk de hardcoded true's en false's heeft aangepast, en op sommige plekken weer niet. En dat ook op plekken waar hij de macro's niet heeft toegevoegd.
Dank jequote:Op maandag 28 april 2008 14:56 schreef Rumboon het volgende:
[..]
Ah OK, dan is het echt een nerd die nog dubbelop werk doet ook![]()
Succes dan maar
Hehe, LOLquote:Op maandag 28 april 2008 14:56 schreef Trannellius het volgende:
[..]
Als je vraag doelt op waarom hij zo gecodeerd heeft, dan heb ik nog wel een aardig voorbeeld van een stukje code van een jongen uit ons team in Moskau:
public enum BOOL
{
TRUE,
FALSE,
true,
false,
True,
False,
// En met nog meer tikvarianten rekening houdend
}
En als je vraag bedoeld was als in "WTF gaat dit topic over!?", dan is de samenvatting dat alles wat waar zou moeten zijn, niet waar is volgens hem (en vice versa).
O God.quote:Op maandag 28 april 2008 12:15 schreef Trannellius het volgende:
En in de laatste week van zijn werkzaamheden, in een deel van zijn programmeer projecten in een bestand heeft verwerkt, met daarin 2 regels:
#define true 0;
#define false 1;
Ik moet zeggen, het is geniaal. Het heeft mij 3 uur gekost om erachter te komen wat er aan de hand was, nu mag ik een paar uur bezig zijn met op te sporen waar het allemaal gebruikt is.
quote:Op maandag 28 april 2008 15:51 schreef Antal het volgende:
Hahaha heb je dat nu pas gevonden ? Er zit nog wel meer in, maar daar kom je dan nog wel achter..
Groet,
je (ex) collega
Ja, jij snapt het helemaal. Lees anders het gehele topic ffquote:Op maandag 28 april 2008 16:13 schreef Devlinsect het volgende:
Druk CTRL + F in
Vervang het ene door het andere. Met een half uur ben je klaar.
Opgelost.
1 2 3 | %:s/blahutseflutshibbeldribbel /false /g |
IT'ers en backups maken?quote:Op maandag 28 april 2008 21:27 schreef Alicey het volgende:
Is niet gewoon m.b.v. het VCS terug te vinden wanneer hij dat er in gepropt heeft en vervolgens met de versie van daarvoor verder te werken?
Het is een Fok!ker notabene, wat verwacht je?quote:Op maandag 28 april 2008 21:53 schreef Alicey het volgende:
[..]
Als het een beetje professionele iteejerts zijn wel mag ik hopen.
Hmmja zit wat in.quote:Op maandag 28 april 2008 21:56 schreef Aeterna het volgende:
[..]
Het is een Fok!ker notabene, wat verwacht je?
quote:Op maandag 28 april 2008 17:26 schreef hamkaastosti het volgende:
zet er gewoon vlak onder.
GRAPJE TOCH NIET
dat snapt je computer wel
Pure chantage dus. Erg moreel van jequote:Op maandag 28 april 2008 22:32 schreef ouderejongere het volgende:
Ik heb mijn werkgever ook voor de keus gesteld: hij eruit of ik eruit, maar ik had ook al een vette virus op de server gezet. Toen ik mocht blijven heb ik het virus verwijderd en geen haan die er naar kraait.
Eerst heb je:quote:Op maandag 28 april 2008 16:32 schreef Trannellius het volgende:
[..]
Ja, jij snapt het helemaal. Lees anders het gehele topic ff.
Overigens, stel dat ik jouw advies opvolg. Eerst heb ik:
true
false
Vervang false door true:
true
true
Vervang true door false:
false
false
If True=falsequote:Op maandag 28 april 2008 23:34 schreef Principessa.Farfalla het volgende:
[..]
Eerst heb je:
true
false
Vervang false door true666:
true
true666
Vervang true door false:
false
false666
Vervang false666 door true:
false
true
zo dat was een moeilijke denk stap
Inderdaad, bij elk project wordt dat gewoonweg gebruikt, behalve bij één. waarom weet ik eigenlijk ook niet.quote:Op maandag 28 april 2008 23:45 schreef Seneca het volgende:
Ja leuk jongens, maar wat ik van TS begrijp is dat waar ooit true stond in de code nu 0 staat, en waar ooit false stond nu 1. Dan kun je wel alle 1's in de code gaan replacen met false en vice versa, maar daarmee verneuk je dus al je code.
Briljant is het wel, dat moet ik je collega nageven. Kan me trouwens niet voorstellen dat jullie zonder versioning system werken daar?
Waarschijnlijk omdat je anders geen topic had kunnen openen.quote:Op dinsdag 29 april 2008 00:39 schreef Trannellius het volgende:
[..]
Inderdaad, bij elk project wordt dat gewoonweg gebruikt, behalve bij één. waarom weet ik eigenlijk ook niet.
Ja, team foundation server, maar zijn project viel daar nog niet onderquote:Op dinsdag 29 april 2008 12:38 schreef Ravage het volgende:
Werken jullie niet met Subversion o.i.d.? Dan zou je al zijn commits van de afgelopen week vrij snel kunnen bekijken en evt. terugdraaien
Preciesquote:Op maandag 28 april 2008 23:34 schreef Principessa.Farfalla het volgende:
[..]
Eerst heb je:
true
false
Vervang false door true666:
true
true666
Vervang true door false:
false
false666
Vervang false666 door true:
false
true
zo dat was een moeilijke denk stap
Vrij tot maandagquote:Op dinsdag 29 april 2008 15:11 schreef MouzurX het volgende:
Ts moet gewoon niet zo zeuren en aan de slag gaan om te ontdekken welke 1 en welke 0 moeten zijn
Duh :pquote:Op dinsdag 29 april 2008 15:46 schreef Devlinsect het volgende:
[..]
Precies![]()
![]()
Ik zag de reactie van TS op de mijne en dacht:en uitleg geven wilde ik niet doen.
ik welquote:Op dinsdag 29 april 2008 16:24 schreef l3laster het volgende:
sommige krijgen hier echt een harde plasser van of niet?
Het is toch veel makkelijk om te ctrl+effen naar true = o en dat vervangen door false = 0quote:Op maandag 28 april 2008 23:34 schreef Principessa.Farfalla het volgende:
[..]
Eerst heb je:
true
false
Vervang false door true666:
true
true666
Vervang true door false:
false
false666
Vervang false666 door true:
false
true
zo dat was een moeilijke denk stap
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |