Gå til innhold

Post dine WTFs fra programmeringsverden


Anbefalte innlegg

Ah, det tok litt tid før jeg så det :) selv på den lille koden der.

Edit:

Men sier ikke java compileren ifra om dette da?

Semikolon etter while, for og if er jo noe som man sjeldent bruker.

9179666[/snapback]

 

Nope, compileren er tyst som graven. Får ikke noe warnings i Eclipse heller. Burde jo ha ant ugler i mosen når CPU bruken gikk amok, men var vel litt mindre rutinert "back then". Blir fort blind for slike feil når man skal prøve å finne de også da.

 

Her vil den jo f.eks ikke henge:

int t = 10;
 
while(--t > 0); {
System.out.println(t);
}

Endret av krigun
Lenke til kommentar
Videoannonse
Annonse
Ah, det tok litt tid før jeg så det :) selv på den lille koden der.

Edit:

Men sier ikke java compileren ifra om dette da?

Semikolon etter while, for og if er jo noe som man sjeldent bruker.

9179666[/snapback]

 

Går jo fint med semikolen etter while.

F.eks. i en tråd kan man bruke "while (pause);"

Såklart man egentli skal bruke "while (pause) yield();" Eller lignende, meeeenmen.

 

Det som "egentig" står der da er

 

int t = 10;
       
       while(t > 0);
       {
           System.out.println(t);
           t -= 1;
       }

 

Og klammer "{" kan brukes slik...

Lenke til kommentar

Joda, jeg har brukt det som regel i while(thread.IsRunning); for å vente på en thread før et program avsluttes f.eks.

 

Du har rett, det er ikke så rart den ikke sier noe på while, det er vel bare if man får advarsel på.

if(true);

Dette minner meg faktisk om litt nub kode, en som skrev et PHP program, som ikke visste om !

 

if($AppRunning);
else
{
 // Kode
}

 

Dette er jo selvfølgelig ikke galt, det er bare veldig uestetisk.

Endret av GeirGrusom
Lenke til kommentar

@Geir

 

Gjør da ikke så mye med estetikken dersom det bare er en selv som skal lese det...

 

Men jeg er enig i att ! er en genial oppfinnelse.

 

 

Det er noe jeg syns er skada i Basic syntaksen.... "Not Is" o.s.v blir ikke helt det samme på en måte...

Lenke til kommentar
Joda, jeg har brukt det som regel i while(thread.IsRunning); for å vente på en thread før et program avsluttes f.eks.

*kremt* I min verden er slikt en like stor WTF som mye annet her... ;) Til slikt bruker man monitorer, semaforer, låser eller andre mer passende ting. Å måtte kontekstsvitsje for å hele tiden sjekke en bool sjelden ønskelig. Eller lurt!

Lenke til kommentar

Hehe

Jeg har gjort det slik for et program som bruker to tråder, der hovedtråden venter på den andre tråden når programmet skal avsluttes, og har ingenting med låsing å gjøre.

Ellers vil jeg få Object disposed, og slikt når programmet avsluttes, eller at debuggeren ikke avslutter.

Man kunne jo brukt Thread.Abort, men jeg synes det er en stygg måte å gjøre det på, på samme måte som Application.Exit.

Lenke til kommentar

Jeg må si den siste Error'd-skjermskuddet var genial. Ganske Resource missing, Resource missing: :!:

http://worsethanfailure.com/Articles/Gone-...AM-Seconds.aspx

 

Programmereren bak gullskudd nummer to er nok egentlig en forfatterspire på nattestid som ble litt vel ivrig i arbeidet med å forbedre engrish-feilmeldinger fra visste utenlandske foretak. Kan nesten se det for meg. Dessuten er jo, som alle vet, meldingsbokser simpelthen ypperlig for sådant!

Lenke til kommentar

liker denne

 

After running this site for a little more than three years, it’s rare that I’ll come across a snippet of code that leaves me speechless. Today’s snippet comes from a large Java application that Byron recently started working on and is … well, I’ll just let the code do the talking…

 

 

 

 

 

    public void copyFile(File sourceFile, File destFile) {

      File batchFile = createBatchFile();

      try {

        Runtime r = Runtime.getRuntime();

        Process p = r.exec(batchFile.getAbsolutePath()

                    + " " + sourceFile.getAbsolutePath()

      + " " + destFile.getAbsolutePath());

        p.waitFor();

        if (sourceFile.exists()){

          sourceFile.delete();

        }

      }

      catch (Exception ex) {

        ex.printStackTrace();

      }

    }

 

    public File createBatchFile(){

      File batchFile = new File("C:\\copyFile.bat");

      if (!batchFile.exists()){

        utils.FileIO.writeFile(

    batchFile.getAbsolutePath(),

    "cd\\ \n");

        utils.FileIO.appendFile(

    batchFile.getAbsolutePath(),

    "copy %1 %2 \n");

      }

      return batchFile;

    }

 

Lenke til kommentar

BATCH-filer kan jo i og for seg være nyttige (de kan brukes for å slette et avinstallasjonsprogram, eksempelvis), men det der formelig skriker fail. En kan jo også undre på hvorfor "programmereren" presterer å slette kildefilen, som i realiteten gjør dette til en moveFile-prosedyre.

Lenke til kommentar

hvorfor ikke file.copy?

hvorfor ikke exec("copy " + sourceFile.getAbsolutePath() + " " + destFile.getAbsolutePath())?

