Quali sono le migliori pratiche in OOP?
Ciao,
la mia migliore risposta alla tua domanda avrebbe dato una lista di cattive pratiche – ciò che si shouldn &'; t fare:
pratiche Peggiore
Questo post enumera alcune delle pratiche peggiori che si dovrà stare attenti a non utilizzare
Dalla categoria di. “ non pensate nemmeno per fare questo &"; qui ci sono alcuni cattivi esempi di codice incontrati:
ritorna metodo Finder oggetto
Problema: a seconda del numero di occorrenze trovato il metodo finder restituisce un numero che rappresenta il numero di occorrenze – o! Se solo una trovata restituisce l'oggetto reale
Don &';. T fare questo! Questo è uno dei peggiori pratiche di codifica e introduce ambiguità e scompiglia il codice in modo che, quando uno sviluppatore diverso entra in gioco lei o odierà voi per fare questo
. Soluzione: Se &'; sa necessità per tali 2 funzioni: conteggio e recupero un'istanza fare creare 2 metodi quello che restituisce il conteggio e quello che restituisce l'istanza, ma mai un solo metodo di fare entrambe le direzioni
Problema:. Una pratica cattiva derivato è quando un metodo finder restituisce quella singola occorrenza può trovare sia una serie di eventi se più di una trovata. Questo stile di programmazione pigro è fatto alot dai programmatori che fanno il precedente in generale
Soluzione:. Avere questa sulle mie mani mi piacerebbe ritornare un array di lunghezza 1 (uno) se viene rilevato un unico evento e un array con lunghezza > 1 se più occorrenze trovate. Inoltre, non trovando occorrenze affatto sarebbe restituire null o un array di lunghezza 0 a seconda dell'applicazione
La programmazione a un'interfaccia e l'utilizzo di tipi restituiti covarianti
Problema:. Programmare a un'interfaccia e utilizzare covariant tipi restituiti e gettando nel codice chiamante
. Soluzione: utilizzare invece lo stesso supertipo definito nell'interfaccia per la definizione della variabile che dovrebbe puntare al valore restituito. Ciò mantiene la programmazione di un approccio di interfaccia e il codice pulito.
Le classi con più di 1000 linee sono un pericolo in agguato
Metodi con più di 100 linee sono un pericolo in agguato troppo!
Problema: Alcuni sviluppatori roba troppo funzionalità in una classe /metodo, essendo troppo pigro per rompere la funzionalità – questo porta a bassa coesione e magari di accoppiamento alto – ! l'inverso di un principio molto importante in OOP
Soluzione: evitare l'uso eccessivo classi &ndash interne /annidata; queste classi devono essere utilizzati solo su una base per necessità, è don &'; t hanno a che fare l'abitudine di utilizzarli! Il loro utilizzo potrebbe portare a ulteriori problemi come la limitazione eredità. Ricerca di codice duplicato! Lo stesso o troppo simile codice potrebbe già esistere in qualche implementazione supertipo o forse in un'altra classe. Se &'; s in un'altra classe, che non è un supertipo anche violato la regola della coesione. Attenzione per i metodi statici – forse avete bisogno di un classe di utilità per aggiungere
Metodi di avere meno parametri o per niente are Porcellana meglio
Problema: i programmatori pigri aggiungere un altro parametro invece di sovraccaricare un metodo o semplicemente creare un altro metodo diverso per una funzionalità più complesso
Soluzione:. Ricordare delega potrebbe essere utilizzato anche su metodi stessa classe non solo in metodi in classi diverse. E &'; s meglio sovraccaricare una classe che prende il parametro e delegati le stesse funzionalità di un metodo già esistente invece di aggiungere un parametro in più per un metodo o – fare un altro metodo se che &'; s il caso
I programmatori di Naughty usano riflessione di accedere ai beni non accessibili
Problema:. Come sapete, utilizzando la riflessione consente di accedere campi non accessibili e /o metodi e ci sono una classe di sviluppatori che utilizzano che oltre a un eccezionale caso solo
Soluzione:. Chiudere farlo! I modificatori sono stati messi lì per un motivo, don &'; t tenta di utilizzare il valico di api sopra i limiti fissati dagli sviluppatori originali, da quando sono stati messi lì per un motivo e &';. Non è il vostro lavoro per fare il loro
utilizzati farmaci generici. Don &'; t creare uno stufato, invece di qualche codice
Problema:. Chiudere l'uso non-tipo di espressione di sicurezza, smettere di inserire i funghi insieme con gli uccelli e il vino perché si &'; re non dovrebbe creare un piatto speciale per la cena, ma un codice ben scritto
Soluzione: utilizzare farmaci generici –. sono un livello di sicurezza in più per scrivere del buon codice pulito. Stanno per essere spogliato dopo il processo di compilazione, in modo che nessun overhead delle prestazioni lì.
Uso collezioni invece di array libere o strutture di dati su misura. Don &'; t reinventare la ruota
Problema: Alcuni sviluppatori, come reinventare la ruota.. . Ci &'; s niente di sbagliato nell'amare per creare, ma ci &'; sa linea sottile tra creazione e ri-creazione solo per il gusto di creazione
Soluzione: Invece di utilizzare le matrici è possibile utilizzare le classi di raccolta specializzati che si sono specializzati algoritmi per vari ha bisogno: l'ordinamento, l'inserimento, in coda, analisi ecc consente di risparmiare il tempo di ri-applicazione, vengono già testati e dimostrato di funzionare senza problemi e si basano su algoritmi ben noti per ottenere le migliori prestazioni. Non riscrivere i tuoi implementazioni personali solo se si è obbligati rigorosamente dai vostri requisiti applicativi e ci &'; s alcuna implementazione già esistente nel api
Altro
http://centraladvisor.com
B /
. .
apprendimento accelerato
- E 'il potere della suggestione Effettuare la vita migliore & Premiare voi con ricchezza?
- Ottenere Servizi di Sviluppo Web di qualità con gli sviluppatori dedicati
- Redazione Servizi
- Come Sciogliere, distruggere e Chew-up ansia e stress
- I vantaggi di un corso di lettura
- Come software Dettagli di recupero di computer fare il lavoro per recuperare i Dettagli
- Opportunità nascoste per più venduti Autori
- *** Le quattro Insider chiavi per il successo di apprendimento accelerato
- Tratti della personalità di una grande infermiera
- Le migliori consigli per Academic Module scrivere per IELTS
- Migliorare la memoria con cinestetica strategie di apprendimento
- Scrivere la mia scrittura Term Paper
- Migliorare la sua concentrazione Pernottamento
- Perché si dovrebbe non prestare attenzione a Einstein
- EyeQ: Pratica profonda per il cervello
- Può Neurofeedback Make You Smarter?
- Che cosa ha detto Einstein sulla vita senza menzionare Relatività.
- Utilizzando tecniche subliminali per velocizzare la fase di apprendimento Powers
- 3 modi per aumentare il vostro Brain Power
- Perché si dovrebbe spingere te stesso per accelerare.