J'entends souvent des plaintes selon lesquelles les langages de programmation qui utilisent beaucoup les symboles pour la brièveté, notamment C et C ++ (je ne vais pas toucher APL), sont difficiles à taper car ils nécessitent une utilisation fréquente de la touche Maj. Il y a un an ou deux, j'en ai eu marre moi-même, j'ai téléchargé le créateur de disposition de clavier de Microsoft, j'ai apporté quelques modifications à ma mise en page et je n'ai pas regardé une seule fois en arrière. La différence de vitesse est stupéfiante; avec ces quelques changements simples, je suis capable de taper du code C ++ environ 30% plus rapidement, en fonction bien sûr de la façon dont il est velu; le meilleur de tous, ma vitesse de frappe dans le texte courant n'est pas compromise.
Mes questions sont les suivantes: quelles autres dispositions de clavier ont existé pour la programmation, qui ont gagné en popularité, certaines d'entre elles sont-elles encore utilisées de façon moderne, utilisez-vous personnellement une disposition modifiée et comment ma disposition peut-elle être encore optimisée?
J'ai apporté les modifications suivantes à une disposition QWERTY standard. (Je n'utilise pas Dvorak , mais il y a une mise en page de programmeur Dvorak qui mérite d'être mentionnée.)
- Permutez les nombres avec des symboles dans la rangée du haut, car les nombres littéraux longs ou répétés sont généralement remplacés par des constantes nommées;
- Swap backquote avec tilde, car les backquotes sont rares dans de nombreux langages mais les destructeurs sont communs en C ++;
- Échangez moins avec un trait de soulignement, car les traits de soulignement sont courants dans les identificateurs
- Remplacez les accolades par des crochets, car les blocs sont plus courants que les indices; et
- Permutez les guillemets doubles avec des guillemets simples, car les chaînes sont plus courantes que les littéraux de caractères.
Je soupçonne que ce dernier sera probablement le plus controversé, car il interfère le plus avec le texte en cours d'exécution en nécessitant l'utilisation de shift pour taper les contractions courantes. Cette disposition a considérablement augmenté ma vitesse de frappe en C ++, C, Java et Perl, et l'a quelque peu augmentée en LISP et Python.
la source
Réponses:
Je maintiens toujours que la vitesse de frappe n'est pas le facteur principal du temps nécessaire à la réalisation d'un projet. Si c'est le cas, il y a un gros problème (des semaines de codage nous font gagner des heures de planification).
En ce qui concerne votre question, je préfère utiliser la disposition standard car cela signifie que je n'ai pas à passer les 10 premières minutes à avoir l'air stupide lorsqu'on me présente une disposition de clavier standard.
Certains des remplacements que vous avez suggérés, par exemple, la rangée du haut avec les caractères spéciaux ne font pas une once de différence car le doigt extérieur de l'autre côté devrait bouger pour se déplacer en même temps.
IMHO Une chose qui aide au-dessus des mises en page de chaînage utilise uniquement des raccourcis clavier. Vim et Emacs sont recommandés. Cela accélère le déplacement du texte.
la source
J'aborderais votre question de la manière suivante. La tâche consiste à organiser un clavier de manière à minimiser les touches et les mouvements de la main pour un texte donné.
Étapes vers une solution possible. Créez un programme qui:
Maintenant manuellement ou en écrivant un programme Redéfinissez votre mise en page de la manière suivante. Placez le symbole le plus fréquemment utilisé dans une position centrale plus près de votre main forte. Le deuxième symbole va à votre main faible en position centrale. Le troisième symbole renvoie à votre main forte ... et ainsi de suite. Ensuite, vous passez progressivement de la position centrale des mains à des zones plus «éloignées» du clavier. Lorsque tout le clavier est plein, vous continuez le processus d'attribution des touches, mais cette fois avec la touche Shift enfoncée. L'autre différence serait que vous ne faites pas pivoter la main forte et faible pour chaque symbole lorsque le décalage est vers le bas. Avec la touche Maj vers le bas, vous remplissez d'abord les positions centrales du clavier, puis vous vous déplacez vers des positions plus éloignées.
Lorsque vous faites tout cela, effectuez à nouveau l'étape 3 pour la nouvelle mise en page pour voir comment la mise en page a été améliorée.
Il se peut que vous deviez toujours avoir votre clavier sur vous. Du bon côté, personne ne touchera votre ordinateur. Cela vous fera ressembler à un pro.
Enfin, n'oubliez pas de partager vos découvertes.
la source
Je joue avec une variante de la mise en page Colemak pour le moment avec de gros changements de symboles:
sans SHIFT:
`- {} []; <> () _ =
qwfpgjluy * / # \
arstdhneio '
zxcvbkm,. !
avec SHIFT:
~ 1 2 3 4 5 6 7 8 9 0 & +
QWFPGJLUY @ ^ $ |
ARSTDHNEIO "
ZXCVBKM%:?
Je vais peut-être restaurer la clé / ...
Mais cela n'est basé sur aucune recherche sonore, et j'aimerais aussi voir une mise en page optimisée (optimisation comprenant des éléments comme l'altération de la main, etc., également la préservation de ZXCV, ...) avec un corpus basé sur un code source, car toutes ces mises en page semblent être optimisé pour la prose uniquement. Par exemple, «f» est une lettre très courante en C (si, pour).
Mise à jour: j'utilise actuellement
`- {} [] @ <> () _ =
qwkrgyulp *; #
asftdhneio '\
\ zxcvbjm,. /
avec SHIFT:
~ 1 2 3 4 5 6 7 8 9 0 ^ +
QWKRGYULP &! $
ASFTDHNEIO "|
| ZXCVBJM%:?
Ceci est basé sur une optimisation partielle d'échange de 6 touches tirée de Carpalx avec la préservation des raccourcis habituels Couper / Copier / Coller / Annuler et modifiée pour donner un meilleur accès aux caractères de programmation habituels.
la source
Créez un simple enregistreur de touches, puis comptez le nombre de fois que chaque touche est enfoncée. Exécutez-le pendant un jour ou deux, puis enregistrez la sortie dans un fichier texte. Faites cela de temps en temps. Peu importe la disposition que vous utilisez, car vous voyez simplement quelles touches sont les plus utilisées.
Si vous voulez faire une bonne mise en page, vous ne pouvez pas avoir peur de vous éloigner de la norme. Je suggérerais de placer les 11 clés du haut le long de la ligne d'accueil, puis les 11 premières clés suivantes comme rangée du haut (laissez les 2 clés au-dessus de la clé de retour comme les clés les moins utilisées), puis les 3ème 11 clés du haut comme la rangée du bas . Il devrait rester 4 clés maintenant. Prenez-les et placez-les dans les emplacements - = et] \. Félicitations! Vous avez maintenant créé une excellente disposition de clavier pour vos besoins! = D
la source
Dans l'ensemble, je pense qu'il vaut mieux avoir un bon éditeur de texte et savoir comment l'utiliser que d'essayer d'améliorer votre vitesse de frappe. Être capable d'enregistrer et de rejouer des macros est parfois une bouée de sauvetage, et une sélection d'extraits de code attribués à un raccourci peut être pratique car il y a normalement des limites imposées par la langue à ce qui peut être transformé en bibliothèque.
Plus généralement, je pense que les véritables améliorateurs de productivité sont tous liés à la connaissance ...
FWIW, je ne prétends pas être fort sur tous ceux-là. J'ai toujours été trop partial pour résoudre moi-même les problèmes et avec une tendance trop forte à réinventer la roue et les grands projets architecturaux.
Quoi qu'il en soit, je soupçonne juste que le temps passé à changer et à apprendre les dispositions de clavier serait une distraction par rapport à des problèmes plus importants.
la source
Changer la disposition du clavier est une mauvaise idée car cela augmenterait (peut-être) votre vitesse de frappe sur un clavier, mais endommagerait gravement votre vitesse de frappe sur d'autres claviers ou sur des ordinateurs où vous n'avez pas votre disposition de clavier spéciale. J'ai trouvé qu'il est souvent préférable de s'ajuster aux valeurs par défaut, que de devoir les changer partout. (Personnellement, mes doigts sont fortement biaisés par Emacs, ce qui provoque beaucoup de friction de frappe partout ailleurs.)
la source