Posizione delle soluzioni di sviluppo su disco - Comune o fino all'individuo

2

Nel nostro team riunito oggi un membro anziano ha presentato la proposta che dovremmo avere una posizione / struttura comune per le nostre soluzioni di sviluppo.

Un paio dei suoi punti erano:

  1. Rendendolo comune significa che quando si parla di progetti e posta elettronica, tutti sono sulla stessa lunghezza d'onda e sanno dove cercare.
  2. Se c'è mai la necessità di codificare un percorso di localizzazione, funzionerà su tutti i PC degli sviluppatori.

Aveva alcuni punti in più per confermare il suo suggerimento, ma sfortunatamente mi sono distratto durante la discussione e quindi non li ho sentiti tutti. Non ho alcun problema con l'idea e posso vedere i suoi meriti ma mi stavo chiedendo se è comune o addirittura raccomandato che tutti gli sviluppatori inseriscano il loro codice nella stessa struttura di cartelle. Oppure agli sviluppatori piace avere la flessibilità delle soluzioni di localizzazione dove vogliono? Al momento utilizziamo SVN per il controllo della versione.

In questo caso il suo consiglio era di inserire tutto il codice in:

c:\Work\Development\<Customer>\<project>\Code\<solution>\ the code

Suppongo che il percorso effettivo sia irrilevante per questa domanda ma aggiunto per completezza.

    
posta dreza 04.12.2012 - 23:36
fonte

3 risposte

6

Suggerirei di non applicare o applicare uno standard di questo tipo perché l'unico vantaggio è che consente di nascondere i problemi nella base di codice in cui tutto funziona utilizzando questo percorso codificato fino a quando il programma non viene distribuito su un sito client e continuano a ricevere un errore

FileNotFoundException 'c:\work\Development\...

La gente dice che contribuirà a costruire il sistema perché è possibile codificare in modo rigido questi percorsi, ma ciò che si finisce quando si hanno elementi codificati nel sistema di build è una crescita lenta di spazzatura fissa che rende più difficile per voi ristrutturare o refactoring del tuo sistema. In definitiva questi bit codificati nei sistemi di compilazione devono sempre essere sostituiti nel tempo e non sono necessari.

Quindi c'è un rischio, e i potenziali benefici sono esattamente? Ho visto questo provato nei luoghi in cui ho lavorato e ho visto emergere questi errori e devo ancora vedere un singolo vantaggio in quei luoghi ...

    
risposta data 05.12.2012 - 00:08
fonte
7

Direi che la particolare configurazione dello sviluppatore è verso lo sviluppatore. Non sono sicuro di essere d'accordo con "tutti sulla stessa lunghezza d'onda" - mi sembra un po 'vago, e questo non è mai stato sollevato in nessuna azienda a cui abbia mai lavorato. Ma niente di tutto ciò mi importava particolarmente, fino a quando non ho letto questo:

If there is ever the need to hard code a location path then it will work across all developers pc's.

Non ho mai trovato la necessità di codificare un percorso di localizzazione, a parte il codice prototipo, che normalmente non verrebbe mai commesso (o almeno non nel ramo di sviluppo condiviso). Ogni libreria di linguaggio di programmazione standard dovrebbe avere un metodo per ottenere la posizione del file binario attualmente in esecuzione.

A volte, questo non è possibile, ad esempio un negozio di documenti per un'applicazione web. In tal caso, è possibile utilizzare un file di configurazione per indirizzare l'applicazione nella posizione corretta. Ancora una volta, la maggior parte delle librerie di linguaggio di programmazione standard avrà qualcosa di appropriato per risolvere questo problema con il minimo sforzo.

I percorsi hard-coding porteranno solo a problemi successivi. Cosa succede se la tua applicazione verrà distribuita su un server che ha il suo enorme array RAID sull'unità D:? Manterrai due rami separati per questo? Ti ricorderai di modificare un file sorgente ogni volta che distribuisci una nuova versione? Sarei molto interessato a conoscere un caso d'uso che richiederebbe questo.

    
risposta data 05.12.2012 - 00:08
fonte
3

Non penso che sia davvero importante dove va il set di lavoro di un determinato sviluppatore. Il sistema di controllo del codice sorgente può ancora tenerne traccia. Visual Studio li inserisce

c:\documents and settings\<user name>\My Documents\Visual Studio 20xx\Solution folder

Dove <user name> differisce per ogni sviluppatore.

    
risposta data 04.12.2012 - 23:48
fonte

Leggi altre domande sui tag