Trattare con volgarità nel codice sorgente [chiuso]


34

In che modo le persone trattano con volgarità nel codice sorgente e nei commenti VCS. Conservare o eliminare?

Che dire di soft-expletives come WTF o Arrgggh?

Non professionale, offensivo o qualcosa da scrollare di dosso?


15
Caso per caso ... i commenti sono una strada per la personalità degli sviluppatori. Proprio come devi avere a che fare con N tipi di personalità, devi anche occuparti di N tipi di commenti che sanguinano la personalità degli sviluppatori. Come gestisci un determinato sviluppatore usando volgarità mentre interagisci con loro tramite messaggistica istantanea, e-mail, verbalmente?
Aaron McIver,

10
Ho dovuto dire ad alcuni sviluppatori Jr. prima di non mettere parolacce nei commenti. IMHO è molto poco professionale. Se non vorresti imprecare davanti ai tuoi colleghi o clienti, perché imprecare nei commenti / codice? E se giurassi di fronte ai tuoi colleghi e clienti ... allora hai un ambiente di lavoro molto più rilassato di me. :)
Tyanna,

4
@Tyanna: Nel mio ultimo posto di lavoro eravamo persino un po 'razzisti! Se puoi chiamarlo così. Penso che la correttezza politica sia terribile tra i colleghi che si vedono giorno dopo giorno. Avresti paura di raccontare una barzelletta razzista a qualcuno che vedi per 10 ore al giorno? Poi di nuovo, vivo in Bolivia - penso che gli Stati Uniti abbiano una mentalità molto più accusa - questa, denuncia - quella ed è per questo che nessuno vuole fare un passo avanti.

4
@Anna Lear: mai qualcuno viene denunciato in Danimarca per aver raccontato una battuta piccante. Gli Stati Uniti tuttavia ... Tutto dipende dal tipo di atmosfera in cui lavori. Gli Stati Uniti hanno più peso sui droni delle risorse umane che monitorano ogni piccola cosa.

10
Basta fare un grep f.cksul codice sorgente di un kernel Linux. Se è abbastanza buono per loro, è abbastanza buono per me. Ma mai e poi mai mettere qualcosa di offensivo in luoghi dove c'è la minima possibilità che i clienti possano individuarlo. L'ho fatto una volta e fortunatamente siamo riusciti a estrarre l'aggiornamento all'ultimo minuto, ma non è stato divertente. (Beh, in realtà è stato dopo.)
biziclop,

Risposte:


41

Dovrebbe essere delicatamente scoraggiato

..non puoi sapere chi vedrà il codice sorgente nel corso della sua 'vita.

Mentre fa tutto parte del lavoro frustrarsi con un pezzo di codice particolarmente complesso o vecchio e vuoi parlarne, inserire nel codice sorgente espletivi / rant / arte ASCII / barzellette sbagliate / osservazioni offensive non è professionale cattiva idea nella mia esperienza. A volte, l'ingegnere che scrive i commenti è ignaro degli eventuali effetti che i suoi commenti potrebbero avere - ecco alcuni dei problemi che ho riscontrato:

  • Un numero elevato di imprecazioni nel codice rilasciato al pubblico come codice open source / di esempio.
  • Scherzi di cattivo gusto che causano offese profonde ad alcuni membri del team con conseguente tribunale industriale.
  • Osservazioni da buttare via che erano in realtà razzisti / sessisti / di genere causano il licenziamento delle persone.

Mentre tutti abbiamo bisogno di avere alcuni sbocchi per la frustrazione / divertimento / japing, il codice sorgente non è il posto dove farlo, IMO. Non inseriresti imprecazioni / barzellette / commenti offensivi in ​​un contratto, pagine di aiuto, progetti o altri documenti professionali, anche se tali documenti potrebbero essere letti anche meno spesso del codice sorgente.

Se i capisquadra si mettono a dura prova, ci saranno problemi, quindi dico "delicatamente scoraggiato" per mezzo di una parola tranquilla con ingegneri problematici e fornito meccanismi di sfiato adeguati per sfogarsi, che si tratti di Facebook, di messaggistica istantanea , air hockey o un sacco da boxe.

