suggerimenti, linee guida, punti da ricordare per il rendering del codice professionale? [chiuso]

2

Sto parlando di dare ai clienti un codice dall'aspetto professionale. I nove metri interi, tutto ciò che i programmatori esperti di hardcore hanno qui molto probabilmente fanno quando codificano come freelance o per la compagnia in cui lavori.

Sono appena uscito dal college e ho iniziato a lavorare come freelance. Voglio solo essere sicuro che i miei primi progetti lascino un buon retrogusto di professionalità impresso nella mente dei clienti.

Quando ho cercato su Google ciò che sto chiedendo qui, mi hanno dato pagine che mostravano vari siti Web e strumenti che ti permettevano di creare siti web e modelli appariscenti, ecc. $N package e cose del genere.

Non riesco a ricordare la parola che gli esperti usano per questo. Standard, quadro [so che non è così]. L'inglese non è la mia prima lingua, quindi mi dispiace non conoscere la frase esatta per questo.

Questo modo astratto di scrivere il codice in modo tale da non essere visto come un programmatore sciatto.

Il modo sopra menzionato per la programmazione di siti Web e software desktop [in python / C / C ++ / Java] .

EDIT: Posso lavorare sulla vasta conoscenza accumulata, sul know-how e sulla costruzione della logica, ecc., quello che sto chiedendo è lo standard di programmazione / le linee guida che voi seguite in modo che il cliente vedendo il codice pensi che sia una soluzione professionale . Come i blocchi di commenti, uno stile di indentazione particolare qualcosa del genere. C'è un libro o un elenco specifico di punti per la codifica del tipo di impresa da loro? Soprattutto qui come nel mio caso, per la costruzione di siti web [php per ora ..] e software desktop [c / c ++ / java / python]

    
posta bad_keypoints 16.12.2012 - 17:03
fonte

7 risposte

7
  • La coerenza è il re. Scegli uno standard di denominazione / capitalizzazione e seguilo. Se sei sicuro, creane uno tuo, ma sarà molto più semplice se prendi uno standard già esistente
  • Commenta le tue funzioni spiegando cosa stanno cercando di fare. Non è ciò che fa ogni riga di codice ma più come "questa funzione prende 2 numeri, li moltiplica e restituisce il risultato"
  • Raggruppa le funzioni pertinenti insieme in classi ben definite - non è così facile come sembra
  • Ottieni la registrazione degli errori che si verifica all'inizio del progetto e registra i log DEBUG, INFO, WARN e ERROR
  • Ottieni l'infrastruttura di gestione degli errori che si verifica all'inizio del progetto, quindi è coerente
  • Non intonacare il tuo nome su tutto il tuo codice o inserire commenti stupidi nel tuo codice (come "// avviso, questo è un hack perché Y sux"). Non usare oscenità o linguaggio razziale, ecc. Suoni troppo evidenti? Saresti sorpreso.
  • Non esagerare nel tuo design !! Solo perché vuoi che sia professionale non significa che deve avere 6 livelli e un milione di classi. Mantieni la semplicità!
  • Non reinventare la ruota. Molto comune per i giovani laureati. Usa le librerie che hanno già fatto il lavoro per te!
  • Se stai facendo cose sul web, separa il tuo CSS e Javascript per separare i file. Mantieni il tuo Javascript semplice.
  • Scrivi test unitari - tieni comunque semplice
  • Se stai parlando con un database, crea un progetto di database che estrae il materiale di DB dal tuo front-end.
  • Utilizzare uno strumento di gestione delle revisioni del codice sorgente. Quale? Ognuno di loro, basta usarne uno.
  • Mantenere le dimensioni del file di codice piccole. Le opinioni variano, ma credo che qualsiasi cosa oltre 1000 righe debba essere suddivisa in file più piccoli.
  • Non codificare i percorsi del file system, i nomi dei server o i "numeri magici". Usa percorsi relativi, metti i nomi dei server in un file di configurazione e usa le costanti.
  • Utilizza URL relativi.
  • Cattura tutti gli errori possibili in fase di compilazione, se possibile. Rende più facile la pulizia del tuo codice.
  • Non aver paura delle cose da refactoring.
  • Non "ottimizzare" il tuo codice se non ha bisogno di essere ottimizzato. L'ottimizzazione prematura renderà il tuo codice un disastro. Non fare niente di stupido come leggere 10 gig di dati nella ram.
  • Archivia solo le cose se necessario. Mantieni la semplicità.

Alcune altre cose non programmabili che dovrai imparare:

  • Come stimare e pianificare il progetto. Le persone ti chiederanno un preventivo, sii pronto.
  • Documenta i requisiti dei clienti. Ciò renderà le cose più facili per te e per loro.
  • Chiedi a qualcuno (preferibilmente esperto) di rivedere il tuo codice dopo aver scritto una settimana o due. Ci vorranno solo pochi minuti per dare un'occhiata a tutto ciò per indicare cosa sarà ovvio per loro ma non per te.
  • Scopri i modelli di design, ma non utilizzarli in modo eccessivo per il gusto.
  • Effettua il backup dei tuoi contenuti.
  • Tieni traccia di bug, problemi e richieste di funzionalità in qualche modo (sono tutte cose diverse). Solo un file di testo va bene, ma in entrambi i casi lo fanno. Qualcuno alla fine te lo chiederà.
  • Tieniti aggiornato con framework / librerie in modo che non stai facendo le cose in un modo molto vecchio che può essere fatto più veloce e più facile con una nuova libreria. Se sembra difficile, probabilmente c'è (si spera) un modo molto più semplice di fare le cose.
  • Se c'è qualche logica complicata in corso, documentala in qualche modo con un diagramma di flusso o semplicemente scrivilo in inglese. Non aspettarti che qualcuno impieghi 2 giorni per provare a decodificare il tuo codice.

