Code style guide

James Schloss edited this page Dec 23, 2018 · 15 revisions

Table of contents

General rules

  • Before you start working on a code example, look at other code examples in your language if possible.
  • Space things out to improve readability. Code needs room to breathe.
    • x = 3; instead of x=3;
    • int myFunction(int a, int b, int c) instead of int myFunction(int a,int b,int c){
    • for (size_t i = 0; i < n; i++) { instead of for(size_t i=0;i<n;i++){
  • Always go for readability over performance or compactness. Don't use clever shortcuts if you could express something in ways that would be easier to understand. Your code should be readable and understandable to everyone -- especially those who are new to the language!
  • You can look up indentation rules for most languages in .editorconfig if they're not mentioned here.
  • If something is not mentioned here, stick to the best practices or a common style guide for your language.
  • Remember that your code will be displayed in this book, so try to keep to around 80 columns and try to remove any visual clutter.
  • Keep variable names clean and understandable

Golang

Golang has a great tool called goimports which helps you a great deal in writing consistent and good looking code.

The Go team also released a style guide. In addition to that, they collected the most frequent style comments in code reviews

JavaScript

General

Try to write modern JavaScript code. The code examples in the Arcane Algorithm Archive don't need backwards compatibility for older browsers. Use const, let, promises, for..of, higher-level array methods and everything that you can think of. Don't hold yourself back because your code might not run in Internet Explorer 9.

Indentation

Always indent your JavaScript code with 2 spaces. The same goes for JSON.

Curly braces

Put curly braces for functions/methods and control structures on the same line.

Variable declarations

Always declare variables as const, unless you have to modify them, in which case you should declare them as let. There is no good reason to use var.

Naming conventions

Name your functions, methods, variables and properties in camelCase. Name your classes in PascalCase.

Strings

Surround strings with double quotes (").

Node or browser?

Write code that works in both, especially in Node. Use console.log() for output instead of window.alert() or modifying the DOM of a web page.

PHP

General

Coding standard is PSR-2. We prefer to use newest PHP 7 version with declare(strict_types=1) and use types in where possible.

Indentation

Always indent your PHP code with 4 spaces.

Naming conventions

Name all functions which are defined outside of classes in snake_case style. Reason for that is keep them consistent with naming of PHP core functions. On the other hand, functions defined inside classes should be defined camelCase. Variables should always be in camelCase format.

Curly braces

While using braces for functions/conditions as PSR-2 requires, it's necessary to place them on new line.

Python

The coding standard is PEP 8.

Nim

Please follow the official nim style guide.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.