State-of-the-Art Shitcode Principles

Oleksii Trekhleb - Jan 28 '20 - - Dev Community

This a list of state-of-the-art shitcode principles your project should follow.

๐Ÿ’ฉ Full version of the list on GitHub

Alt Text

Get Your Badge

If your repository follows the state-of-the-art shitcode principles you may use the following "state-of-the-art shitcode" badge:

State-of-the-art Shitcode

[![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode)
Enter fullscreen mode Exit fullscreen mode

The Principles

๐Ÿ’ฉ Name variables in a way as if your code was already obfuscated

Less keystrokes, more time for you.

Good ๐Ÿ‘๐Ÿป

let a = 42;
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

let age = 42;
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Mix variable/functions naming style

Celebrate the difference.

Good ๐Ÿ‘๐Ÿป

let wWidth = 640;
let w_height = 480;
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

let windowWidth = 640;
let windowHeight = 480;
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Never write comments

No one is going to read your code anyway.

Good ๐Ÿ‘๐Ÿป

const cdr = 700;
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

// Callback function debounce rate in milliseconds.
const callbackDebounceRate = 700;
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Always write comments in your native language

If you violated the "No comments" principle then at least try to write comments in a language that is different from the language you use to write the code. If your native language is English you may violate this principle.

Good ๐Ÿ‘๐Ÿป

// ะ—ะฐะบั€ะธะฒะฐั”ะผะพ ะผะพะดะฐะปัŒะฝะต ะฒั–ะบะพะฝะตั‡ะบะพ ะฟั€ะธ ะฒะธะฝะธะบะฝะตะฝะฝั– ะฟะพะผะธะปะบะธ.
toggleModal(false);
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

// Hide modal window on error.
toggleModal(false);
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Try to mix formatting style as much as possible

Celebrate the difference.

Good ๐Ÿ‘๐Ÿป

let i = ['tomato', 'onion', 'mushrooms'];
let d = [ "ketchup", "mayonnaise" ];
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

let ingredients = ['tomato', 'onion', 'mushrooms'];
let dressings = ['ketchup', 'mayonnaise'];
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Put as much code as possible into one line

Good ๐Ÿ‘๐Ÿป

document.location.search.replace(/(^\?)/,'').split('&').reduce(function(o,n){n=n.split('=');o[n[0]]=n[1];return o},{})
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

document.location.search
  .replace(/(^\?)/, '')
  .split('&')
  .reduce((searchParams, keyValuePair) => {
    keyValuePair = keyValuePair.split('=');
    searchParams[keyValuePair[0]] = keyValuePair[1];
    return searchParams;
  },
  {}
)
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Fail silently

Whenever you catch an error it is not necessary for anyone to know about it. No logs, no error modals, chill.

Good ๐Ÿ‘๐Ÿป

try {
  // Something unpredictable.
} catch (error) {
  // tss... ๐Ÿคซ
}
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

try {
  // Something unpredictable.
} catch (error) {
  setErrorMessage(error.message);
  // and/or
  logError(error);
}
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Do not lock your dependencies

Update your dependencies on each new installation in uncontrolled way. Why stick to the past, let's use the cutting edge libraries versions.

Good ๐Ÿ‘๐Ÿป

$ ls -la

package.json
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

$ ls -la

package.json
package-lock.json
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Triangle principle

Be like a bird - nest, nest, nest.

Good ๐Ÿ‘๐Ÿป

function someFunction() {
  if (condition1) {
    if (condition2) {
      asyncFunction(params, (result) => {
        if (result) {
          for (;;) {
            if (condition3) {
            }
          }
        }
      })
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Bad ๐Ÿ‘Ž๐Ÿป

function someFunction() {
  if (!condition1 || !condition2) {
    return;
  }

  const result = await asyncFunction(params);
  if (!result) {
    return;
  }

  for (;;) {
    if (condition3) {
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

๐Ÿ’ฉ Avoid covering your code with tests

This is a duplicate and unnecessary amount of work.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player