Non è una difesa affermare che i commenti sono stati compilati - che ne pensi di JavaScript o di qualsiasi altro codice dinamico sul lato client?

Ecco alcune delle esperienze del mondo reale che ho avuto che hanno plasmato la mia opinione:

  • Mentre lavoravo in Microsoft, ho notato che un ingegnere del software non conosceva l'ortografia corretta di "impossibile" - gli mancava la o, la - e aveva scritto gran parte del suo codice con lunghe spiegazioni di come non poteva far funzionare X perché Y stava causando il problema Z. Il suo codice era eccezionale; la sua ortografia non era così buona. Basti dire che ogni successivo revisore di questo codice (ad esempio me) è stato allarmato nel vedere un gran numero di imprecazioni casuali nel codice. Parte di questo codice è stata mostrata ai partner (autori dei driver). Immagina il loro orrore nel vedere le imprecazioni. Idealmente, gli sfoghi dovrebbero essere stati al project manager in forma verbale (nel qual caso la persona Y può essere coinvolta nella discussione) o forse impegnare messaggi, ma non nella fonte.

  • In una società, un individuo di lingua straniera si è unito a una squadra prevalentemente di lingua inglese. Ha scritto commenti nella sua lingua, pensando che nessun altro potesse leggerli. Questo andava bene, fino a quando Babelfish / Google Translate non hanno rilasciato un'opzione "in inglese" per la sua lingua, a quel punto il resto del team ha tradotto alcuni commenti e si è spaventato per i commenti sporchi e spesso sprezzanti che il ragazzo stava facendo sull'azienda , la sua squadra e una collega di sesso femminile. Imbarazzante .

  • In un'altra società, un ragazzo è stato davvero preso con l'arte ASCII e ha inserito ogni sorta di arte nel suo codice sorgente, non individuato (o forse benedetto) dai revisori del codice. Dopo un po 'si soffermò sui draghi, per qualche motivo, di solito con una specie di tag line. Più tardi, una persona gallese si unì alla squadra. L'emblema nazionale del Galles è un drago rosso, quindi il nuovo ragazzo era inizialmente allegro per le immagini, ma poi si è offeso quando alcune delle sciocche linee di tag potevano essere interpretate come offensive. Sì, è richiesta una mediazione da parte del team leader, ma ciò non avrebbe dovuto accadere.


Nomi / dettagli rimossi per proteggere l'innocente.


1
Aggiungerei che volgarità nel tuo sistema di localizzazione dei difetti non dovrebbe essere incoraggiata. Essendo stato in grado di richiedere a un mittente di modificare il proprio commento per rimuovere la volgarità, posso dirti che questa non è una posizione piacevole per un supervisore / caposquadra / manager all'interno. Soprattutto quando si rifiutano.
quick_now

@quickly_now, come hai gestito quella situazione allora?

Ho chiesto di nuovo. Quando la persona ha rifiutato di nuovo, ho modificato personalmente i commenti per disinfettarli. Non pensavo che valesse la pena seguire il processo di consulenza / disciplinare (passaggio n. 1 che porta al licenziamento), ma ho anche riferito al mio capo ciò che avevo trovato e fatto. Siamo tutti d'accordo sul fatto che non andrebbe oltre se non ripetuto (e non è stato ripetuto). Non è divertente. [Aggiungo inoltre che i commenti profani mi sono stati segnalati da un altro membro del personale che era preoccupato. Questo ha reso il mio problema da risolvere. A volte le posizioni senior non valgono $ $ in più]]
quick_now

"ma poi offeso quando alcune delle tag line sciocche potrebbero essere interpretate come offensive." Dovresti essere una persona MOLTO profondamente disturbata per essere offeso dall'immagine di un drago perché sei gallese.
Miglia rotta

24

Se vendi il tuo codice sorgente (ovvero sei uno scrittore di componenti), probabilmente non dovrebbe essere lì.

Se è una questione di prudenza, allora bene, dipende da te.

