Domanda

Spesso sento lamentele che linguaggi di programmazione che fanno largo uso di simboli per brevità, in particolare C e C ++ (non ho intenzione di toccare APL), sono difficili da scrivere perché richiedono un uso frequente del tasto shift. Un anno o due anni fa, mi sono stancato di me stesso, scaricato Keyboard Layout Creator Microsoft , fatto un paio di modifiche al mio layout, e non hanno guardato indietro una volta. La differenza di velocità è sorprendente; Con queste poche semplici modifiche sono in grado di scrivere codice C ++ circa il 30% più veloce, a seconda del corso su come peloso che è; meglio di tutti, la mia velocità di battitura nel testo gestione ordinaria non è compromessa.

Le mie domande sono queste: quale si alternano i layout di tastiera sono esistiti per la programmazione, che hanno guadagnato popolarità, sono nessuno di loro ancora in uso moderno, si usa personalmente qualsiasi layout alterata, e come può il mio layout essere ulteriormente ottimizzato

Ho fatto le seguenti modifiche a un layout QWERTY standard. (Io non uso Dvorak , ma c'è un programmatore Dvorak il layout degno di nota.)

  • numeri di scambio con i simboli nella fila superiore, perché i numeri letterali lunghe o ripetute sono tipicamente sostituiti con costanti denominate;
  • backquote Scambia con tilde, perché apici sono rari in molte lingue, ma distruttori sono comuni in C ++;
  • meno Scambia con sottolineatura, perché sottolineature sono comuni negli identificatori;
  • Swap ricci bretelle con parentesi quadre, perché blocchi sono più comuni di quanto indici; e
  • Scambia doppio apice con la singola citazione, perché le stringhe sono più comuni di letterali di caratteri.

Ho il sospetto che questo ultimo è destinata probabilmente ad essere il più controverso, poiché interferisce più con l'esecuzione del testo richiedendo l'uso di spostamento a digitare le contrazioni comuni. Questa disposizione ha notevolmente aumentato la mia velocità di battitura in C ++, C, Java e Perl, e un po 'aumentata in LISP e Python.

È stato utile?

Soluzione

tengo ancora che la velocità di battitura non è il fattore principale nel tempo che ci vuole per un progetto da completare. Se lo è, c'è un grosso problema (Settimane di codifica ci salva ore di programmazione).

Per quanto riguarda la tua domanda io preferisco utilizzare il layout standard in quanto significa che non c'è bisogno di spendere i primi 10 minuti cercando stupido quando sono presentati con un layout di tastiera standard.

Alcune delle sostituzioni si hanno suggerito, per esempio la riga con i caratteri speciali non fa oncia di differenza come il dito all'esterno invece dovrebbe muoversi per spostare contemporaneamente.

IMHO Una cosa che aiuta soprattutto i layout concatenamento sta usando solo i tasti di scelta rapida. Vim e Emacs sono raccomandati. Fa testo in movimento intorno molto più veloce.

Altri suggerimenti

Vorrei affrontare la tua domanda nel modo seguente. Il compito è quello di organizzare una tastiera in modo tale da ridurre al minimo i tratti chiave e movimento della mano per testo dato.

I passi verso una possibile soluzione. Fare un programma che:

  1. prende un file di testo con il codice sorgente. (Più grande è il migliore e da varie fonti!)
  2. Conta la frequenza di utilizzo di ogni simbolo (la sua presenza nel testo).
  3. (opzionale) Sulla base di fase 2: Il programma genera numero di tratti chiave per ogni simbolo più fino a che punto la mano deve andare dalla posizione centrale. Come risultato si avrà una misura di quanto sia efficace il layout della tastiera è.

Ora manualmente o scrivendo un programma Ridefinire il layout nel modo seguente. Mettere simbolo utilizzato più di frequente in una posizione centrale vicino alla vostra mano forte. Il secondo simbolo va al vostro mano debole in posizione centrale. Il terzo simbolo risale alla tua mano forte ... e così via. Poi a poco a poco ci si sposta da posizione centrale delle mani in più aree "distanti" della tastiera. Quando tutto tastiera è pieno, quindi si continua il processo di assegnazione chiavi, ma questa volta con il tasto Maiusc premuto. L'altra differenza è che non si ruotare mano forte e debole per ogni simbolo, quando lo spostamento è verso il basso. Con tasto shift verso il basso prima che si compila in posizioni centrali sulla tastiera e poi passare a posizioni più distanti.

Quando fate tutto quello che eseguire il passaggio 3 di nuovo per il nuovo layout per vedere come il layout è stato migliorato.

Potrebbe essere necessario portare la vostra tastiera con voi in ogni momento. Il lato positivo nessuno toccherà il computer. E vi farà apparire come un Pro.

Infine, non dimenticate di condividere le vostre scoperte.

sto giocando con una variante del layout Colemak in questo momento con i cambiamenti pesanti di simboli:

senza SHIFT:

`- {} []; <> () _ =
 q w f p g j l u y * / # \
un r s t d h n e i o '
z x c v b k m,. !

con SHIFT:

~ 1 2 3 4 5 6 7 8 9 0 & +
Q W F P G J L U Y @ ^ $ |
A "
R S T P A N E I O Z X C V B K M%:

Forse sarò ripristinare la chiave / ...

Ma questo non si basa su alcuna ricerca del suono, e mi piacerebbe anche vedere un layout ottimizzato (ottimizzazione tra cui cose come la mano alterazione ecc, zxcv anche la conservazione, ...), con un corpus codice sorgente basato, perché tutti questi layout sembrano essere ottimizzato solo per la prosa. Ad esempio, 'f' è una lettera molto comune in C (se, per).

Aggiornamento: Attualmente sto usando

`- {} [] @ <> () _ =
q w k r g y u l p *; #
una s f t d h n e i o '\
\ Z x c v b j m,. /

con SHIFT:

~ 1 2 3 4 5 6 7 8 9 0 ^ +
Q W K R V G U L P &! $
A S F T D H N E I O "|
| Z X C V B J M%:?

Questa si basa su un 6-key-swap ottimizzazione parziale eseguita da Carpalx con la conservazione del Taglio consueto / Copia / Incolla / Annulla scorciatoie e modificato per dare un migliore accesso ai soliti personaggi di programmazione.

fare una semplice key logger, poi contare il numero di volte in cui viene premuto ogni tasto. Eseguire per un giorno o due, quindi salvare l'output in un file di testo. Fate questo ogni volta e un po. Non importa ciò che il layout che si sta utilizzando, come si sta solo vedendo quali tasti vengono utilizzati di più.

Se si vuole fare un buon layout, non si può avere paura di andare via dalla norma. Io suggerirei di mettere le prime 11 chiavi lungo la fila di casa, poi i successivi primi 11 tasti come la riga superiore (lasciare le 2 chiavi sopra il tasto di ritorno come i tasti meno usati), poi il 3 ° top 11 tasti come la riga in basso . Non ci dovrebbero essere 4 tasti lasciati ora. Prendete quelli e metterli in - = e] \ slot. Congratulazioni! Ora avete fatto un grande layout di tastiera per i vostri scopi! = D

