Domanda

Le routine, procedure, metodi - come si chiamano loro, sono elementi importanti per noi sviluppatori. Che caratteristica singola giudichi come il più importante uno?

(Fornendo una caratteristica per ogni risposta, è possibile votare per loro singolarmente. Vale a dire lo scopo di questa domanda non è di decidere singolo fuori una caratteristica, ma piuttosto, per evidenziare tutti il quelli importanti).

È stato utile?

Soluzione

Credo che il criterio più importante sarebbe che ha un unico scopo.

Dopo di che, che soddisfi tale scopo (e solo quello scopo) correttamente.

Altri suggerimenti

Auto Commentando nomi delle procedure.

Esempi: GetStoreFromAddress GetCarsByMake

Dovrebbe essere facilmente unità testato.

Il nome della routine di mappe 12:59 alla sua funzionalità.

E 'sorprendente come spesso una funzione di X fa X e Y anche, o la maggior parte di X, ma non tutti di X.

è non unico criterio che distingue una buona routine da uno cattivo.

Tra i criteri sono i seguenti:

  • l'integrità concettuale: lo fa qualcosa che può essere descritto in un semplice forma breve, una frase o paragrafo;
  • accoppiamento lasco: il suo comportamento non è sensibile a ciò che accade nel codice intorno ad esso;
  • dimensioni ragionevoli: lunghe routine sono più difficile da leggere e capire, e hanno meno probabilità di avere una buona integrità concettuale;
  • criterio di Parnas: essi "nascondono" una cosa che può cambiare, in modo che Requisiti modifiche hanno limitato effetto sul resto del sistema.

progettato per essere facilmente letto e compreso dagli esseri umani - senza che in luogo è molto più difficile di modificarlo per avere tutti gli altri attributi meravigliosi che saranno elencati qui

Numero di cose che cerca di fare.

Se questo non è esattamente 1 allora probabilmente hanno un problema.

Non dovrebbe avere inaspettati effetti collaterali.

buona gestione degli errori (affidabilità)

brevità

(questo doveva essere una risposta semi-divertente, ma così non sarebbe lasciare che essere post la parola da sola!)

Deve essere atomica

righe di codice.

Si dovrebbe tenere traccia del numero di modifiche richieste dopo la routine è stato messo in uso. Una routine di 'buono' è uno con poche modifiche necessarie. Una routine di 'cattivo' sicuramente si dimostra in modo che quando ci sono un sacco di correzioni necessarie.

Questo può essere facilmente realizzato con un commento intestazione di ogni chiamata di metodo che viene aggiornata dopo ogni modifica.

Si fa una cosa o delegati più cose ad altre funzioni

Clarity - Facile da capire

Credo che questo è più facile rispondere se si considera routine come parte di un'API. Non ci sono molte routine che si distinguono da sola, almeno non in un sistema veramente utile. Così onestamente, penso che le cose più importanti da considerare quando si scrive routine sono:

  1. Intuitività Come intuitiva è la mia serie di istruzioni - sarà la gente a capire lo scopo, senza dover guadare attraverso un sacco di documentazione

  2. ortogonalità Come ortogonali sono la mia routine? Fa ogni compiere un determinato compito, o non ci sono più (ma leggermente diversi) modi di fare la stessa cosa? Se ci sono, questo è male, e l'API probabilmente ha bisogno di essere ridisegnato.

  3. Compattezza Come gran parte della API ci vuole per ottenere semplici compiti fatto? Ho bisogno di imparare un sacco di cose per ottenere qualcosa, o posso bastare con solo un paio di routine che fanno qualcosa intuitivo e potente? È necessario valutare i compromessi di questo con l'ortogonalità di trovare un buon equilibrio per il particolare dominio.

Dal nome di routine, si può dire che cosa fa la routine (e quando si controlla il codice, ti rendi conto che avevi ragione; -)

La routine utilizza un livello costante di astrazione in tutto.

Direi ben documentato (e in realtà applicata) le condizioni pre e post.

Un unico punto di ritorno

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