Se vedi qualcuno scrivere un sacco di WTF, forse è un segno che dovresti parlare con loro dei problemi che stanno avendo.

Se qualcuno sta indirizzando la propria aggressività verso il codice di un'altra persona, potrebbe essere molestare quella persona e hai una situazione completamente diversa da affrontare. Forse hanno un reclamo legittimo e non sanno come esprimerlo correttamente. Forse sono solo un idiota.

Non sarebbe saggio avere solo una sorta di filtro di contenuto, qualunque cosa uno sviluppatore scriva è importante e ti dice molto su come stanno andando le cose.


1
+1 per il punto di non vendere codice sorgente carico di esplosivo. Il codice deve essere accuratamente ispezionato per tali commenti prima di essere consegnato.
FrustratedWithFormsDesigner,

2
I commenti volgari non sono sicuramente una buona idea se sei uno sviluppatore HTML. :)
biziclop,

@biziclop, il che è un peccato perché l'HTML è una lingua tanto frustrante quanto ci può essere. Dai un'occhiata al link di @in jinx sui tassi di volgarità nella fonte. sembra che Javascript sia legato per primo (non sono sicuro se questo include imprecazioni javascript minimizzate accidentali)
Peter Turner

Il nostro semplice filtro contenuto in esecuzione su jenkins ha avuto un problema con questo: void pushItem (...
sal

17

Lavoro per un'azienda Fortune 500 che progetta, produce e vende prodotti di consumo con controllori µ che eseguono codice sviluppato internamente. Il contenzioso è sempre una possibilità, sia da parte dei consumatori che sperano di arricchirsi rapidamente, sia da parte di concorrenti che rivendicano una violazione. Per questo motivo, scriviamo il nostro codice e TUTTI i commenti con la consapevolezza che potrebbe (probabilmente) rientrare sotto il controllo dei giurati ostili in qualche momento. Ciò significa che i nomi delle variabili e delle funzioni non dovrebbero includere termini incitanti, come KILL_CHILD(int process_id). Mentre lo scopo di questa funzione di esempio potrebbe benissimo essere quello di terminare i processi figlio, come potrebbe una giuria ostile vedere quel nome di funzione se il figlio dell'attore fosse ucciso mentre utilizzava il prodotto?

I commenti nel codice possono essere anche peggiori. Mentre una squadra di difesa decente potrebbe probabilmente gestire spiegando cos'è un processo figlio (dall'esempio precedente) e perché potrebbe essere necessario terminarlo, sarebbe quasi impossibile difendersi da un commento come:

// The following section of code is REALLY BAD!!!  I hope
//  it doesn't burn anybody's house down.

Commenti fuori mano del genere sono stati fattori decisivi in ​​casi giudiziari reali.

Su un argomento correlato, anche i nomi dei progetti possono essere dannosi se sottoposti a un intenso contenzioso. Ricordi il tumulto dei gruppi conservatori a metà degli anni '90, quando fonti di notizie sulla tecnologia riportarono "SATAN Unleashed On The Internet" ?

<rant_mode_off>

Detto questo, per i progetti personali sei libero di fare ciò che ti piace nel tuo codice.


1
+1 per indicare l'aspetto più pericoloso di questo comportamento NON PROPRIETARIO. Ho lavorato su team di "due diligence" che hanno esaminato il codice sorgente delle aziende per le quali lavoravo per la F500. Abbiamo cercato questo tipo di cose per i motivi che hai citato e ha fatto la differenza chi ha avuto un impiego continuo e chi no quando la fusione è stata completata. In particolare, una grande azienda (tasche profonde) non acquista una piccola azienda al fine di ereditare azioni legali relative a molestie / ambiente di lavoro ostile, in modo che i trasgressori vengano licenziati / licenziati al termine dell'acquisto.
Kloucks,

5
KILL_CHILD è solo un esempio assurdo. E mi piacerebbe vedere la citazione su "Commenti fuori mano del genere sono stati fattori decisivi in ​​casi giudiziari reali". (Non sto solo dicendo che come STFU ... mi piacerebbe davvero leggere la citazione.)
Wolfger,


