Il collega ha rinominato tutte le mie domande [chiuso]


63

Non so se dovrei essere molto irritato o cosa. Ho creato da solo oltre 300 query per un database di grandi dimensioni e ho sviluppato una convenzione di denominazione per poterle trovare in seguito. Nessun altro nel mio ufficio sa nemmeno come creare una query, ma sono arrivato ieri per scoprire che erano stati rinominati tutti. Ora faccio fatica a trovare le cose e sto cercando di capire cosa fare.

Ho parlato con la persona responsabile e lei ha minimizzato il tutto. Ha detto che li ha rinominati in modo da poterli trovare più facilmente. Sfortunatamente, sono l'unico che sa come costruirli, modificarli e mantenerli, e l'unica ragione per cui aveva bisogno di trovarli era testare le domande. La nuova convenzione di denominazione non ha affatto senso e mi sento come se avessimo fatto un passo indietro nel processo di sviluppo.

Quello che sto cercando di capire è:

1) Sto reagendo in modo eccessivo?

2) Qual è il modo migliore per gestirlo? Odio menzionarlo al mio capo, ma dopo aver parlato ieri con il mio collega, posso già dire che si sente come se non avesse fatto nulla di male.


29
Anche se lavoriamo in team, esiste un concetto di chi possiede cosa e l'autorizzazione dovrebbe essere richiesta prima di modificare il codice creato da qualcun altro. Una volta l'ho fatto (mi vergogno di dire) e sono stato rimproverato. Quando mi è successo, l'ho cambiato di nuovo e ho chiesto loro di non farlo.
Mike Dunlavey,

30
Duella all'alba! ...

46
Hai un backup / SVN giusto? Riporta subito prima delle sue modifiche e rilassati.
JYelton,

11
se qualcuno rinominasse il mio codice, strapperei loro la vita come Shang Tsung!
Glenn Ferrie,

24
Se ha dei figli, rinominali.
Matt

Risposte:


81
  1. Non proprio - è una cosa incredibilmente irrispettosa da fare.

  2. Le hai parlato e noi no, ma sembra che tu sia nei tuoi diritti per ripristinare le precedenti convenzioni di denominazione da un backup o ripristinarle se si trovano in un controllo del codice sorgente. Se lo fai, informa il tuo capo e collega e fornisci il motivo (non puoi mantenere il tuo lavoro).

L'ultima cosa che vuoi è andare avanti e indietro su questo, anche se gestiscilo come la situazione sembra giustificare, ma dovrebbe almeno essere documentata nel caso in cui diventi parte di un modello di mancanza di rispetto.


81
A parte questo, se il suo ruolo nel progetto è in realtà "tester", non ha assolutamente alcun diritto di cambiare il codice sorgente. Periodo. Ma vorrei aggiungere che, per evitare questo tipo di situazione, dovresti comporre un piccolo documento (punti elenco!) Che indica la convenzione di denominazione, poiché, in futuro, la tua azienda potrebbe assumere qualcuno che lavori con te o addirittura coordinare tu, e sarebbe suo diritto cambiare nome se non ci fosse una convenzione ufficiale .
Bruno Brant,

1
Sono d'accordo con questa risposta. Se non fai nulla, stabilisci un precedente che potrebbe aggravare futuri disaccordi.
JYelton,


13
Assicurati di toglierti i diritti di modifica del database mentre ci sei ...
Ant

1
@Ant: Se l'esempio dell'OP è l'intera storia, penso che potrebbe essere un po 'duro. Se c'è di più (o non dovrebbero mai avere i diritti di modifica in primo luogo) potresti avere ragione.
BCS,

117

Perché non lo gestisci semplicemente come un adulto: siediti, non conflittualmente, e crea un elenco di pro e contro per uno schema di denominazione, concordane uno e rendilo ufficiale scrivendo un breve documento che lo descrive. Interesse genuino ed esplicito per il suo contributo, così si sente (ed è) coinvolta.

Se è principalmente una questione di gusti e se è il tipo di persona che deve assolutamente avere le cose a modo suo, allora sii solo felice di essere la persona più grande e lasciala andare. La vita è troppo breve per avere una gara di pisciare di schemi di denominazione.

