cod naspa

Acest forum este dedicat intrebarilor de programare care nu-si au locul in unul din celelalte forumuri
neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: cod naspa

Post by neagu_laurentiu » 03 Sep 2008, 14:47

C-ul ! :thumbsup:

Code: Select all

 _(__,___,____){___/__<=1?_(__,___+1,____):!(___%__)?_(__,___+1,0):___%__==___/ __&&!____?(printf("%d\t",___/__),_(__,___+1,0)):___%__>1&&___%__<___/__?_(__,1+ ___,____+!(___/__%(___%__))):___<__*__?_(__,___+1,____):0;}main(){_(100,0,0);}



Dark
Banned
Banned
Posts: 75
Joined: 21 Nov 2007, 19:29
Judet: Bucureşti

Re: cod naspa

Post by Dark » 03 Sep 2008, 15:16

Popa Alin wrote:
for( uchar*p = m_pData; !++*--p; );
Dumnezeule.... nu as vrea sa vad un intreg proiect facut de acest "programator" :)
Din pacate eu am preluat un proiect de citeva sute de mii de linii de la el si a fost o experienta pe care nu-s sigur ca as repeta-o. Multe din celelalte nestemate nemuritoare sint tot ale lui (inclusiv comentariul ala cu "hard to write"). Per total cred ca in cei aproape 2 ani petrecuti la proiectul in cauza am sters mai mult cod decit am scris.

neagu_laurentiu: cod obfuscat se poate gasi in orice limbaj, dar elementul tragicomic survine cind citatul provine din sursele unui proiect real, nu de la www.ioccc.org .

PS: e totusi interesant de descifrat ce face for-ul ala neomenesc.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi

Re: cod naspa

Post by Ovidiu Cucu » 10 Jan 2009, 13:43

Culmea programarii defensive:

Code: Select all

   if(index >= count())
   {
      index = count() - 1;
   }
   return m_elements[index];
// NU conteaza ca-i prin balarii. Totu-i sa nu crape! :-)

Dark
Banned
Banned
Posts: 75
Joined: 21 Nov 2007, 19:29
Judet: Bucureşti

Re: cod naspa

Post by Dark » 10 Jan 2009, 13:52

Eu am vazut o varianta si mai creativa, tot la baiatu' ala care a batut recordul de operatori in aceeasi expresie. In exemplul de mai sus, el ar fi scris:

Code: Select all

index = index % count();
return m_elements[index];
Ca doar daca Pamintul e rotund, de ce sa nu fie si vectorii?

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi

Re: cod naspa

Post by Ovidiu Cucu » 10 Jan 2009, 14:44

Culmea economiei: daca ai un numar intre 0 si 127 atunci musa-i sa fie char.

Code: Select all

void calculate(char n)
{
    int value = n + ....
}
Daca intre timp se schimba cerintele, trece de 127 si char da pe dinafara, rezolvi problema "elegant" de sa moara toti fraierii:

Code: Select all

void calculate(char n)
{
    int value = (n & 0xFF) + ...   
}

u0m3
Membru
Membru
Posts: 80
Joined: 21 Dec 2008, 19:11
Judet: Bucureşti
Contact:

Re: cod naspa

Post by u0m3 » 10 Jan 2009, 21:10

Code: Select all

void calculate(char n)
{
    int value = (n & 0xFF) + ...   
}
Ca de altfel char isi va depasi conditia si va putea avea valoarea de 0x100.
Old-School: If at first you don't succeed, try and try again.
New-School: If at first you don't succeed, destroy every evidence that you have ever tried.
Citate nostime:
  1. Mintile umane sunt ca parasutele... Functioneaza doar daca sunt deschise.
  2. Light travels faster than sound, that's why some people seem Bright ...... untill they Speak...

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: cod naspa

Post by Silviu Ardelean » 10 Jan 2009, 22:44

Dark wrote:Eu am vazut o varianta si mai creativa, tot la baiatu' ala care a batut recordul de operatori in aceeasi expresie. In exemplul de mai sus, el ar fi scris:

Code: Select all

index = index % count();
return m_elements[index];
Ca doar daca Pamintul e rotund, de ce sa nu fie si vectorii?
Foarte tare... sincer, te compatimesc si nu as dorii sa am de-a face vreo data cu acest individ.
Din acest cod intuiesc ca "dansul" s-a gandit acceseze elemente din m_elements "putin dinamic". :mrgreen: De asemenea, banuiesc ca metoda/functia count() intoarcea nr de elemente ale lui m_elements.
Totusi... ma intreb daca el a facut vreodata debug pe acest cod. Sincer, ma cam indoiesc, pentru ca atunci, ar fi constatat ca tot timpul elementul ar fi fost valoarea returnata de count() [datorita faptului ca index era mai mic decat aceasta valoare] si in mod normal, ultimul index al lui m_elements ar fi fost count() - 1. Pracic, se accesa un index inexistent ( valoarea returnata de count() ). Sau? :D

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi

