Code absurde ou "comment ne pas écrire"

Plus récemment, j'ai partagé un article dans lequel j'ai collecté des commentaires amusants dans le code source et les lecteurs sont entrés. Et j'ai décidé, pourquoi ne pas faire une sélection similaire, uniquement avec un code tordu? Peu importe, bienvenue au chat.



Comme la fois précédente, j'ai été inspiré pour cet article grâce à une question très populaire sur Quora, à savoir: Quel est le code le plus absurde que vous ayez jamais vu? (Orig. Quel est le code le plus absurde que vous ayez jamais vu?)


La question a été publiée il y a quelques années, mais tout le monde continue d'y arriver. J'en partagerai quelques-uns ci-dessous.


Réponse de Prashant Asthana


“ ”


MNC. , « Java» « ». , .


: , . , ?
: .


10 , :


int largestNumber = 0;
for (int i = 0; i < array.length - 1; i++) {
 largestNumber =
      array[i] > array[i+1] ?
          array[i] : array [i+1];
}

System.out.println(largestNumber);

, .


: , , , ?


5 .


: , .
: ?
: 1,2,3,4,5
( ): .


5 .


: , , . .


int largestNumber = 0;
for (int i = array.length - 1; i > 0; i--) {
 largestNumber =
      array[i] > array[i-1] ?
         array[i] : array [i-1];
}

System.out.println(largestNumber);

: 5,4,3,2,1. .



: ?
: ...


Thomas Breckinridge


, . , , , .


, , haht. - . , hahthahthaht hahtHahthaht, hahthahthaHt hahthAhthahT.


, , ,


if (hahthAhthahT >= hahthahthaht ) then hahtHahthaht(hahtHahtHaht,HAhtHahthaht);
else
 hahTHahthaht(hahtHahtHaht,HAhtHahthaht);

bitbucket.


:
, Borland Delphi/Object Pascal, , Pascal , . , C ++ Builder, , , haht. Borland , VisualBasic, Win32 API C / C ++. , , .


Alan Chavez


- JavaScript:


var obj = "{\"firstname\":\"" + firstName + "\",
\"lastname\":\"" + lastName + "\"}";
var res = JSON.parse(obj);
return res;

, JSON… JavaScript!
JSON JavaScript. .
, , , , : « ».


1 36 , , (O’Conelly), . 2 , .
«VP of Engineering». .


Ross Dickey



, , :


  1. (« » , )
  2. CamelCase ( Python, C#)
  3. ,
  4. , if
  5. , ,
  6. 5 , > 16. . > = 17 ,
  7. ,
  8. (?!?)
  9. . Python, C++. .

, - ?


Yoseph Radding


, . , . . 10- , junior . , - , .


, :


function foo(a) {
   if (a) {
       return transform(a);
   }
   return transform(a);
}

. , . … .
, . 3 , .


1 , .


Ryan Lam


#!/usr/bin/sh
#  Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
#  All Rights Reserved

#  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
#  The copyright notice above does not evidence any
#  actual or intended publication of such source code.

#ident  "@(#)true.sh  1.6  93/01/11 SMI"  /* SVr4.0 1.4  */

/ bin / true - UNIX-, AT&T. true — , . ( , , while true ..) “” .


, AT&T, - , / bin / true AT&T UNIX. , , .


, , . AT&T ….


Khaled Bakhit


rows= SELECT * FROM users
int count= 0
for each row in rows
   count= count + 1
return count

API .


( ), select . , , .


, !


, ( , ). Count, .


rows= SELECT * FROM users
int count= 0
for each row in rows
  count = count + 1

checkCount= SELECT count(*) FROM users

if count != checkCount
   throw Error
return count

Ce fragment de code a souvent provoqué des exceptions, car au moment où le premier compteur a été exécuté, la table était remplie d'enregistrements supplémentaires, donnant au deuxième compteur une valeur différente ...


Histoire vraie. J'aimerais qu'il n'en soit pas ainsi.


Conclusion


Lisez plus de réponses dans l'original ici . Eh bien, par tradition, partagez vos options pour le code absurde / stupide / étrange que vous avez rencontré dans votre pratique. Je pense qu'il sera intéressant de lire non seulement pour moi, mais aussi pour tous ceux qui tombent sur cet article :)


All Articles