Il problema è lo schema di denominazione o che ritieni di non avere alcun rispetto? Se è così forse puoi lavorare sulla tua relazione di lavoro. Se ritieni che non ne valga la pena, allora perché ti preoccupi di quello che pensa comunque? :) Un'altra opzione potrebbe essere che lei non crede davvero che sia un grosso problema e se spieghi bene che stai avendo problemi a trovare cose, forse puoi cambiarle di nuovo.


2
Stavo per dire di cambiarlo e chiederle di non farlo, ma la tua risposta è ancora migliore.
Mike Dunlavey,

Questo è abbastanza perfetto.
Wayne Molina,

20
E poi farla cambiare alla NUOVA convenzione concordata :)

7
@konrad, stai trascurando un problema cruciale: un tester non ha né autorità né alcun tipo di attività che esegue alcun tipo di modifica come questa in primo luogo . @anon è il programmatore responsabile, le convenzioni di denominazione sono correttamente la sua decisione da prendere, e non sono in grado di votare una commissione, per non parlare delle modifiche unilaterali da parte di qualcuno che non dovrà mai eseguire il debug del codice in seguito.
Shadur,

36
  1. La progettazione del database include autorizzazioni (GRANT e REVOKE).
  2. Il test include le autorizzazioni di test.
  3. Relativamente poche persone dovrebbero avere l'autorizzazione per rinominare gli oggetti del database.
  4. Il tuo collega non è uno dei pochi.

Questo è un ottimo punto. Mi chiedevo perché un tester avrebbe avuto accesso a questo in primo luogo.
Justin Ohms,

Perché è Access. Non ci sono concessioni e revoca in Access. Non ci sono autorizzazioni.
Kibbee,

7
In realtà ci sono permessi in Access, ma devo ancora incontrare qualcuno che capisca come dovrebbero essere usati (figuriamoci implementarli)
Mchl

1
Perché senza dubbio, questa stessa società probabilmente non ha nemmeno sistemi di controllo del codice sorgente, per non parlare di un DBA qualificato che ha bloccato Access. tra l'altro dovresti cercare non è molto difficile da fare.
Tipo anonimo

21

"La nuova convenzione di denominazione non ha affatto senso" suona come uno di questi potrebbe essere il caso:

  1. Ha applicato loro alcune norme aziendali. Questi sono spesso usati per assicurarsi che il codice sia almeno coerente e, nel migliore dei casi, può aiutare le cose periferiche come piccoli script personalizzati a trovare facilmente il codice. In questo caso, devi capire la norma e perché "non ha senso" nella tua situazione. Se pensi ancora che sia meglio che tutti gli sviluppatori lo lascino com'era, spiega loro perché esattamente il tuo metodo è superiore e chiedi se potresti cambiare la norma (probabilmente OK se concordano che è superiore) o rinunciarlo nel tuo caso (improbabile e disordinato a lungo termine).
  2. Ha inventato il suo standard sul posto e lo ha applicato. Ciò è più probabile se è nuova e dovrebbe spiegare la sua logica. Potresti imparare qualcosa e / o lei potrebbe imparare qualcosa se poi spieghi la tua logica.

Un punto importante è che non è il tuo codice (singolare), se non altro, appartiene e sarà modificato da tutto il gruppo. Nessuna critica al codice dovrebbe mai essere incentrata su chi l'ha scritto.


2
+1 buon punto. tutti gli altri che rispondono presuppongono che l'interrogatore abbia uno schema di denominazione valido. Che cosa succede se lui / lei è davvero il "raccoglitore di informazioni" delle aziende. Forse è il tester che sta effettivamente rendendo più semplice per chiunque (e chiunque sia nuovo) all'interno dell'azienda trovare domande.
Tipo anonimo

Punti buoni. Se lo schema di denominazione è buono, allora entrambe le parti saranno in grado di usarlo (una volta che si abitueranno), indipendentemente da chi lo abbia inventato.
BCS,

2
@bcs Anche in quel caso, il modo corretto per farlo sarebbe quello di informare PRIMA il programmatore e chiedergli di cambiare da soli la convenzione di denominazione, piuttosto che intrufolarla e aspettare che lui / lei venga a lavorare il giorno successivo e scopri tutta la sua struttura maltrattata.
Shadur,

16

Ho parlato con la persona responsabile e lei ha minimizzato il tutto.


Allora ti dirò, spudoratamente:

Ripristina le modifiche.

Fai questa guerra. Il tuo manager dovrebbe supportarti e rafforzare la tua autorità.


Concordato. Verifica prima con lei che non ci sia una buona ragione per cui i nuovi nomi siano migliori. Altrimenti cambiarlo di nuovo.
Richard,

11
Quando "Wage this war" è mai un buon consiglio?
Sverre Rabbelier,

3
@Sverre Rabbelier: ... Quando un n00b tenta di installare pratiche software non ottimali. L'OP ha cercato di ragionare con lei. Ora è il momento di risolvere il problema. Discutere fino alla nausea con un n00b su qualcosa di così ovvio è un movimento improduttivo e sprecato.
Jim G.

4
@Jim Forse l'OP è il newb?
Joe Phillips,

3
Se non è il tuo capo, cambia quella merda e non guardare indietro. Non sto dicendo guerra ai salari, ma sicuramente non lasciare che qualcuno si comporti come se fosse il proprietario del posto. I project manager sono quelli che dovrebbero far rispettare gli standard di codifica. Non riguarda l'autorità tanto quanto l'esperienza, l'ordine e un ambiente di lavoro produttivo.
Jonathan Henson,

10

1) No, non stai reagendo troppo. Qualcuno ha cambiato il tuo lavoro senza dirtelo e lo ha spazzolato via quando gli hai chiesto perché. Questo è un imho estremamente irrispettoso e maleducato.

2) Sei il DBA ufficiale o almeno la persona che è stata nominata custode del DB? In tal caso, modifica i nomi e scrivi un documento delle convenzioni su come fai le cose. Inoltre, scrivi un documento di stile "Manuale dell'utente" in modo che se qualcuno deve accedere al DB e trovare qualcosa che può.

Vorrei inviarlo al gruppo, senza puntare le dita, con una nota utile che saresti felice di sederti e guidare le persone attraverso alcune delle sfumature della struttura.

In caso contrario, elaborare convenzioni come squadra e seguirle come squadra.

Per contro, per qualcuno che ha dovuto testare qualcosa per cambiare i nomi di oltre 300 query sembra piuttosto infantile. Quanto tempo ha perso facendo questo, e solo per poter trovare cose? Invece di andare a chiedere aiuto a qualcuno, ha perso tempo, tempo e tempo dell'azienda. Per non parlare del codice probabilmente rotto quando lo ha fatto, sprecando così anche il tempo di un altro membro del team.

Se fossi in te, aspetterei fino a che non ti raffreddi un po ', proverei a parlarle di nuovo. Se non funziona, prendilo con il capo. Quel tipo di mentalità da cowboy metterà alla fine l'intera squadra.


8

La ridenominazione casuale nel database potrebbe facilmente causare la caduta di un ambiente di produzione. Se tali procedure venissero referenziate da qualche parte nel codice, potrebbero avere gravi conseguenze. Puoi eseguire i rollback, ma se un tester come questo in realtà non sa cosa sta facendo, non è un passo così lontano per vedere il tester apportare alcune modifiche alla produzione. Ciò potrebbe significare perdita di attività, motivo per cui dovresti provare a implementare ruoli utente separati per sviluppatori e tester. Lo facciamo con i nostri tester e funziona benissimo. I tester lo apprezzano spesso, perché non devono vivere nella paura di rovinare i dati in tempo reale.


5

Non sembra essere toccato altrove, ma qualsiasi fonte (ad esempio, una query) messa in un luogo pubblico dovrebbe essere sotto un sistema di controllo della versione.

Quindi, se un collega modifica il tuo schema di denominazione, puoi tornare facilmente al tuo schema di lavoro (e vedere le loro modifiche; e potenzialmente tornare indietro se necessario). Puoi anche associare le modifiche a utenti specifici, in modo da poter vedere chi ha incasinato le cose.


2

Non guardare un cavallo regalo in bocca.

In primo luogo, la proprietà del codice collettivo - non dovrebbero essere "tuoi".

In secondo luogo, se li hanno rinominati, chiedi il ragionamento sul nuovo schema di denominazione. O stanno usando le query - nel qual caso è una specie di loro chiamata; o è un primo passo per iniziare a darti un aiuto per mantenerli.

Se tutti pensano di essere "tuoi", non ti sbarazzerai mai di loro e passerai a qualcosa di nuovo


2

Non so se questo è stato chiesto ma quale convenzione di denominazione è la versione ufficiale? Se la tua versione è ufficiale, allora dirò di affrontare il problema dal punto di vista. Quindi, invece di dire "La persona X ha annullato tutte le mie modifiche", dì semplicemente "La persona X ha apportato modifiche contrarie alle convenzioni ufficiali sulla denominazione". Se non esiste una convenzione ufficiale, allora suggerisco di farle sapere che non apprezzi le modifiche apportate senza prima consultarti.

In entrambi i casi, penso che scatenare una "guerra" non sia la risposta. Anche se vinci, perdi.


Questa è l'unica risposta corretta. Se esiste uno standard di denominazione, i nomi dovrebbero essere conformi allo standard e chiunque desideri che abbiano altri nomi ha torto. Se non esiste uno standard di denominazione, dovrebbe esserci uno standard di denominazione - il team, il responsabile tecnico o chiunque - dovrebbe scriverne uno. Convenzioni di codifica come questa sono noiose, ma sono una parte essenziale del tessuto sociale che consente a una squadra di operare.
Tom Anderson,

1

Questo è un comportamento spaventoso. Sembra che non abbia rimpianti, quindi portalo al tuo capo e fai un caso per revocare il suo accesso fino a quando non può essere convinta a non fare casino.

Se il tuo capo non è tecnico, spiegalo in termini che capiranno. Immagina di iniziare a lavorare in una sala postale, dove la posta viene ordinata in fori per piccioni pronti per la consegna. Decidi unilateralmente di ordinare i fori dei piccioni per piano, poi cognome anziché l'attuale sistema di reparto, quindi piano. Potrebbe semplificarti la vita a breve termine, ma verrai ucciso dall'altro personale delle poste.

È oltre maleducato. Sarei furioso.


1

Oltre a impostare le autorizzazioni per impedire alle persone casuali di modificarle, dovresti anche spiegare come è suo compito testare la funzionalità, non puoi dare alcuna garanzia di affidabilità se le persone casuali stanno apportando modifiche al codice.


1

Come tutti hanno detto, non avrebbe dovuto farlo, se non altro per rispetto nei tuoi confronti dato che sei il creatore di queste domande.

Detto questo, non vedo nessuno menzionare il fatto che se ha rinominato le tue domande in primo luogo, è stato perché non riusciva a dare un senso alla tua convenzione di denominazione.
Quindi il problema potrebbe essere facilmente risolto documentando la convenzione di denominazione e garantendo che i colleghi abbiano accesso al documento e possano trovare ciò di cui hanno bisogno.

Devi anche stare attento e prendere in considerazione il modo in cui altre persone troveranno e utilizzeranno le tue query: se la tua convenzione di denominazione non consente loro di svolgere il proprio lavoro in modo efficiente, probabilmente dovrai mantenere un elenco più completo delle tue query, usando forse tag e parole chiave concordate in modo che gli altri possano trovare ciò che stanno cercando.

La chiave qui penso sia che nessuno lavori in modo isolato e il modo migliore per evitare di muovere le dita l'uno dell'altro è comunicare e concordare regole di base comuni.


0

Risponderei allo stesso modo - minimizzando la tua decisione di ripristinare tutto indietro. Ripristina le sue modifiche e scrivi un'email molto breve ai tuoi colleghi:

"Per ora ho cambiato rXXXX, perché non ho capito la convenzione di denominazione. Grazie per averci provato. :)"


0

Sì, stai reagendo in modo eccessivo.

C'è qualcosa chiamato controllo della versione che, tra le altre cose, è usato per non battere $ #! 7 su colleghi quando si scherzano con le tue cose. Basta tornare alla versione precedente e bloccare il file, lasciandola quindi gestire la rabbia. Ciò ti darà l'opportunità di spiegare che eseguire cambiamenti radicali sul codice che ha dipendenze dalle cose di qualcun altro senza una solida ragione e senza prima chiederlo non è solo sbagliato, estremamente poco pratico e praticamente un peccato.

Ovviamente ciò presuppone che la tua convenzione di denominazione sia migliore di quella di lei e che tu possa effettivamente eseguire il backup di questa decisione con solidi argomenti oggettivi, se non è il caso la cosa più saggia da fare inizia a cambiare il tuo codice non appena puoi per gestire le modifiche e prova a trovare una convenzione di denominazione migliore la prossima volta.

Non portarlo al tuo capo, il modo maturo per risolverlo è direttamente con il tuo collega, dopo dovrai lavorare con lei, quindi è stupido danneggiare la relazione per una lite facilmente risolvibile.

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.