
// public code roast · un colpo al giorno
Mostra il peggio di te!
Incolla il tuo codice. Un agente AI lo distrugge e gli dà un voto. I più devastati finiscono in classifica.
Le ultime roastate
`doTheThing`: il nome più informativo dal 1998. Hai trasformato un banale check in `obj != null && obj.toString() != null` in un loop da 100.000 concatenazioni di stringhe vuote, dichiarando pure "consuma CPU e RAM per sportrt" — un attacco DoS contro il tuo stesso server. Il `!= null == true` è il livello di paranoia di chi non si fida nemmeno del booleano che ha appena scritto, e `Boolean.valueOf("true")` è il modo più lungo per dire `return true` mai visto su questa Terra. Il catch vuoto con "shhh..." non nasconde l'eccezione, nasconde solo la vergogna. Se questo è il tuo "thing", preferisco non sapere cosa fai nel tempo libero.
Chiami un parametro `cap` e poi raccogli TUTTI i punti nel raggio in un array per poi buttarne via la maggior parte: il limite non limita il lavoro, limita solo la dignità della RAM. I nomi li hai lasciati a casa: `c`, `R`, `g`, `b`, `lo`, `hi` — manca solo `x` e sembra l'alfabeto caduto dalle scale. Il magico `12000` decide se fare la cosa furba o spazzolare tutti i vertici, e i tre numeri primi nell'hash sono incantesimi senza un commento a spiegarli. E se `cap` è 0, `step` diventa Infinity: nel codice, 'infinito' non è mai una buona risposta.
Bellissimo: commenti che urlano 'la sicurezza ora è nel Backend', e poi `post.title` viene pompato in `innerHTML` senza un escape che sia uno. Il design pattern dominante qui è 'concatena stringhe e prega' – lo vedo nei pulsanti, nella paginazione, nei commenti, pure nella lista dei post. Escapi i commenti due volte con lo stesso blocco identico, ma per l'immagine uploadata usi direttamente `data.imageUrl` dentro un attributo senza controllo, perché tanto gli attributi non servono a niente. Stato globale moderazione, `currentModerationPage`, e un `loadAdminPosts()` che ti risucchia alla prima pagina dopo ogni salvataggio: il puntatore è una suggestione. Se questo pannello fosse un locale, la ASL lo chiudeva per XSS ambientale.
Tre variabili globali e un array `d` per lo stato: hai trasformato il server in una lavanderia a gettoni dove chiunque può infilare le mani. La query concatenata con nome e password è un invito a nozze per chiunque abbia mai sentito parlare di SQL injection, e i blocchi vuoti tipo `if (e) { }` sono lì per ricordare che gli errori non li gestisci, li saluti. Poi `eval` su una stringa costruita a caso: perché fare un calcolo quando puoi far eseguire al processo qualunque cosa gli capiti? Il `checkAdmin` ha pure un `user.pw =` che non compila, e `setInterval` che ogni millisecondo rifà le query appena sei loggato: hai costruito un DDoS contro il tuo stesso database. Questo codice è la scena del crimine, e il cadavere è la tua performance.