Si bien una gran parte de crear Software consiste más en un proceso logico o en pensar (Algoritmos, Diseño de sistemas, Logica), en la practica este tambien conlleva que hagamos un proceso mecanico, que es la acción escribir código en el teclado y ver la pantalla.
Así que como en un video anterior ya hemos hablado de como mejorar en programacón (es decir la parte Logica).
En este video hablaré de la otra parte que es como llegar a escribir código más rapido. Esto con el enfoque de aprovechar mucho más tiempo en otras cosas y no pasar tanto tiempo en hacer tareas repetitivas o almenos disminuir el tiempo de estas.
Y denuevo voy a mencionar aqui, al igual que en el otro articulo, que estos consejos no son para iniciantes que recien estan empezando a concer su primer lenguaje o recien inician (así que si tienes dificultad al escribir código esta el otro video de ese tema) sino para desarrolladores que quizas ya llevan un par de años minimo escribiendo código y quieren aumentar su productividad. Tambien notese que no digo programar sino escribir código para que se note la diferencia.
Si tienes prisa, estos son los puntos principales:
- Aprende a escribir productivamente
- Usa Atajos para todo
- Software de autocompletado
1. Practica la escritura rápida en el teclado
El consejo más obvio para escribir código más rapido es empezar a practicar tu velocidad de tipeo. Y No es que tengas que escribir extremadamente rapido, sino que debes mejorar esto progresivamente.
Para poder lograr esto puedes hacer uso de programas o sitios web que te ayuden a practicar. Sino quieres instalar nada puedes usar sitios web de mecanografia como:
o tambien hay aplicaciones de escritorio:
Aunque en lo personal prefiero las aplicaciones de consola, al no necesitar de mucho espacio y ser rapidas, aqui por ejemplo recomendaria programas como:
- ttyper que esta escrito en Rust
- tt escrio en Go
- GNU Typist
- WPM
Y esto no es que lo vayas a hacer toda tu vida, porque en realidad con que lo practiques un par de meses, dandole unos 15 a 20 de forma frecuente en una semana, puedes ver mejoras significativas que dificilmente se iran si te dedicas a ser desarrollador.
La velocidad de tipeo tipicamente se mide en palabras por minuto WPM (Words per minutes). Estos programas mencionados te dicen tu WPM. Un rango aceptable para un programar en lo personal yo diria que esta entre los 60 a 90 WPM.
Ademas como idealmente tambien pasaras tiempo desarollando proyectos, esto te ayudara a mejorar indirectamente.
Y relacionado con lo anterior, Si eres de los que mira el teclado, escribe y leugo ve la pantalla para revisar, esta es una perdida de segundos que puedes evitar tambien, practicando con las web anteriores. Así que evita ver el teclado y trata de ver solo la pantalla, esto tambien te ayudara a reducir errores de tipeo cuando escriba.
muchas veces veo iniciantes que escriben mal algunos caracteres de variables, funciones, importanciones:
func nameOfVariable() {} // right
func nameOfVAriable() {} // wrong
y a veces es por minusculas, caracteres erroneos pero que se paraecen,
func nameOfVariable() {} // right
func nameOfVoriable() {} // wrong
que dan erroes y quitan tiempo al tener que debuggear, y mas en lenguajes interpretados, cosa que se puede evitar si se ve la pantalla al momento de escribirlo.
3. Atajos para todo
Cuando desarrolles es muy comun que llegues a usar distintos programas como Navegadores, IDEs, editores de codigo, terminales, y asi.
Y Cada programa de hoy en dia cuenta con combinaciones de teclas o atajos que te pueden ayudar a usarlo más rapido, esto en los editor de codigo o IDE son muchos más utiles, porque te permiten navegar entre archivos, crear archivos, refactorizar codigo, ir a porciones de codigo, y asi.
si te los aprendes puedes ahorrar muchos segundos, de estar usando el mouse, o navegando en la interfaz para encontrar la opcion.
En mi caso por ejemplo uso muchos atajos en el navegador de Chrome (o similares como Brave, Chromiun, Chrome canary), Visual Studio Code, los IDEs de Jetbrains, los atajos sistemas de Linux, Windows, terminales y Vim.
Asi que trata de notar que programas usas mas y identifica tus tareas mas repetitivas y ver si puedes hacerlo solo con el teclado, y aprendelo.
De hecho esta es la idea de editores como VIm, que te permite escribir usar puros atajos. incluso yo lo uso para navegar en la web con exteniones como Vimium, que me evitan de usar el mouse.
unque de nuevo cualquier progama tiene atajos, e incluso webs como Gmail, youtube, github tienen atajos personalizos tambien.
4. Usa un software de autocompletado
Relacionado con el editor o IDE, actualmente tambien es muy comun usar software de autocompletado para tu editor. Puedes uar extensiones como GIthub copilot, o Tabnine las cuales leen el codigo de tu proyecto; y con inteligencia artificil te permiten completar bloques enteros de código como si tu mismo lo hubieras escrito.
es decir como tener el Chat-GPT en tu codigo, de hecho estan creados por la misma empresa (OpenAI).
Esto te evitara abrir un navegador y buscar en stackoverflow en gran parte.
Ademas que en combinacion con los Snippets de codigo que puedes obtener con extensiones puedes escribir mucho más rapido.
Y con la misma idea, si tambien usar mucho la terminal con comandos, puedes usar shells o programas como zsh, fish, ohmyosh, que te ofrecen autocompletado de comandos.
tambien tienes los Git alias
Conclusión
En fin La velocidad de tipeo, y creacion de codigo en general es un factor importante en la productividad de un programador, ya que una tasa de tipeo más rápida permite escribir código más rápidamente y reducir el tiempo de desarrollo. Sin embargo, es importante tener en cuenta que la velocidad de tipeo no es el único factor en la eficiencia de un programador.
Asi que de nuevo no dediques todo tu tiempo a escribir rapido, sino a mejorarlo progresivamente.
Ya que de nada te servira escribir rapido sino sabes que escribir. Asi que en lo personal diria un 80% de tu tiempo de estudio dedicalo a programar y un 20% a mejorar en escritura, luego con el pasar del tiempo ese 20% se convertira en 0 probablemente, pero ya tendras esta habilidad.