og hva er poenget med cd\? det spiller jo ingen rolle når han bruker getAbsolutePath allikevel....

jeeebus....

 

Man kan lure på hvor mye kaffe og hvor mange dager han har vært våken når han laget dette.

Lenke til kommentar
  • 2 uker senere...

Dette må være et WTF.

 

    beskyttet tomrom printPng(Stykkekart sk)

    {

        benytt(System.IU.MinneStrøm strøm = ny System.IU.MinneStrøm())

        {

            sk.Lagre(strøm, System.Tegning.Bilding.BildeFormat.Png);

            strøm.Søk(0, System.IU.SøkOpprinnelse.Begynn);

           

            Respons.Tøm();

            Respons.InnholdsType = "image/png";

           

            oktett[] buff = ny oktett[4096];

            hel les = 0;

            sålenge((les = strøm.Les(buff, 0, buff.Lengde)) != 0)

                Respons.UtgåendeStrøm.Skriv(buff, 0, les);

        }

    }

Lenke til kommentar

Jebus Manfred! har ikke du en jobb å gjøre? :p

hehe

 

edit: jeg kjedet meg, så jeg gjorde noe lignende Manfred i C#:

class p
{
 static unsafe void Main(string[] a)
 {
   string b = new string(' ', 4);
   unchecked
   {
     fixed (char* c = b)
     {
       ushort* d = (ushort*)c;
       *d++ = (3 << 3) + (32 * 2 - 1);
       *d++ = (0x57 >> 1 << 2) - (56);
       *d++ = ((3 + 8) * 5 << 1)-(8);
       *d++ = (63 >> 1) * 2 + 1;
     }
   }
   Console.WriteLine(b);
   Console.ReadKey();
 }
}

Endret av GeirGrusom
Lenke til kommentar

         unsigned long letter;
        signed post;
        auto accident;
        register voters;
        static electricity;
        struct by_lightning;
        void *where_prohibited;
        char broiled;
        short circuit;
        short changed;
        long johns;
        double entendre;
        double trouble;
        union organizer;
        float valve;
        short pants;
        union station;
        void check; unsigned check;
        static ip_address;
        long shorts;

 

private long parts;

Lenke til kommentar

Holder på å modifisere et helpdesksystem, så kom jeg over denne artige røveren av en funksjon...

 

/**
* Return the name of rating image based on given rating
*/
function getRatingImage($rating)
{
if ($rating == "0")
{
 return "star_0.gif";
} else if ($rating == "0.25") {
 return "star_0_25.gif";
} else if ($rating == "0.50") {
 return "star_0_50.gif";
} else if ($rating == "0.75") {
 return "star_0_75.gif";
} else if ($rating == "1") {
 return "star_1.gif";
} else if ($rating == "1.25") {
 return "star_1_25.gif";
} else if ($rating == "1.50") {
 return "star_1_50.gif";
} else if ($rating == "1.75") {
 return "star_1_75.gif";
} else if ($rating == "2") {
 return "star_2.gif";
} else if ($rating == "2.25") {
 return "star_2_25.gif";
} else if ($rating == "2.50") {
 return "star_2_50.gif";
} else if ($rating == "2.75") {
 return "star_2_75.gif";
} else if ($rating == "3") {
 return "star_3.gif";
} else if ($rating == "3.25") {
 return "star_3_25.gif";
} else if ($rating == "3.50") {
 return "star_3_50.gif";
} else if ($rating == "3.75") {
 return "star_3_75.gif";
} else if ($rating == "4") {
 return "star_4.gif";
} else if ($rating == "4.25") {
 return "star_4_25.gif";
} else if ($rating == "4.50") {
 return "star_4_50.gif";
} else if ($rating == "4.75") {
 return "star_4_75.gif";
} else if ($rating == "5") {
 return "star_5.gif";
} else {
 return "star_0.gif";
}
}

Lenke til kommentar
  • 3 uker senere...

De jeg jobber hos nå, jobber med å selge bredbåndslinjer og vpn- og hostingløsninger for bedrifter.. De jobber også med support av et program som er laget av et av søsterselskapene. I dette programmet er det myyye rart.

Jeg utvikler websider (webshop, bookingløsninger) som knyttes til dette programmet, så jeg kommer ganske dypt inn i kjernen..

En av de mest irriterende tingene (og veldig wtf) var WebOrder-tabellen i databasen. Det er en tabell som inneholder kjøp fra web. Den er delt opp i to deler : WebOrder og WebOrderHead. WebOrderHead har som alle andre tabeller en primary key med indeksering.

Det som derimot er litt snodig, er at den har en annen "nøkkel" : WebSessionId.

Hva gjør den der? Aner ikke.

Det ville vært i og for seg greit nok, MEN weborder-linjene er koblet til WebOrderHead med denne WebSessionId'en... ikke primary-keyen til WebOrderHead. Og siden jeg sitter med ASP.NET, har jeg ikke muligheten til å endre SessionID i programmet. Så da oppstår et ganske enormt problem :

Hvordan bestille nye varer to ganger i samme session?

Jeg kan ikke slette SessionID'en som ligger i databasen (som bare er søppel) og jeg kan ikke endre min egen sessionid..

Teit.

 

Er et par andre merkverdigheter også; en artikkel må opprettes for hver eneste farge og hver eneste størrelse av et klesplagg. Farge og størrelse er lagt direkte inn i Article-tabellen. Smart...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...