1
"Ciò significa che i nomi delle variabili e delle funzioni non dovrebbero includere termini incitanti, come KILL_CHILD" Questa è la cosa più stupida che io abbia mai letto e dovresti vergognarti anche del fatto che KILL_CHILD sia un brutto nome per una funzione.
Miglia rotta

9

Se ti dà fastidio e tu sei l'onorevole capo, non vedo perché non potresti implementare una regola al riguardo. Voi siete , dopo tutto il leader in questo situazione ipotetica.

Tuttavia, se ti dà fastidio e nessun altro sembra preoccuparti, forse dovresti semplicemente succhiarlo.


Ecco la cosa: non "succhio" le cose.
gnasher729,

7

Potrei non essere la persona giusta da chiedere dal momento che uso spesso volgarità.

Penso che dipenda principalmente da quanto PC (politicamente corretto) sia il tuo ambiente.

Se scrivo un codice per una società in giacca e cravatta, proverei a non usare affatto volgarità, ma se è per un progetto di hobby o qualcosa che tendo a esprimere la mia mente più liberamente.

Mi sembra che negli Stati Uniti e in alcuni altri paesi le persone siano molto più PC (o bloccate) rispetto ai Paesi Bassi dove vivo e lavoro.

Come bonus aggiuntivo, ecco alcune statistiche sulla volgarità nel codice: http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-commit-messages-per-programming-language/


1
Penso che sia più dipendente dal settore - in un ambiente ad alta pressione come la finanza, le imprecazioni sono comuni.
JBR Wilkinson,

dipende anche fortemente da ciò che consideri "volgarità". Come nell'articolo collegato "lol" e "rofl" sono stati scelti come volgarità, quando la maggior parte di noi penso che non li classificheranno come tali.
jwenting

Non si tratta di PC - si tratta di un uso appropriato del linguaggio (puoi essere assolutamente non un PC e comunque scegliere di non usare volgarità - puoi essere profondamente offensivo e scortese e comunque non usare volgarità). Deve essere pensato in termini di non dare un'offesa indebita - indebita perché quasi tutto è offensivo per qualcuno - ma la maggior parte di noi sa dove si trova la linea e generalmente giura che le parole sono dalla parte sbagliata. Il contenimento in quest'area è utile - se non parli molto o spesso quando lo fai le persone se ne accorgono ...
Murph

6

Sono propenso a concordare sul fatto che può essere abbastanza poco professionale, ma tutti imprecano di tanto in tanto, quindi cerco di non tenerlo contro gli altri. Detto questo, la base di codice tende a riflettere la professionalità complessiva del gruppo, quindi una base di codice esplicativa carica potrebbe riflettere un gruppo non professionale e potrebbe essere necessario un incontro per "applicare un po 'di smalto" al gruppo. Allo stesso modo, se nel codice compaiono determinate tendenze, potrebbe essere un indicatore di problemi generali all'interno del gruppo che devono essere risolti (ad esempio, l'API con cui stai lavorando ha problemi che frustrano gli sviluppatori).

In termini di base di codice, di solito modifico il commento pertinente per essere sicuro per il lavoro e lasciarlo a quello. A seconda della lingua con cui stai lavorando, questa è sempre una buona idea in quanto non sai mai cosa potrebbe apparire di fronte a un cliente o cliente.


3
+1, interessante, non avevo pensato di usare modelli di apparenze esplicative per rintracciare la frustrazione con particolari funzioni / librerie.
FrustratedWithFormsDesigner,


5

È poco professionale, offensivo o qualcosa da scrollare di dosso?

Forse tutti e tre ... a seconda del tuo punto di vista.

È natura umana per le persone esprimersi usando "linguaggio colorato" in determinate situazioni. Più in alcune culture che in altre, e alcune persone più di altre. Ma la tendenza è universale.

Se fossi in te, lo scrollerei di dosso a meno che tu non sia disposto a renderti impopolare con i tuoi compagni di lavoro.

Tuttavia, se il codice sorgente / i commenti VCS vengono pubblicati al di fuori della propria organizzazione, la direzione potrebbe voler prendere una linea più forte, sulla base del fatto che è dannoso per le aziende offendere i propri clienti.


