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.
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |