Come si fa a lavorare con un programmatore con un approccio radicalmente diverso stile di codifica?[chiuso]

StackOverflow https://stackoverflow.com/questions/2146940

  •  23-09-2019
  •  | 
  •  

Domanda

Qualcuno ha lavorato con un programmatore con un approccio radicalmente diverso stile di codifica?Come si fa a jive insieme senza voler cancellare e riscrivere ogni altro codice?

È stato utile?

Soluzione

sceglierne uno e andare con esso.

Se si stanno trovando difficoltà a concordare, prendere il tempo per elencare i pro ei contro, tra cui:

  • strumento di supporto per la formattazione automatica ( estemporaneo So Eclipse e Visual Studio può fare questo con un file di impostazioni )
  • conformità alla norma generale del settore ( Sun hanno pubblicato convenzioni standard per Java, forse c'è un equivalente nella tua lingua? )
  • conformità alle, o il costo di modificare, fonte preesistente ( se avete un milione di linee in uno stile, quanto sia difficile sarà l'aggiornamento che il codice per il nuovo stile? )
  • ... qualsiasi altro fattore che uno di voi è importante trovare ( Questo può includere il costo per acquisire familiarità con il nuovo stile )

Se vi trovate a lavorare con qualcuno troppo testardo per cambiare e adattarsi, beh, avete un problema più grande di quanto si scontrano stile del codice, e si occupano di questo è fuori portata per questa domanda.

Se sei la persona per adattare il tuo stile, evitare l'affermazione "Beh, se avessimo scelto il mio così ...". Se si è d'accordo su un unico stile, pienamente impegnarsi ad esso.

Prima di arrivare a questo punto, però, probabilmente si dovrebbe chiedersi: quali sono i vantaggi di avere il codice coerente? Potreste scoprire che il costo del codice di coerenza (fastidioso l'altro sviluppatore) non vale il vantaggio.

Altri suggerimenti

Siamo d'accordo su uno stile di codifica standard ed applicarla in forma di file di impostazioni di Visual Studio.

Questo è un problema di comunicazione umana. Basta parlare tra di loro. Non attraverso il codice, in prima persona.

comunicare con l'altro sviluppatore. D'accordo su uno stile di codifica che combina meglio dei due mondi?

Quando si dice "codifica stile" cosa vuoi dire la formattazione o la differenza nel modo in cui si struttura il codice?

Per quanto riguarda la codifica stile, la squadra avrebbe meritato un formattatore stile e far rispettare qualche tipo di formato prima di commettere. in questo modo si fonde, non guiderà la fusione pazzo.

Per la differenza strutturale nel codice temo non esiste una soluzione facile. Se uno è un nocciolo duro di spaghetti coder, contro un oggetto fanatica coder si dovrà sedersi a un tavolo e discutere di entrambi gli approcci e come si applicano sul vostro progetto particolare. Ricordate che non c'è una risposta assoluta, tutto dipende dal contesto. Provate anche ricorrendo a qualcuno entrambi rispetto al recommand migliori pratiche, fare revisione del codice di convalida del codice, e contribuire a determinare un approccio comune (leader tecnico o PM Tech).

  • utilizzando l'IDE in combinazione con i plugin stile-controllo (nel caso di Java - Checkstyle, PMD) il capo della squadra, o anche il responsabile del progetto (se una persona tecnica) può forzare linee guida dello stile di codice su tutta la squadra .

  • semplicemente ignorare il suo stile - ho lavorato su progetti Java in cui alcuni sviluppatori stavano mettendo le parentesi graffe su una nuova linea, e la tendenza a dimenticare gli spazi dove sono generalmente necessari - e non ho avuto alcun problema con la che dopo la settimana pugno.

  • discutere i codici-stili e compromessi, quindi applicare le funzionalità di IDE di cui al primo punto.

ho intenzione di rispondere alle “soft skills” necessarie per andare d'accordo con qualcuno che ha stile di codifica molto diverso che mi ha. In genere cerco di concentrarmi su tre semplici principi; professionalità, la fiducia e l'ego.

In termini di professionalità la sua semplice inaccettabile per semplicemente ri-scrittura o cancellare il codice di qualcuno perché il loro stile è diversa dalla vostra. Un approccio professionale sarebbe quello di prima capire il motivo per cui ritengo che le mie idee / stile / preferenze per essere migliore. Poi mi aspetterei di sedersi con l'altra persona e discutere i miei punti e, ecco la parte importante, mantenere una mente aperta. Solo perché mi piace la mia idea non vuol dire che è giusto o corretto. Un vero professionista sarà in grado e disposti ad accettare che gli altri le idee sono altrettanto preziosi e provengono da una prospettiva diversa.

Io personalmente devo fidarmi dei miei colleghi sviluppatori. Il vecchio detto è che la fiducia deve essere guadagnato, non portato e questo è vero per lo sviluppo del software. La fiducia può essere costruito su da una varietà di fonti come condivisione delle informazioni, idee e codice. Un team produttivo di solito ha un livello implicito di fiducia tra i suoi sviluppatori.

Una delle principali ragioni per cui le persone non vanno d'accordo è l'ego. Il nostro ego ci permettono di sentirci minacciati, superiore, imbarazzato e una varietà di altre emozioni umane. Lasciando da parte il nostro ego e parlare dei nostri problemi con l'altra persona è sempre un buon inizio.

Il tuo stile di codifica non è la norma. Il suo stile di codifica non è la norma. Il norma è lo stile di codifica scelto dal progetto o, a volte, l'intera organizzazione (e che dovrebbe essere documentato da qualche parte) ed entrambi si devono rispettare ad esso. Strumenti come Checkstyle (con Java) possono essere utilizzati per garantire la conformità. Se si utilizza uno strumento, distribuire il file di configurazione. distribuire anche i file per IDE di formattazione di configurazione.

Molti open source (o aziendali) progetti utilizzati questi principi (vedi ad esempio di XWiki Java Code Style , Maven codice di stile e il codice Convenzioni o Apache C Style Guide Sviluppatori Lingua ). Questo funziona per gli sviluppatori distribuiti in tutto il mondo, non me lo dica, non può funzionare per gli sviluppatori in una stessa stanza.

Se il progetto non ha norme del codice, allora è forse tempo di definire alcuni e spero solo che si sarà in grado di farlo come due adulti (in realtà, questo dovrebbe essere una decisione di squadra). Se necessario, ricordare il motivo per cui uno stile di codice unificato è importante (per una migliore leggibilità, per diff). Se, purtroppo, questo non funziona, poi hanno un boss decidere per voi.

Devo lavorare con gli sviluppatori di tutti i giorni che sono di gran lunga diversi stili di codifica per la mia e come sviluppatore, è imparare a trattare con esso.

Hai 4 scelte, - si trasformarli in - sei convertito - è proporre uno standard aziendale.- si vive con essa.

Se si tratta di qualcosa di simile aggiungendo la variabile con il tipo di discutere il punto che una variabile deve essere descrittivo abbastanza in modo che il tipo può essere dedotto.

personName vs sPersonName vs strPersonName <-- quale sceglieresti?

se intendi la formattazione, ctrl-a, k f <-- formatta il codice ben in VS :)

Trovo raro che non v'è solo un altro sviluppatore con cui sono d'accordo sugli stili di codifica, e che i diversi gruppi o progetti hanno stili differenti. Devi imparare ad adattarsi ai diversi stili di codifica.

Se ci sono solo due di voi, allora ci sono solo due di voi che hanno bisogno di essere d'accordo sullo stile di codifica comune che si intende utilizzare.

Se non si può essere d'accordo su uno stile di codifica, quindi non resta che fare con esso. Cercare di lavorare in un modo che è produttivo -. E questo significa che non riscrivere il codice di un'altra persona solo per farlo abbinano al tuo stile

Ci possono essere alcuni aspetti stilistici che sono fastidiosi, ed è meglio concentrarsi su quelli. Lo stile può facilmente trasformarsi in una discussione religiosa, quindi è spesso più efficace di concentrarsi su argomenti quantitativi o empirici per le modifiche. Eleganza e la bellezza fisica del codice non può vincere l'argomento -. Ma che mostra i casi in cui un cambiamento stilistico avrebbe guidato il debug inutili possono essere efficaci

Dipende.

Se l'altro sviluppatore non è particolarmente facile andare, quindi tendo ad andare solo con il loro stile di programmazione, anche se non sono d'accordo con esso, piuttosto che forzare la situazione - in questo caso è davvero una questione di che cosa è più a disagio , il loro stile di codifica o il dolore avrò da fare tante storie?

Se l'altro sviluppatore è più aperto allora potrei discutere di cose come la codifica / standard di denominazione (Mi auguro che cose come l'architettura complessiva saranno discusse in ogni caso)

Dovrete inventare un certo stile adatto sia per voi e bastone ad esso. E se la comunicazione è un problema, basta attenersi a un'idea: "quando scrivo il mio, io non tocco l'altro codice"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top