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 LanguageCanonical Package Manager
Javascriptnpm
Typescriptnpm
Pythonpip
JavaMaven, Gradle
C#NuGet
PHPComposer
GoGo 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 LanguageCanonical Formatter
JavascriptPrettier
TypescriptPrettier
PythonBlack
JavaGoogle Java Format
C#dotnet format
PHPPHP-CS-Fixer
GoGoimports

Linters

Programming LanguageCanonical Linter
JavascriptESLint
TypescriptESLint
PythonPylint
JavaCheckstyle
C#StyleCop
PHPPHP_CodeSniffer
GoGolangCI-Lint
Markdownmarkdownlint

Summary

Exercises

Extra Resources