De ce variabilele „class” sunt scrise greșit? [duplicat] (Inginerie software, Denumire, Standarde De Denumire)

Sarp Kaya a intrebat.

Am început să văd astfel de inițializări de variabile în bibliotecile Java:

Class clazz = new Class();

sau

Class klass = new Class();

Există vreun motiv anume pentru care oamenii scriu greșit cuvântul „class” atunci când declară aceste variabile și folosesc un stil de scriere de tip „kool boyz”? De asemenea, ce este în neregulă dacă se folosește ceva de genul cls sau ceva similar?

Comentarii

  • Sincer, nu am văzut acest lucru „des” înainte, așa cum presupune titlul întrebării dvs. (cu excepția cazului în care autorul codului avea un fel de dislexie). –  > Por Doc Brown.
  • Nu este des și nici nu ar trebui să fie! Dacă nu știți cum să apelați un obiect înseamnă clar că nu știți ce ar trebui să facă codul. Acest lucru vă spune pur și simplu că codul dumneavoastră este nașpa: ro.wikipedia.org/wiki/Code_smell –  > Por SOReader.
  • Eu, ca OP, nu am folosit adverbul „adesea”. Întrebarea mea a fost editată. –  > Por Sarp Kaya.
  • Am eliminat „adesea” din titlu (altcineva l-a editat în locul tău), dar oricum am votat pentru a o închide ca fiind duplicat. –  > Por Konrad Morawski.
2 răspunsuri
msell

Acesta este un caz special cu numele clasa, , deoarece acesta este un cuvânt cheie rezervat în unele limbaje, cum ar fi Java și, prin urmare, nu poate fi folosit ca nume de variabilă. Folosind clazz sau klass este o modalitate de a evita acest lucru. Alte opțiuni ar fi, de exemplu, următoarele myClass.

În Java, acest lucru este destul de comun, deoarece chiar și JDK utilizează această convenție. A se vedea, de asemenea, https://stackoverflow.com/a/2530174/160539

„class” este ceea ce doriți, dar abrevierea sau inserarea de prostii („a”, „the”, „_”, etc.) reduce claritatea. clazz spune doar „class”. Vorbitorii de engleză „internațională” (cei care citesc atât engleză, cât și americană) sunt obișnuiți să transpună „s” și „z”.

Deoarece Java a avut de la bun început o sursă dezvăluită și o cultură adecvată, codul Java și tutorialele care merită preluat aceleași convenții…

Comentarii

  • Rețineți, de asemenea, utilizarea lui „@” din C# pentru denumirea variabilelor, dacă doriți neapărat să folosiți un cuvânt cheie (presupunând că acesta este limbajul ales de dumneavoastră). –  > Por J Trana.
  • Aș considera o astfel de utilizare ca fiind un miros de cod. –  > Por World Engineer.
  • @DocBrown În Java este destul de comună, deoarece chiar și JDK folosește această convenție. A se vedea și stackoverflow.com/a/2530174/160539 –  > Por msell.
  • Dacă programatorilor Java le place să folosească acest tip de denumire a variabilelor, atunci programatorii Java miros exact ca și codul lor. –  > Por gbjbaanb.
  • @msell: uitându-mă la acel link, cred că este destul de comun în Java pentru meta-programare, , unde aveți programe care se ocupă de clase și metode în sine (și nu destul de comună în general). Asta are mai mult sens pentru mine. –  > Por Doc Brown.
CodeART

Dacă trebuie neapărat să folosiți un cuvânt rezervat, atunci în .NET îl puteți scăpa astfel:

var @class = new Class();

După părerea mea, este mai bine decât să numești ceva „klass”. Nu voi fi surprins dacă și alte limbaje (JAVA) oferă ceva similar.

În general, aș evita ‘cls’, ‘klass’ sau orice altceva care necesită o cartografiere suplimentară a minții. Este un zgomot de fond și nu este necesar.

Comentarii

  • Java nu „oferă ceva similar” –  > Por gnat.