Tools
Code Editors and IDEs
You can use VSCode as your IDE. It is a good IDE for Javascript and Node.js development. Vscode has a lot of plugins
that you can use. For instance, you can use Prettier
plugin to format your code. You can use ESLint
plugin to check
your code quality. You can use GitLens
plugin to see git history.
Visual studio supports sharing your IDE settings across different machines. You can use .vscode
folder to store your
settings. You can put your settings in settings.json
file. You can put your tasks in tasks.json
file. These are
files are very imprtant because working in projects with different settings can be a problem. So, you need to keep your
settings in version control. (Described in the next section)
Markdown
You will write your documentation in markdown format. Markdown is a lightweight markup language with plain text formatting syntax. It is designed so that it can be converted to HTML and many other formats using a tool. Markdown is often used to format README files, for writing messages in online discussion forums, and to create rich text using a plain text editor. You can check markdown format from here.
Package Managers
What is package manager? Package manager constraints Lock files Workspaces Monorepos
Programming Language | Canonical Package Manager |
---|---|
Javascript | npm |
Typescript | npm |
Python | pip |
Java | Maven, Gradle |
C# | NuGet |
PHP | Composer |
Go | Go Modules |
Formatters
A code can be seen unclear if it is not formatted correctly. Formatting covers spaces, tabs, new lines, semicolons etc. A code formatter is a tool that automatically formats your code. Formatting means changing the code style. For instance, you can use a code formatter to change
- all double quotes to single quotes
- all tabs to spaces
- all semicolons to no semicolons
or any other code style. A code formatter is a tool that you can use to format your code. It is a good practice to use a code formatter. It will help you to keep your code clean. However, please do not forget that you need to setup your code formatter correctly. Also, different code formatting rules across different projects can be a problem. So, you need to add a configuration file to your project in order to keep your code style consistent. Also, configuration file should be under version control. So, all developers can use the same code style.
Programming Language | Canonical Formatter |
---|---|
Javascript | Prettier |
Typescript | Prettier |
Python | Black |
Java | Google Java Format |
C# | dotnet format |
PHP | PHP-CS-Fixer |
Go | Goimports |
Linters
Programming Language | Canonical Linter |
---|---|
Javascript | ESLint |
Typescript | ESLint |
Python | Pylint |
Java | Checkstyle |
C# | StyleCop |
PHP | PHP_CodeSniffer |
Go | GolangCI-Lint |
Markdown | markdownlint |