Qual è l'opposto di coesivo?

4

Stavo parlando con il mio architetto di alcune preoccupazioni relative a un particolare approccio che può comportare un livello molto basso di coesione in un insieme di classi. Tuttavia, non riuscivo a pensare alla parola che rappresenta un basso livello di coesione.

Ho detto qualcosa sulla falsariga di "Ovviamente, vogliamo classi coese non ... uh ... non classi coesive"

Qual è la parola corretta che avrei dovuto usare?

    
posta Justin Self 05.10.2012 - 23:54
fonte

7 risposte

11

Secondo Wikipedia ,

Cohesion is an ordinal type of measurement and is usually expressed as “high cohesion” or “low cohesion” when being discussed.

Quindi penso che la frase diventi "Ovviamente, vogliamo classi molto coese, non classi con bassa coesione".

    
risposta data 05.10.2012 - 23:58
fonte
4

Personalmente, probabilmente userò "disgiunto" per significare l'opposto di "coesivo" se stessimo cercando una descrizione colloquiale e qualitativa.

    
risposta data 06.10.2012 - 00:00
fonte
1

However, I couldn't think of the word that represents a low level of cohesion.

Le persone usano termini come "bassa coesione" o "alta coesione", sebbene la definizione di entrambi sia discutibile. Tecnicamente la coesione può essere vista come ( Wikipedia ),

  • Coesione coesiva (peggiore) - La coesione coesiva è quando le parti di un modulo sono raggruppate in modo arbitrario; l'unica relazione tra le parti è che sono state raggruppate insieme (ad esempio una classe "Utilità").

  • Coesione logica: la coesione logica è quando le parti di un modulo sono raggruppate perché logicamente sono categorizzate per fare la stessa cosa, anche se sono diverse per natura (ad esempio raggruppando tutte le routine di gestione degli input del mouse e della tastiera). / p>

  • Coesione temporale: la coesione temporale è quando le parti di un modulo vengono raggruppate quando vengono elaborate - le parti vengono elaborate in un momento particolare nell'esecuzione del programma (ad esempio una funzione chiamata dopo aver catturato un'eccezione che si chiude aperta file, crea un log degli errori e notifica all'utente).

  • Coesione procedurale: la coesione procedurale è quando le parti di un modulo sono raggruppate perché seguono sempre una determinata sequenza di esecuzione (ad esempio una funzione che controlla le autorizzazioni dei file e quindi apre il file).

  • Coesione comunicazionale: la coesione comunicazionale avviene quando parti di un modulo sono raggruppate perché operano sugli stessi dati (ad esempio un modulo che opera sullo stesso record di informazioni).

  • Coesione sequenziale: la coesione sequenziale è quando le parti di un modulo sono raggruppate perché l'output di una parte è l'input di un'altra parte come una catena di montaggio (ad esempio una funzione che legge i dati da un file ed elabora i dati) .

  • Coesione funzionale (migliore): la coesione funzionale è quando le parti di un modulo sono raggruppate perché tutte contribuiscono a un singolo compito ben definito del modulo (ad esempio, la tokenizzazione di una stringa di XML).

What's the opposite of cohesive?

I said something along the lines of "Obviously, we want cohesive classes not... uh ... not cohesive classes"

Non opposto, cioè, non "non coesivo" o "non coeso" ecc.

    
risposta data 06.10.2012 - 07:00
fonte
1

Robert C. Martin fa apparire il termine " fragile design" in connessione con SRP : Il principio di responsabilità unica :

If a class has more then one responsibility, then the responsibilities become coupled. Changes to one responsibility may impair or inhibit the class’ ability to meet the others. This kind of coupling leads to fragile designs that break in unexpected ways when changed.

Definisce la fragilità come:

Closely related to rigidity is fragility. Fragility is the tendency of the software to break in many places every time it is changed. Often the breakage occurs in areas that have no conceptual relationship with the area that was changed. Such errors fill the hearts of managers with foreboding. Every time they authorize a fix, they fear that the software will break in some unexpected way.

As the fragility becomes worse, the probability of breakage increases with time, asymptotically approaching 1. Such software is impossible to maintain. Every fix makes it worse, introducing more problems than are solved.

Such software causes managers and customers to suspect that the developers have lost control of their software. Distrust reigns, and credibility is lost.

( Principi di progettazione e modelli di progettazione )

Il termine "fragile" come una decrizione di una classe si verifica anche nel problema della classe base fragile .

    
risposta data 06.10.2012 - 11:53
fonte
0

Se non ti piace "disgiunto", suggerirei "incoerente". L'esatto contrario, "coerente", sembra simile al significato di "coesivo" nel contesto dell'architettura dei sistemi.

Mi piace anche "incoerente" perché suggerisce una mancanza di coordinamento tra le parti disparate.

    
risposta data 06.10.2012 - 00:48
fonte
0

"Refractory" significa

  1. Obstinately resistant to authority or control.
  2. Difficult to melt or work; resistant to heat (w.r.t. metal working)

Se le tue classi sono refrattarie , allora non funzionano correttamente insieme, ed è difficile per i manutentori entrare e apportare modifiche che abbracciano molte classi.

Questo sembra essere un buon esempio per il senso di "coesione" che stai usando: uniti in un modo ben funzionante e ordinato.

    
risposta data 06.10.2012 - 08:30
fonte
0

Google ripugnante e ottieni: repellente (tra gli altri).

Poiché ogni "classe" sembra avere un peso equivalente rispetto alle altre, una reciproca o "energia di pari" sarebbe in ordine. "le classi repellenti" sembrano girare abbastanza bene la lingua.

    
risposta data 07.10.2012 - 03:38
fonte

Leggi altre domande sui tag