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.
“ ”
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. .
…
: ?
: ...
, . , , , .
, , 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 ++. , , .
- 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». .

, , :
- (« » , )
- CamelCase ( Python, C#)
- ,
- , if
- , ,
- 5 , > 16. . > = 17 ,
- ,
- (?!?)
- . Python, C++. .
, - ?
, . , . . 10- , junior . , - , .
, :
function foo(a) {
if (a) {
return transform(a);
}
return transform(a);
}
. , . … .
, . 3 , .
1 , .
/ bin / true - UNIX-, AT&T. true — , . ( , , while true ..) “” .
, AT&T, - , / bin / true AT&T UNIX. , , .
, , . AT&T ….
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 :)