Qual è la differenza tra Code Smells e Anti Patterns?

-3

Sto cercando di capire la differenza tra questi due termini. In alcuni contesti questi due termini sono stati usati in modo intercambiabile. Qual è la differenza esatta tra questi due termini?

    
posta Gihanmu 03.06.2017 - 07:41
fonte

2 risposte

9

Un Odore di codice è qualcosa che dovrebbe essere studiato. È un pezzo di formaggio delizioso o è carne di maiale marcio? Un Anti-Pattern è solo cattivo, un Odore di Codice è qualcosa che può o non può essere cattivo.

Questa citazione dalla pagina Wiki è estremamente pertinente (l'enfasi è della fonte originale):

Note that a CodeSmell is a hint that something might be wrong, not a certainty. A perfectly good idiom may be considered a CodeSmell because it's often misused, or because there's a simpler alternative that works in most cases. Calling something a CodeSmell is not an attack; it's simply a sign that a closer look is warranted.

Un Anti-Pattern è un Pattern che, quando lo segui, ti porterà verso un design peggiore nello stesso in modo che un Pattern ti guidi verso un design migliore:

An AntiPattern is a pattern that tells how to go from a problem to a bad solution. […] In the old days, we used to just call these 'bad ideas'. The new name is much more diplomatic.

    
risposta data 03.06.2017 - 10:02
fonte
-3

"Gli odori del codice" sono un giudizio offensivo sul codice di qualcuno, basato sull'applicazione cieca di alcune regole senza comprenderlo. È una parola usata da alcuni programmatori anti-sociali. MAI usare questa parola in mia presenza. Non sarai felice.

Un "modello" è qualcosa che molte persone usano per risolvere qualche tipo di problema. Un "anti-pattern" è uno schema che non funziona e ti mette nei guai. "Pattern" è spesso usato anche per indicare "un modello che funziona" poiché le cose che non funzionano di solito non diventano schemi.

    
risposta data 03.06.2017 - 09:00
fonte

Leggi altre domande sui tag