Determina la migliore pratica di codifica

8

Come nuovo programmatore, è sempre stato difficile creare applicazioni, perché sono ancora in fase di apprendimento.

Comprendo che per ottenere un particolare effetto o funzione in un'applicazione, ci saranno numerosi modi per ottenere lo stesso risultato.

Tuttavia, dovrei semplicemente creare una funzione per il suo stato di funzionamento, il che significa che finché funziona, proprio come voglio io, allora dovrebbe andare bene.

Qualcuno dei programmatori di livello superiore può gentilmente farmi sapere il modo giusto di fare le cose?

    
posta footprint. 29.08.2011 - 23:01
fonte

7 risposte

4

Ci sono diversi standard di codifica "conosciuti" che puoi guardare. Ad esempio, per lo sviluppo C integrato - MISRA C sarebbe un buon inizio. Questo è un bel standard di codifica C ++. Probabilmente ce ne sono altri disponibili per altre lingue.

Alla fine ha un sacco di buon senso e pratiche comuni, lo ottieni con l'esperienza. Naturalmente, i luoghi di lavoro hanno i loro standard di codifica (o almeno dovrebbero avere) a cui si dovrebbe aderire.

    
risposta data 29.08.2011 - 23:20
fonte
4

Il mantra che ripeto ai miei sviluppatori junior è "Fallo funzionare, quindi rendilo carino". Il tuo codice dovrebbe seguire uno standard per la denominazione e cosa no. Uso le linee guida per la struttura del framework quando scrivo C # con una eccezione: inserisco sempre un _ prima del nome di un membro privato. Li trova molto più semplici.

Ad ogni modo, c'è una seconda domanda qui. E questo è come migliorare il codice che hai scritto. Indicherò Pulisci codice e Triple P come deve leggere per gli sviluppatori che desiderano imparare a codificare meglio.

    
risposta data 29.08.2011 - 23:53
fonte
4

Siamo tutti ancora in fase di apprendimento. Durerà per sempre.

Penso che il modo migliore per migliorare le tue conoscenze sia imparare dal codice di altri o fare una programmazione di coppie con profili più alti di te.

Pertanto, dovresti fare quanto segue:

  • Richiedi la revisione o la programmazione delle coppie attivamente. Non aspettare che ti venga proposto. Se sei uno sviluppatore solista, prendi in considerazione piattaforme di revisione online .

  • Leggi tutto il codice che puoi. È così che imparo molte delle funzionalità del framework .NET. "Oh non sapevo di poterlo fare in una sola riga di codice!". È come romanziere che prendono le loro idee da altri autori. Non sai dove guardare? Scegli un progetto open source casuale e naviga in esso, proprio come fece Stanley Kubrick per ottenere la sua ispirazione : andare in biblioteca e selezionare QUALSIASI libro in QUALUNQUE categoria.

In one Kubrick’s biographies he is described as using a simple method to expand his knowledge base. He would visit his library and select random books from random information categories, without even looking at the titles. He would then force himself to read those books. By doing this Stanley was forcing his mind to expand into new territory on a regular basis.

Per imparare ancora più rapidamente, metti in pratica ciò che vedi, nel tuo codice o in progetti di campioni. Aiuterà molto a memorizzare.

L'apprendimento è probabilmente ciò che ci guida tutti nella programmazione. È un'esplorazione perpetua.

    
risposta data 30.08.2011 - 10:47
fonte
2

Realisticamente, non è possibile appropriarsi degli standard di codifica degli altri. Questo perché hanno dei requisiti che probabilmente non lo fanno. Ad esempio, guarda la guida di stile C ++ di Google. In questo modo non perché produce un buon C ++, ma esattamente l'opposto, perché produce un C ++ terribile in stile C in modo che possano interagire con il loro codice C precedente.

L'unico modo per sviluppare realisticamente degli standard di codifica validi è quello di ereditarli da qualcuno che ha già lavorato alla base di codici per un lungo periodo di tempo, o di imparare dalle proprie esperienze difficili lavorando su di esso.

Dovresti progettare prima, poi codice. Correre nella programmazione è una cattiva abitudine. Ma non renderlo bello, è solo una perdita di tempo.

    
risposta data 30.08.2011 - 00:02
fonte
0

Alcuni buoni modi per migliorare sono:

  • lettura di libri
  • lavorare in un team, sotto l'autorità di sviluppatori esperti

Non ci dai molte informazioni per aiutarti più precisamente ...

    
risposta data 29.08.2011 - 23:36
fonte
0

Vorrei affrontare i miglioramenti da diverse direzioni:

Utilizza alcuni strumenti / plug-in che ti danno un feedback immediato durante la programmazione, in modo che tu possa rendere il tuo codice più leggibile, utilizzabile, robusto, performante, corretto. Ad esempio in Java, potresti usare checkstyle, PMD, Findbugs

Scrivi test: da solo migliora il tuo processo di sviluppo e ti fornisce una rete di sicurezza quando stai sperimentando e cercando di migliorare il tuo codice, ad es. da refactoring.

Utilizza le metriche per verificare i risultati e ottenere ulteriori suggerimenti. Ad esempio in Java, te è jdepend, metriche, JavaNCSS, EclEmma.

Ottieni nuove idee e informazioni

  • lettura di libri
  • revisione del codice
  • coppia programmazione
  • parlando con altri sviluppatori, ad es. sulle riunioni borsa marrone / pause pranzo
  • ascolta i podcast
  • leggi i messaggi di stackexchange.
risposta data 03.09.2011 - 22:09
fonte
0

Personalmente sono fan dello standard High Integrity C ++ .

Le regole sono estremamente obiettive, per esempio non esiste una convenzione di denominazione.

3 Class

3.1 General

High Integrity CPP Rule 3.1.1 Organise 'class' definitions by access level, in the following order: public, protected, private. (QACPP 2108, 2109, 2191, 2192, 2195)

Justification Order by decreasing scope of audience. Client program designers need to know public members; designers of potential subclasses need to know about protected members; and only implementors of the class need to know about private members and friends.

class C // correct access order
{
public: // ...
protected: // ...
private: // ...
};

Reference Industrial Strength C++ A.12, A.13;

    
risposta data 04.09.2011 - 19:12
fonte