Suggerirei anche che quando sei appena uscito dal college non riuscirai a fare le cose per bene la prima volta, né la seconda volta (nessuno di noi lo fa). Il mio consiglio sarebbe quello di provare ad unirmi a un team di sviluppatori esperti, imparare per loro, e poi, qualche anno dopo, prendere in considerazione il freelance. Ma hey se vuoi metterti dentro buona fortuna:)

    
risposta data 17.12.2012 - 02:34
fonte
3

Piuttosto, poi, formare una convinzione su cosa significhi "essere professionale". Riconosco i tuoi clienti con convinzioni particolari e personalizzandoti su di loro. Il modo migliore per scoprire quello che vogliono è chiedere loro. Questo è un buon consiglio in ogni relazione.

La leggibilità e il codice efficace spesso vanno di pari passo e entrambi fanno parte di una soluzione migliore. Credo che potresti ottenere risultati migliori imparando cosa puoi fare per migliorare la pubblicazione di alcune delle tue soluzioni sulla revisione del codice e il fatto che le persone diano consigli specifici.

    
risposta data 16.12.2012 - 17:40
fonte
2

what i'm asking for is the programming standard/guidelines you guys follow so that the client on seeing code feels that its a professional solution

  1. Da prospettiva del cliente e del progetto - ponendo domande, chiarendo le esigenze del cliente, seguendo gli standard applicativi preesistenti (se stai supportando e migliorando un'applicazione esistente), documentando il tuo codice e migliorando tutti questi passaggi, se necessario.

  2. Per lo sviluppo professionale - questo mi sembra una necessità di continuare ad imparare, usare, praticare e padroneggiare il tuo Principi SOLID . La strada da percorrere per creare applicazioni ROCK SOLID.

NOTA: Tuttavia, fa davvero la differenza su quale tipo di applicazioni stai lavorando. Il mio consiglio è per lo sviluppo di applicazioni a livello aziendale, ad alte prestazioni e scalabili .

Siamo tutti entusiasti degli standard di codifica come KISS e YAGNI . Sono facili da ricordare e da seguire, per quanto stiamo cercando di migliorare voi stessi. Quindi, è un processo in continua evoluzione da seguire.

References:

risposta data 16.12.2012 - 17:40
fonte
0

La tecnica più elementare dà il massimo al botto. Moduli monouso. Potrebbe sembrare un po 'troppo ovvio e semplice, ma i moduli a scopo singolo ti danno un buon codice. È metà della battaglia.

I moduli potrebbero venire sotto forma di funzioni, classi, progetti separati compilati alla DLL, una macro di livello del codice sorgente, ecc.

Separa le cose fino a quando non sono monouso, quindi possono essere riutilizzate.

    
risposta data 16.12.2012 - 17:50
fonte
0

Leggi Codice completo di Steve McConnell. Applicare i suoi principi su ogni riga di codice, letteralmente.

I miei migliori momenti "ah-ha" nell'eccellenza della codifica sono stati quando ho rielaborato il codice particolarmente cattivo e ho avuto un sorprendente, prima e dopo l'immagine, per così dire.

Scoprirai che applicare i principi di codifica è un atto di equilibrio sinergico, che le linee guida più banali sono importanti e che il codice sbriciola una modifica povera e pigra alla volta.

    
risposta data 06.01.2013 - 08:10
fonte
0

Se vuoi dare alla tua base di codice un aspetto "professionale", una buona idea è farla seguire da una serie particolare di linee guida / convenzioni / standard pubblicati. Ad esempio, un progetto basato su Java potrebbe seguire le Convenzioni sui codici Java di Oracle. Utilizza un IDE con un formattatore di stili di codice automatico (ad esempio Eclipse) per garantire che nessun codice venga mai eseguito il commit che non segue lo stile scelto del progetto.

    
risposta data 06.01.2013 - 09:55
fonte
0

Potresti prendere in considerazione la lettura di un libro come "L'arte del codice leggibile" , di Dustin Boswell e Trevor Foucher .

Inoltre, quando impari un nuovo linguaggio di programmazione, non inventarti il tuo stile . Segui lo stile stabilito (denominazione dell'identificatore: underscore, camelCase, indentazione, ecc.) Utilizzato da persone più esperte. Soprattutto, sii coerente.

I tuoi commenti di linea rispondono alle domande "Perché?" e "Come?", non tanto "Cosa?". Ad esempio, se si utilizza un algoritmo insolito, citare la sua pagina wikipedia. Se attraversi un array dall'ultimo al primo anziché dal primo all'ultimo, spiega la tua ragione. Ti ringrazierai 6 mesi dopo leggendo il tuo codice.

Utilizza schemi di programmazione consolidati come quelli elencati in "Modelli di design" , di "Gang of Four", e, in casi complicati, cita quale schema (i) usi.

    
risposta data 06.01.2013 - 14:50
fonte

Leggi altre domande sui tag