Skip to content
Artūras Šlajus edited this page Dec 15, 2016 · 43 revisions

This document outlines development practices and design patterns used in Tiny Lab Productions.

We use tlplib to provide a lot of data structures and utilities mentioned in this document.

This is not a bible. Discussion is welcome and encouraged. If you have better ideas and arguments to support them - we are listening. If you need clarification on something - you are welcome to ask as well.

Legend

Following notation is used throughout this wiki:

  • #foo is instance method named foo.
  • Player#foo is instance method of Player named foo.
  • .foo is static method named foo.
  • Player.foo is static method of Player named foo.

Tooling

Code Style

Principles

Data Structures

Typeclasses

Design Patterns

Various Tidbits