retypeproject.com typing trainer for opensource
Code writing requires a special kind of typing skill, a bit different from regular text typing. To get comfortable and fast in coding it's important to practice the special characters flow of symbols like brackets, semicolons, math operators, and others. Typos and mistakes can significantly interrupt the working process which decreases both dev speed and dev experience.
A great way to achieve good results in training code patterns is by retyping real-life code examples. With typing trainer like that, you can learn to write code faster mastering your keyboarding technique. Great code-typing skills offer more freedom in creating your projects without paying attention cost to complex patterns of code syntax.
(url for example below: https://retypeproject.com/TheAlgorithms/C/blob/master/leetcode/src/1.c)
Use "Retype Project" to exercise any open source code file from the largest repository in the world! Python, Javascript, PHP, C, C++, Java — all top programming languages. Add "rt" text after the "github" domain name before ".com" to get github file as a code typing training session.
Or use bookmarklet to easy switch between github and retype:
javascript:(() => {let l = window.location; let h = l.host; let c = l.href; let rt = 'retypeproject.com'; let g = 'github.com';
l.href = h == rt ? c.replace(rt, g) : h == g ? c.replace(g, rt) : 'https://' + rt})();
The world has plenty of different code syntax, interfaces, special frameworks and sometimes you need to quickly switch gears between something like python's NumPy and javascript's React.
Just a couple of exercises per day/week will help you to quickly adapt to a new programing language, interface, or framework pattern.
Example: i am rarely writing SQL queries by hand but i don't want to forget how to write complex JOINs constructions, so as part of my typing training routine from time to time i write several SQL commands just to refresh my memory.
- HowProgrammingWorks/Socket/blob/master/JavaScript/1-tcp-server.js
- TheAlgorithms/C/blob/master/leetcode/src/1.c
- TheAlgorithms/Java/blob/master/src/main/java/com/thealgorithms/sorts/SlowSort.java
- TheAlgorithms/Julia/blob/main/src/knapsack/dynamic_programming.jl
- TheAlgorithms/Go/blob/master/dynamic/fibonacci.go
- facebook/react/blob/main/packages/react-dom/src/client/ReactDOMHostConfig.js
- numpy/numpy/blob/main/numpy/typing/_array_like.py
- TheAlgorithms/PHP/blob/master/String/EditDistance.php
- AppFlowy-IO/AppFlowy-Server/blob/main/services/http_server/src/main.rs
- TheAlgorithms/Rust/blob/master/src/general/hanoi.rs
- Viktor286/code-samples/blob/master/src/Engineering/Types.ts
- Viktor286/code-samples/blob/master/src/Engineering/Combinatorics/Permutations_Lexicg_Order.ts
- TheAlgorithms/Javascript/blob/master/Sorts/GnomeSort.js
- TheAlgorithms/Javascript/blob/master/Sorts/InsertionSort.js
- Viktor286/code-samples/blob/master/src/Engineering/BinaryTrees/02_PreOrder_Iterative.ts
- TheAlgorithms/Javascript/blob/master/Sorts/BucketSort.js
- TheAlgorithms/Python/blob/master/cellular_automata/game_of_life.py
- trekhleb/javascript-algorithms/blob/master/src/data-structures/queue/Queue.js
- megadose/holehe/blob/master/holehe/instruments.py
Github is awesome community to discover new ideas, people, approaches, trends. Don't forget to checkout trending repos and developers out there.
Make your training program as the collection of files in your GitHub repository and have your own custom coding exercise set. If you're logged in then you can have access to unlicensed files from your repository.
If you are new to typing and if you want to learn how to increase your level of touch typing, there are several great resources to start with: one, two, three.
Install dependencies:
npm install
Run the project:
npm start