Re: cod naspa

Post by Ovidiu Cucu » 11 Jan 2009, 12:20

Silviu Ardelean wrote:Foarte tare... sincer, te compatimesc si nu as dorii sa am de-a face vreo data cu acest individ.
Silviu, mai devreme sau mai tarziu (doar daca nu te lasi de programare ;)) vei avea de-a face si cu astfel de indivizi.
Filozofia lor e simpla: "daca o gasca de incompetenti dau deseori pe-afara, hai sa fac in asa fel incat programul sa nu crape iar eu sa dorm linistit!"
Prelucrare din folclorul cazon: "decat sa planga mama mea, mai bine plange mama ta!" :biggrin:

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: cod naspa

Post by Silviu Ardelean » 11 Jan 2009, 14:42

Intr-adevar exemplul de cod prezentat de tine este un exemplu de cod "ascundem mizeria sub covor".
Eu ma intreb cum gandesc astfel de indivizi... stilul romanesc "lasa ba' ca merge si asa / leafa merge, noi ne facem ca muncim". Poate chiar mai mult nu pot si au avut "minunata" idee de a implementa aceea perla.

Ovidiu, nu stiu daca ma voi vindeca vreo data de meseria asta... asa ca... cat timp merg rotitele, probabil le voi antreba cu liniile de cod. Deci, nu e exclus sa am parte si de astfel de camarazi...
Totusi, Doamne apara! :thumbsup:

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi

Re: cod naspa

Post by Ovidiu Cucu » 11 Jan 2009, 19:47

u0m3 wrote:

Code: Select all

void calculate(char n)
{
    int value = (n & 0xFF) + ...   
}
Ca de altfel char isi va depasi conditia si va putea avea valoarea de 0x100.
Chestia e un pic mai cu skepsis. :)

Un "char" (fara "signed" sau "unsigned" in fata) poate fi sau cu semn sau fara semn, depinzand de implementare.
De obicei e... cu semn. Deci un "char" peste 127 trece "la negative" intr-o expresie intreaga.

Meseriasul, in loc sa faca acolo un cast banal,
rezolva problema in mod "elegant" fortand conversia la unsigned (n & 0xFF)
facand multa lume sa se scarpine dupa cap... :biggrin:

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi

Re: cod naspa

Post by Ovidiu Cucu » 29 Jan 2009, 19:43

Cum asteapta unii la semafor pentru a fi siguri ca e verde. :)

Code: Select all

    DWORD dwWaitResult = WAIT_TIMEOUT;
    while (dwWaitResult != WAIT_OBJECT_0)
    {
        dwWaitResult = WaitForSingleObject(m_hSemaphore, INFINITE);
        Sleep(1000);
    }

User avatar
Marius Bancila
Fondator
Fondator
Posts: 2343
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: cod naspa

Post by Marius Bancila » 03 Feb 2009, 16:37

Iata un exemplu care m-a facut sa ma holbez zilele trecute.

Code: Select all

      POSITION pos;
      POSITION posPrev;
      PCOLDES  pColTemp = (PCOLDES)1;
      
      pos = pColumns->GetHeadPosition();
      while (pos != NULL)
      {
         posPrev = pos;
         pColTemp = (PCOLDES) pColumns->GetNext(pos);
pColumns e o lista, iar PCOLDES e un tip pointer la o structura POD.
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi

Re: cod naspa

Post by Ovidiu Cucu » 04 Feb 2009, 02:46

Una de la javamenii rataciti:

Code: Select all

void CFoo::OnFireBlahBlahEvent(/*...*/)
{
    BlahBlahEvent* pEvent = new BlahBlahEvent(/*...*/);
    fireEvent(pEvent);
    delete pEvent;
}
// din cate am aflat, in java fara "new" esti mort. :biggrin:

Dragos Cojocari
Membru++
Membru++
Posts: 789
Joined: 11 Jul 2007, 14:11

Re: cod naspa

Post by Dragos Cojocari » 04 Feb 2009, 10:56

Heh, cod de-asta am vazut si la indivizi care stiau despre Java doar ca se bea cu zahar. :biggrin:

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: cod naspa

Post by Silviu Ardelean » 04 Feb 2009, 11:00

Important e ca, chiar si acest cod, functioneaza... :biggrin:

Post Reply