Quali sono le metafore appropriate per i pezzi di un word processor? [chiuso]

2

Un word processor è una creatura complicata di molti strati e pezzi, ma rappresenta un concetto relativamente semplice: un pezzo di carta con la scritta su di esso. Questo porta al problema di avere molte astrazioni senza un numero sufficiente di nomi intuitivi per descrivere queste astrazioni. Non tutto può essere un documento. La soluzione a questo tipo di problema è in genere la ricerca di potenti metafore che semplificano la vita.

Ecco alcune delle astrazioni per un documento che richiedono nomi intuitivi:

  1. La struttura dati che suddivide il testo normale in elementi significativi come capitoli, sezioni, titoli e vari tipi di enfasi. Questo è il documento più astratto perché evita tutte le informazioni di rendering come font, colori, sottolineature o allineamenti.
  2. La struttura dati che fornisce testo con informazioni di rendering come font, colori, dimensioni, allineamenti. Questo rappresenta anche un documento, ma a un livello più vicino alla pagina stampata. Probabilmente utilizza un'istanza del primo tipo di documento per aiutare a generare il contenuto.
  3. La struttura dati che dispone i glifi in linee di testo. Questo documento può contenere il numero di un paragrafo desiderato, una posizione all'interno di quel paragrafo e una larghezza massima in pixel, e produce una struttura dati che rappresenta una riga di testo pronta per essere disegnata. È opportuno basare l'astrazione di questo documento su un'istanza dell'astrazione del documento precedente poiché entrambi rappresentano documenti in diverse fasi del processo di rendering.
  4. La struttura finale dei dati memorizza le righe di testo nelle loro posizioni relative sullo schermo o sulla pagina. È in grado di disegnare un'intera schermata di testo, inserire figure e creare colonne. Conosce quale parte del documento è attualmente visibile, gestisce lo scorrimento o la divisione del documento in pagine per la stampa. L'astrazione di questo documento è la più vicina alla carta, ma è ciò che rende più degno di essere chiamato documento, oppure il livello più astratto è il vero documento poiché è ciò che l'utente sta veramente modificando?

Tutti e quattro i concetti sono documenti a modo loro, ma non posso chiamarli tutti i documenti; quello sarebbe confusionario. Qual è la metafora corretta da usare qui? Qualcosa che riflette intuitivamente la complessità del compito meglio di un documento?

Oltre a tutto ciò, ci sono tre diversi modi per rappresentare una posizione all'interno di un paragrafo.

  1. Misurato in caratteri dall'inizio del paragrafo
  2. Misurato come un numero di riga che inizia dalla prima riga del paragrafo e quindi misurato in caratteri dall'inizio della riga
  3. Misurato in pixel quando il paragrafo viene visualizzato sullo schermo

Queste tre rappresentazioni sono tutte posizioni, ma le cose diventano confuse se le chiamo tutte le posizioni. Ho bisogno di un modo semplice per distinguerli, qualcosa che si adatta bene alla metafora migliorata che userò per distinguere i quattro tipi di documento.

Ho esaminato la tipografia alla ricerca di buone metafore, ma niente mi salta fuori.

Ho anche considerato una metafora nella costruzione di un edificio. Il primo tipo di documento potrebbe essere un progetto, il secondo tipo potrebbe essere una Fondazione. Sfortunatamente il n. 3 e il n. 4 non sono chiari, e non sembra essere d'aiuto con il problema delle posizioni dei paragrafi.

    
posta Geo 08.09.2013 - 07:47
fonte

2 risposte

2

it represents a relatively simple concept: a piece of paper with writing on it.

Quello sarebbe un editor di testo. Un elaboratore di testi è un editor di testo con varie estensioni per facilitare l'attività di scrittura. È più simile al vecchio staff di un giornale o forse a un segretario di un documento che a un semplice pezzo di carta.

Nome Suggerimenti per le fasi di un documento dell'elaboratore di testi

  1. Documento (o "SavedDocument" o "UserDocument") è la struttura dati principale, che è ciò che si salva sul disco. Contiene il testo principale, le interruzioni di capitolo / sottocapitolo, eventuali marcatori di indice, stili di enfasi, note a piè di pagina e qualsiasi altra cosa che l'utente potrebbe dichiarare intenzionalmente. Questo può includere una formattazione specifica, oltre agli stili, ma solo se specificata dall'utente.

  2. StyledDocument è un documento con le sue informazioni salvate espanse in base a StyleTemplate , in dimensioni di pagina specifiche, caratteri, colori, allineamenti e altre informazioni.

  3. TypesetDocument è un StyledDocument con tutti i caratteri tradotti nei glifi necessari e così via, ma senza elaborazione finale che può variare in base alla sua forma uscita.

  4. RenderedDocument è un TypeSetDocument con i passaggi finali necessari per l'output su un supporto finale, sia esso carta o schermo.

Suggerimenti per il nome per la posizione all'interno di un intervallo:

(Non vuoi nomi completamente diversi in base alla tua origine, vero? Un documento, un paragrafo o una selezione all'interno di un paragrafo possono avere posizioni distinte ...)

  1. naturalPosition : numero di caratteri dall'inizio del paragrafo, indipendentemente dalle linee.
  2. wrappedPosition : numero di righe all'interno di un pararaph e numero di caratteri dall'inizio di una riga.
  3. renderedPosition : coordinate numeriche X, Y basate sul dispositivo di rendering finale, sia esso pixel o meno.

Un'altra cosa

Per favore, ascolta il mio appello, a nome di tutti coloro che possono venire dopo di te, per scegliere i tuoi nomi e metafore in anticipo, e se possibile mantenerli coerenti dai tuoi diagrammi iniziali attraverso i nomi delle classi e delle proprietà e fino a la tua interfaccia utente. Se trovi nomi e metafore prive di quest'ultimo, prenditi il tempo di rifattorizzarli in modo da mantenere il tuo codice il più intuitivo e autodocumentante possibile.

Se prendi i miei nomi per il primo suggerimento, probabilmente dovresti finire con uno "ScreenTypesetDocument" e un "ScreenRenderedDocument", con corrispondenti "PrinterTypesetDocument" e "PrinterRenderedDocument" per quando qualcuno vuole stampare qualcosa. Ma se decidi che "Rendered" è la parola sbagliata e vuoi che sia "Drawn", assicurati di rinominare tutte e tre le classi e non solo l'abstract "RenderedDocument".

    
risposta data 08.09.2013 - 23:25
fonte
1

Non è esatto, ma la cosa migliore che posso riguardare è:

  1. Parti di documenti e documenti.
  2. Attributi di testo
  3. Linee di testo
  4. Attributi dei caratteri

Secondo set:

  1. indentazione di caratteri
  2. posizione come coordinata x, y
  3. indent pixel
risposta data 08.09.2013 - 14:16
fonte