La chiave qui è "in determinate situazioni" - cioè dove appropriato e accettabile. Penso che sia ragionevole suggerire che i commenti (codice o commit) non siano posti realmente accettabili e quindi non appropriati.
Murph,

5

Uno dei problemi con volgarità è che è diverso da cultura a cultura. Negli Stati Uniti, le cose innocenti tendono a essere "cancellate", mentre in altri paesi è possibile ascoltare la stessa lingua scambiata nelle discussioni parlamentari.

Oscenità nel codice e nei commenti di commit è abbastanza comune, probabilmente a causa della vista "nessuno lo vedrà". Penso che in realtà sia più comune ora che la maggior parte delle organizzazioni bandisce le uova di Pasqua.

Personalmente ritengo che le cose non destinate ai clienti (come i materiali di commit interni) non siano un grosso problema.

Tuttavia, la maggior parte delle grandi multinazionali sono gestite da dipartimenti legali e "luoghi di lavoro sicuri" e tutto il resto, il che significa che tutto ciò che potrebbe essere offensivo per almeno una persona è un problema e una potenziale causa di licenziamento. Odio ammetterlo, ma tendo a inchinarmi alle regole di coloro che pagano il mio stipendio.

Una rapida soluzione a questo problema è installare un filtro volgarità sul sistema di controllo del codice sorgente (come script di presubmit o controllo periodico).


2
Non sono d'accordo con il tuo suggerimento di un filtro volgare automatico. In primo luogo, rischi di imbatterti nel problema di Scunthorpe e, in secondo luogo, come dice Stephen C, la volgarità è probabilmente un sintomo di un altro problema e vietarlo non lo risolverà magicamente.
Scott,

2
+1 Per il filtro volgarità, ma è importante evitare "l'errore clbuttico" ( thedailywtf.com/Articles/The-Clbuttic-Mistake-.aspx )
rjzii

i filtri volgarità non funzionano. Tendono a bloccare le cose inconsce e lasciano passare le cose cattive. Inoltre tendono ad essere facili da aggirare.
jwenting

