Termine per le caratteristiche accidentali [chiuso]

4

Nonostante le migliori intenzioni dei programmatori; spesso, nel mondo reale, i sistemi software contengono "caratteristiche accidentali" che sono accettate come parte di un sistema funzionante.

Ad esempio, potrebbe esserci qualche processo che esaurisce la memoria e si blocca prima che il processo superi la sua quota per le chiamate a un sistema esterno (che costerà i soldi della società). Sebbene il team del software riconosca che questo è un problema, semplicemente non c'è abbastanza valore aziendale percepito per risolvere il problema.

Un comportamento accidentale vantaggioso come questo spesso si perde in qualsiasi tipo di migrazione tecnica significativa.

La mia domanda: Esiste un termine per questo tipo di "caratteristica" che può servire a differenziarlo da un bug run-of-the-mill?

    
posta smp7d 07.04.2013 - 21:42
fonte

5 risposte

18

Il Programmatore Pragmatico chiama questi Accidents of Implementation . Questo termine si spera che assicuri che la situazione non sarà confusa con qualcosa di diverso da ciò che è in realtà.

"Gli incidenti di implementazione sono cose che accadono semplicemente perché è il modo in cui il codice è attualmente scritto. Finisci per affidarti a errori non documentati o condizioni al contorno."

(Suppongo che avrei dovuto consultare il canone dello sviluppatore prima di porre questa domanda)

    
risposta data 08.04.2013 - 16:46
fonte
11

Li chiamo "funzioni non documentate" .

È un po 'ironico quando tale caratteristica è ovviamente un bug, ma è abbastanza ampia da poter essere utilizzata per funzionalità sperimentali o funzionalità incluse per la compatibilità all'indietro.

Generalmente non è una buona idea far sapere ai tuoi clienti che la funzione è stata un incidente. Se ai clienti piace, documentalo per la prossima versione.

    
risposta data 07.04.2013 - 22:11
fonte
11

Li chiamerei " caratteristiche emergenti ".

In philosophy, systems theory, science, and art, emergence is the way complex systems and patterns arise out of a multiplicity of relatively simple interactions. Emergence is central to the theories of integrative levels and of complex systems...

The term "emergent" was coined by philosopher G. H. Lewes, who wrote:

"Every resultant is either a sum or a difference of the co-operant forces; their sum, when their directions are the same -- their difference, when their directions are contrary. Further, every resultant is clearly traceable in its components, because these are homogeneous and commensurable. It is otherwise with emergents, when, instead of adding measurable motion to measurable motion, or things of one kind to other individuals of their kind, there is a co-operation of things of unlike kinds. The emergent is unlike its components insofar as these are incommensurable, and it cannot be reduced to their sum or their difference."

    
risposta data 07.04.2013 - 21:59
fonte
5

Ho sentito questo chiamato "Design by Coincidence".

Breve esempio: un progetto su cui ho lavorato su documenti MS Office gestiti su un'unità di rete. Permetteva agli utenti di aprire direttamente i documenti: un bug, si supponeva che copiasse il file sul computer locale. ma ciò significava che gli utenti sarebbero stati avvisati se un altro utente avesse già aperto il documento. Questa era una caratteristica basilare di MS Office e non aveva nulla a che fare con il nostro software, ma il nostro salesforce e CEO hanno iniziato a riferirsi ad esso come una caratteristica. Quando mi è stato chiesto di replicare questa funzionalità per la versione web dell'applicazione, i gestori sono rimasti scioccati nell'apprendere che la "funzionalità" in realtà non esiste.

    
risposta data 08.04.2013 - 06:01
fonte
0

"Proprietà emergenti" è un termine corretto. Siamo andati oltre all'università, ad esempio una macchina 4x4. Il suo scopo principale è fuoristrada. Tuttavia, molte famiglie decidono di acquistare una macchina del genere perché fornisce sicurezza ai loro figli (passeggeri).

Un'altra proprietà emergente di quell'auto è il fatto che quando lasci i tuoi figli a scuola, tendono ad aprire una porta in fretta. Questo ha causato un problema separato in cui i bambini piccoli sul marciapiede sono stati colpiti dalla portiera della macchina perché non li si poteva davvero vedere in una finestra.

Il punto è che il termine si applica sia alle caratteristiche positive che a quelle meno buone. Viene anche utilizzato in una vasta gamma di settori, non solo IT.

    
risposta data 23.04.2014 - 12:37
fonte

Leggi altre domande sui tag