r/italy Sep 04 '18

/r/italy Caffè Italia * 04/09/2018

Buongiorno cavaliere, il solito?

16 Upvotes

777 comments sorted by

View all comments

Show parent comments

3

u/srandtimenull Sep 04 '18

Soprattutto quando, su un progetto parallelo sviluppato da altri, trovo cose allucinanti non commentate tipo:

int my_flag = !(~bitmask & (1ULL << (my_id -1))) ? ~bitmask : bitmask;

Devo ancora capire il perché della negazione logica assieme a quella bitwise (togliendole entrambe è uguale), e perché una bitmask viene associata a qualcosa che è chiamato "flag", quando poi è utilizzata come una bitmask.

Io questo pezzo di codice non lo tocco neanche se mi minacciano di tagliarmi le palle.

1

u/SteelRazor47 Emilia Romagna Sep 04 '18

Ewwww, codice bitwise. Ma chi me lo fa fare?

1

u/srandtimenull Sep 04 '18

Quando le performance (di tempo e di memoria) sono critiche, ci sta.

1

u/SteelRazor47 Emilia Romagna Sep 04 '18

Comunque per il tuo esempio, spesso chi sta scrivendo il codice non si rende conto che esiste un modo più semplice e finisce per complicare inutilmente. Dopo un po' di brain-fuck(le operazioni bitwise non sono affatto intuitive se non sai che significano: "estrai questo", "aggiungi questo" ecc), ho capito anche io che la negazione logica e bitwise si cancellano a vicenda, ma magari se non sei proprio un espertone e ti mettono li a fare roba bitwise non ci arrivi subito.
Il fatto di chiamare una bitmask flag però :/

1

u/srandtimenull Sep 05 '18

Peccato che quel pezzo di codice sia stato scritto da un guru del C di fama mondiale (non posso divulgare il nome, ahimè).

Solo che 'sto stronzo o è allergico ai commenti, o prima di venderci il codice li ha tolti e ha oscurato un po' di roba.