CNTD. Faccio moderazione per un forum di fotografia naturalistica. Quando gli amministratori decidessero di installare un filtro volgare, tutte le discussioni sui castori, i micio, gli uccelli, ecc. Delle persone sarebbero state censurate. Prima che fosse rimosso di nuovo, gli utenti hanno iniziato a sviluppare modi per aggirare il filtro. Se non puoi parlare del tuo viaggio per sparare ai castori (oops, 3 parolacce in una breve frase), parli invece del tuo tr.ip a sh.oo.t be.ave.rs, ad esempio, e il filtro essere troppo stu.pi.d (un'altra parola vietata) per catturarlo.
jwenting

Per me l'argomento di evitare i filtri volgari "perché molti di loro sono una schifezza" ha più senso che evitare i filtri antispam, i disinfettanti sql, ecc. Esistono opzioni di terze parti decenti. Se usi solo regexps, sei SOL.
Uri,

3

Penso che sia ok fintanto che non è fuori controllo come far cadere le bombe laggiù. Ho visto un ragazzo con cui lavoro scrivere una sceneggiatura tra due personaggi che discutono dei vari oggetti che rappresentano ciascuno. C'è stato un commento multilinea che ha funzionato per circa 30 righe di questi due personaggi che parlavano avanti e indietro.

/ * * igor: dovrei farmi un massaggiatore pubblico? * Frankenstein: ah igor, erediterò dai tuoi tratti migliori ... * /

È andato avanti così per molto tempo. Ha creato due oggetti chiamati, avete indovinato: Frankenstein e Igor come parte di un controllo di sanità mentale. In realtà era molto creativo ma una totale perdita di tempo. Avrei preferito vedere alcuni WTF o imprecazioni piuttosto che una sceneggiatura tra due oggetti C # ...


È divertente. Improduttivo, ma divertente.
Paul Nathan,

@Paul: Ah! Scusa, sì, non molto produttivo, ma è stato ridicolo vedere questo giorno mentre guardavo un po 'di codice.
Nodey The Node Guy,

2

Dipende dalla cultura dell'azienda / cliente. Ad esempio, se stai sviluppando un software biblico, le imprecazioni in qualsiasi forma sono sicuramente sgradite. D'altra parte, uno sviluppatore di giochi potrebbe non preoccuparsi troppo (o andare all'altro estremo).

Sono sempre dell'idea che qualsiasi commento (in codice o commit) dovrebbe essere utile . Alcune parole attirano la nostra attenzione più di altre: le imprecazioni, anche la varietà morbida, sono sicuramente notate. Può essere utile richiamare l'attenzione su qualcosa che è semplicemente sbagliato ma non hai ancora modo di evitarlo.

Detto questo, non uso le imprecazioni ma a volte userò cose come "Doh!" o "Eh?" che non è troppo diverso nello spirito. Se ti dà fastidio, parlane con l'autore del reato - potrebbe non pensarci. Se ti dicono di fare un'escursione e ti senti fortemente a riguardo, vai a chiamare il manager. Se non ricevi supporto dal gestore, dovrai imparare a conviverci o andare altrove.


Siamo spiacenti, cos'è il "software biblico"? (non un nativo inglese qui).
Arriva il

2
La Bibbia è dove viene scritta la dottrina cristiana. Il software biblico è un software che i cristiani possono usare per esaminare in modo incrociato il testo in diverse traduzioni, cercare ciò che gli studiosi hanno detto su un certo passaggio e in generale studiare il testo. Una Scrittura parla di "Non lasciare che una comunicazione corrotta esca dalla tua bocca", che è il vecchio inglese per non imprecare, o parlare di cose che deprimono le persone. Sono sicuro che ci sono altre applicazioni religiose in cui la maledizione sarebbe ugualmente sgradita.
Berin Loritsch,

3
I cristiani smontano gli eseguibili per cercare le parolacce nella fonte?

Ehm, i commenti non vengono compilati in modo da non funzionare nemmeno;)
il JinX il

5
Quindi se scrivo un software biblico dovrei censurare tutte le cose oscene nella Bibbia?
Wooble,

1

Bene, non sono esattamente sicuro di cos'altro dovresti dire su questo codice:

tocommit = (n + (COMMITSIZE/PAGESIZE) - 1) & ~(COMMITSIZE/PAGESIZE - 1);

Questo codice è stato estratto da una base di codice reale, estremamente grezza, che ho cercato di ottimizzare ultimamente. (Il codice è open source, quindi non sto rivelando i segreti di alcun datore di lavoro qui o altro.)


3
Uccidi quel sumbitch con il fuoco e una calamita!

1

Come altri hanno già detto, dipende dal posto di lavoro e da chi vedrà il codice sorgente.

Se vendessi il codice sorgente avrei un secondo repository di sole versioni rilasciate e non consentirei alcun commento di check-in al di fuori di una descrizione di ciò che ciascuna nuova versione fornisce. Cosa faccio ogni giorno e tutti i miei passi falsi sono tra me e il mio team, non i miei clienti.

Attualmente il mio server di build riporta commenti su OMG, WTF, kludge, mess e TODO come metrica della pulizia rimanente per farlo, in questo momento fanno parte del processo.


1

Se vedi parolacce nei software open source e vuoi sbarazzartene, preparati alla possibilità di push-back. Non limitarti a scrivere un rapporto sui bug di tre righe e aspettati che venga accettato. Scrivi un mini-saggio che spieghi perché la volgarità e il linguaggio discriminatorio sono cattivi e anticipano le confutazioni.


0

Penso che sia una questione di preferenze personali. Quella roba non mi disturba davvero, quindi probabilmente la lascerei. Potrebbe anche darmi un suggerimento su dove si trovano le aree problematiche nel codice.

Si disturbano a voi ? Dal fatto che stai ponendo questa domanda, immagino che lo facciano. In tal caso, rimuoverli o ripulirli in commenti più appropriati su ciò che è sbagliato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.