Nel complesso, penso che avere un buon editor di testo e sapere come usarlo è meglio che cercare di migliorare la vostra velocità di battitura. Essere in grado di registrare e riprodurre le macro a volte è un salvagente, e una selezione di frammenti di codice di scelta rapida assegnato può essere utile perché c'è normalmente limiti linguistici imposti su ciò che può essere trasformato in una libreria.

Più in generale, penso che l'esaltatori di produttività reali sono tutti di conoscenza ...

  • Conoscere ciò che sono disponibili e come usarli strumenti e librerie.
  • Conoscere la struttura complessiva del codice di cui si sta lavorando, non solo il vostro po '.
  • Conoscere algoritmi a chiave, modelli di progettazione e modi di dire in modo da non dover reinventare loro.
  • Conoscere le regole abbastanza bene che si può essere flessibili - si sa quando a rompere loro
  • .
  • Conoscere i propri collaboratori e loro punti di forza e di debolezza, ecc -. Cioè sapere quando per capire qualcosa di voi stessi, ma anche quando e chi chiedere

FWIW, io non pretendo di essere forte a tutti coloro. Sono sempre stato troppo sollecitato verso la soluzione dei problemi me stesso, e con troppo forte una tendenza verso reinventare la ruota schemi architettonici e grandi.

In ogni caso, non mi resta che questo sospetto che il tempo trascorso cambiamento e di apprendimento layout di tastiera sarebbe una distrazione dalle questioni più importanti.

La modifica del layout di tastiera è una cattiva idea in quanto sarebbe (forse) aumentare la vostra velocità di battitura su una tastiera, ma danneggiare gravemente la velocità di battitura su altre tastiere o su computer in cui non si ha il layout di tastiera speciale. Ho trovato che spesso è meglio per regolare voi stessi per le impostazioni predefinite, che dover cambiare ovunque. (Personalmente, le mie dita sono fortemente Emacs-polarizzato, che provoca un sacco di battitura attrito ovunque.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top